How to create VistaPE with PGP WDE and Wireless Networking Drivers

The PGP WDE section of this post is copied from the excellent guide at, I’m recreating it in case that page ever disappears:

How to create a VistaPE ISO using WinBuilder:

Wireless Networking in VistaPE:

To enable wireless networking to work use WinBuilder, add and edit the plugin for PENetworkManager. Download and extract the wireless drivers required by the the hardware and link to them as additional drivers in the plugin configuration:

When booting into VistaPE wait for the hardware detection to complete before launching PENetworkManager, you should then be able to configure the wireless adapter and connect to wireless networks.

Integrating PGP drivers into a VistaPE ISO

If you have ever tried to use a boot disk to run an anti-virus or malware scan on computer running PGP encryption, you have seen it is not an easy thing to do. The boot disk will likely report the PGP encrypted drive as unformatted.

To get around this, we are going to integrate the PGP drivers into our VistaPE ISO so we can burn it to disk or put it on a USB stick. This is an add-on to the previous How-To “Creating a VistaPE boot disk / ISO” located here


– Completed creating a VistaPE boot disk / ISO –
– Installed version of PGP
– Download and install WAIK if you have not already done so –
– Password to unlock the PGP encrypted disk.


Step 1

Go to PGP website and download the proper PE Plug-in for your version of PGP.
Note: It is important to use the SAME version that your area uses otherwise you may not be able gain access to, and may even corrupt your encrypted volumes.


Step 2

Create a folder called WDE on the root of your C: drive – (C:\WDE). In this folder, place the following files from your local install of PGP.

c:\Program Files\PGP Corporation\PGP Desktop\pgpbootb.bin
c\Program Files\PGP Corporation\PGP Desktop\pgpbootg.bin
c:\Program Files\PGP Corporation\PGP Desktop\PGPwde.exe
c:\Program Files\PGP Corporation\PGP Desktop\Stage1 :note Stage1 is the file name with no extension;


Step 3

Create a folder called PGP on the root of your C: drive – (C:\PGP).
Extract the files you downloaded in step one. You’ll probably have to extract a resulting zip file (they encapsulate it in another zip file within the original zip file). Finally, you will get the real two files that we want, pgppe.exe and pgpstart.exe. Put these two files in the folder C:\PGP


Step 4

Open a command prompt and go to c:\program files\Windows AIK\Tools\PETools and run the following command. Replace the first x86 with your system architecture (amd64, IA64, x86).

copype.cmd x86 c:\winpe_x86\

Note: VistaPE can be built on a x64 machine but only VistaPE 32-bit and not VistaPE 64-bit can be built right now.


Step 5

Create a batch file called injectpgp.bat and put it in the Winbuilder076 folder. The contents follow:

cd \
cd pgp
REM Fix path below too
move c:\Winbuilder076\target\vistape-core\vistape.wim c:\winpe_x86\winpe.wim
pgppe /winpe c:\winpe_x86\ c:\wde
REM Fix path below too
move c:\winpe_x86\winpe.wim c:\Winbuilder076\target\vistape-core\vistape.wim
cd \Winbuilder076\

Note: If your paths are different you will have to fix the file to match your paths. Replace Winbuidler076\ with your own path. If successful you should see something similar to below. Where the WDE driver and tools have been installed into winpe.


Step 6

Now back in WinBuilder goto the section under Finalize called “Create ISO/CD/USB” Click the Create a new ISO file (since the VistaPE.WIM file has now just been updated with the new version). This is basically to repackage the ISO since vistape.wim has been injected with the pgp plugin.


Step 7

The ISO will be in your Winbuilder\ISO folder. You can burn this ISO to a CD or follow the directions here to but the ISO onto a USB stick.


Step 8

Once booted into VistaPE now PGPWDE should work from the command line. Hit the Start Button then click Run then put in cmd.exe and hit ok.
Below are the PGPWDE commands that can be run from the command line to mount a PGP encrypted HD. Enum is to enumerate list the available drives. Status will tell you if the drive is PGP enabled/encrypted. In the Auth line replace xxxx with your passphrase to mount the drive. Note: Those are double dashes in the command switches except the -p “xxxx” which is a single dash.

pgpwde –enum
pgpwde –disk 0 –status
pgpwde –disk 0 –auth -p “xxxx”
pgpwde –h


Send Mailbox Usage Figures by Email in Exchange 2007

I need to monitor the mailbox sizes of several group mailboxes in my Exchange 2007 environment, here’s a script that automates the process of sending out the mailbox sizes. Disk space is an issue on this server so the script also shows which mailboxes are taking up space because of the deleted items retention policy.

C:\WINDOWS\system32\WINDOW~2\v1.0\powershell.exe -PSConsoleFile “C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1” -Command “C:\SendStats\sendstats.ps1”

Contents of sendstats.ps1:

###Send mailbox statistics script

###First, the administrator must change the mail message values in this section
$FromAddress = “”
$ToAddress = “”
$MessageSubject = “Mailbox Size Report”
$MessageBody = “Attached is the current list of mailbox sizes and the retention dumpster sizes.”
$SendingServer = “”

###Now get the mailbox size stats and store in a text file
Get-MailboxStatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label=”TotalItemSize(MB)”;expression={$_.TotalItemSize.Value.ToMB()}},ItemCount > mailbox_sizes.txt

###Get the Retained Item Sizes (Dumpster) and store in a 2nd text file
Get-MailboxStatistics | Sort-Object TotalDeletedItemSize -Descending | ft DisplayName,DeletedItemCount,@{label=”TotalDeletedItemSize(MB)”;expression={$_.TotalDeletedItemSize.Value.ToMB()}} > mailbox_retention_size.txt

###Create the mail message and add the statistics text file as an attachment
$SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress,
$MessageSubject, $MessageBody
$Attachment1 = New-Object Net.Mail.Attachment(“c:\sendstats\mailbox_sizes.txt”)
$Attachment2 = New-Object Net.Mail.Attachment(“c:\sendstats\mailbox_retention_size.txt”)

###Send the message
$SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer

Creating a Public Unattended Calendar in Exchange 2007

Creating and sharing a calendar in Exchange 2007 is the easy part, but allowing meetings to be created and automatically accepted requires the use of  the Exchange Powershell (where ResourceName is the name of the mailbox holding the calendar):

Set-MailboxCalendarSettings “ResourceName” -AutomateProcessing:Autoaccept

This will create the meetings when an appointment email is sent to the mailbox, but the titles of them will be blank. The subject of the email can be used instead:

Set-MailboxCalendarSettings “ResourceName” -DeleteSubject:$False

Finally assigning Full Access Permissions to the mailbox will allow users to view it without first creating a calendar entry, the same group of users will also be able to edit the entries. If it’s a calendar for everyone to use then assign the Everyone group full access.