Powershell Script: ActiveSync Properties

2 04 2010

activesync-logo

Our good friend StevieMac over at The Scripting Guy wrote a nice powershell script that allows Exchange Administrators to view the ActiveSync properties of a user’s mailbox in a nice looking GUI window:

activesync1

function GenerateForm {

########################################################################

# Generated On: 12/22/2008 4:04 PM

# Generated By: StevieMac@thescriptingguy.com

########################################################################

Function getInfo()

{

Get-ActiveSyncDeviceStatistics -Mailbox $txtQNumber.text -ShowRecoveryPassword:$true | ForEach-Object{

if ($_.DeviceID -ne $null){$txtDeviceID.text = $_.DeviceID}

if ($_.FirstSyncTime -ne $null){$txtFirstSyncTime.text = $_.FirstSyncTime}

if ($_.DeviceModel -ne $null){$txtModel.text = $_.DeviceModel}

if ($_.DeviceIMEI -ne $null){$txtIMEI.text = $_.DeviceIMEI}

if ($_.LastPolicyUpdateTime -ne $null){$txtLastPolicyUpdate.text = $_.LastPolicyUpdateTime}

if ($_.LastSyncAttemptTime -ne $null){$txtLastSyncAttempt.text = $_.LastSyncAttemptTime}

if ($_.LastSuccessSync -ne $null){$txtLastSuccessfulSync.text = $_.LastSuccessSync}

if ($_.DevicePhoneNumber -ne $null){$txtPhoneNumber.text = $_.DevicePhoneNumber}

if ($_.DeviceOS -ne $null){$txtDeviceOS.text = $_.DeviceOS}

if ($_.RecoveryPassword -eq $null){$txtRecoveryPassword.text = 'No Password Set'}

if ($_.RecoveryPassword -ne $null){$txtRecoveryPassword.text = $_.RecoveryPassword}

}

}

 

#region Import the Assembles

[reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null

[reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null

#endregion

 

#region Generated Form Objects

$frmActiveSync = New-Object System.Windows.Forms.Form

$txtDeviceOS = New-Object System.Windows.Forms.TextBox

$lblDeviceOS = New-Object System.Windows.Forms.Label

$txtRecoveryPassword = New-Object System.Windows.Forms.TextBox

$txtLastPolicyUpdate = New-Object System.Windows.Forms.TextBox

$txtLastSuccessfulSync = New-Object System.Windows.Forms.TextBox

$txtLastSyncAttempt = New-Object System.Windows.Forms.TextBox

$txtFirstSyncTime = New-Object System.Windows.Forms.TextBox

$txtIMEI = New-Object System.Windows.Forms.TextBox

$txtDeviceID = New-Object System.Windows.Forms.TextBox

$txtPhoneNumber = New-Object System.Windows.Forms.TextBox

$txtModel = New-Object System.Windows.Forms.TextBox

$lblRecoveryPassword = New-Object System.Windows.Forms.Label

$lblLastPolicyUpdate = New-Object System.Windows.Forms.Label

$lblLastSuccessful = New-Object System.Windows.Forms.Label

$lblLastSyncAttempt = New-Object System.Windows.Forms.Label

$lblFirstSync = New-Object System.Windows.Forms.Label

$lblIMEI = New-Object System.Windows.Forms.Label

$lblDeviceID = New-Object System.Windows.Forms.Label

$lblPhoneNumber = New-Object System.Windows.Forms.Label

$lblModel = New-Object System.Windows.Forms.Label

$txtQNumber = New-Object System.Windows.Forms.TextBox

$btnList = New-Object System.Windows.Forms.Button

#endregion Generated Form Objects

 

#----------------------------------------------

#Generated Event Script Blocks

#----------------------------------------------

#Provide Custom Code for events specified in PrimalForms.

$btnList.Add_Click({getInfo})

 

#----------------------------------------------

#region Generated Form Code

$frmActiveSync.Text = 'List Active Sync User Information'

$frmActiveSync.Name = 'frmActiveSync'

$frmActiveSync.StartPosition = 1

$frmActiveSync.DataBindings.DefaultDataSourceUpdateMode = 0

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 464

$System_Drawing_Size.Height = 328

$frmActiveSync.ClientSize = $System_Drawing_Size

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 214

$System_Drawing_Size.Height = 20

$txtDeviceOS.Size = $System_Drawing_Size

$txtDeviceOS.DataBindings.DefaultDataSourceUpdateMode = 0

$txtDeviceOS.ReadOnly = $True

$txtDeviceOS.Name = 'txtDeviceOS'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 67

$txtDeviceOS.Location = $System_Drawing_Point

$txtDeviceOS.TabIndex = 21

 

$frmActiveSync.Controls.Add($txtDeviceOS)

 

$lblDeviceOS.TabIndex = 20

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 100

$System_Drawing_Size.Height = 23

$lblDeviceOS.Size = $System_Drawing_Size

$lblDeviceOS.Text = 'Operating System'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 70

$lblDeviceOS.Location = $System_Drawing_Point

$lblDeviceOS.DataBindings.DefaultDataSourceUpdateMode = 0

$lblDeviceOS.Name = 'lblDeviceOS'

 

$frmActiveSync.Controls.Add($lblDeviceOS)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtRecoveryPassword.Size = $System_Drawing_Size

$txtRecoveryPassword.DataBindings.DefaultDataSourceUpdateMode = 0

$txtRecoveryPassword.ReadOnly = $True

$txtRecoveryPassword.Name = 'txtRecoveryPassword'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 284

$txtRecoveryPassword.Location = $System_Drawing_Point

$txtRecoveryPassword.TabIndex = 19

 

$frmActiveSync.Controls.Add($txtRecoveryPassword)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtLastPolicyUpdate.Size = $System_Drawing_Size

$txtLastPolicyUpdate.DataBindings.DefaultDataSourceUpdateMode = 0

$txtLastPolicyUpdate.ReadOnly = $True

$txtLastPolicyUpdate.Name = 'txtLastPolicyUpdate'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 257

$txtLastPolicyUpdate.Location = $System_Drawing_Point

$txtLastPolicyUpdate.TabIndex = 18

 

$frmActiveSync.Controls.Add($txtLastPolicyUpdate)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtLastSuccessfulSync.Size = $System_Drawing_Size

$txtLastSuccessfulSync.DataBindings.DefaultDataSourceUpdateMode = 0

$txtLastSuccessfulSync.ReadOnly = $True

$txtLastSuccessfulSync.Name = 'txtLastSuccessfulSync'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 230

$txtLastSuccessfulSync.Location = $System_Drawing_Point

$txtLastSuccessfulSync.TabIndex = 17

 

$frmActiveSync.Controls.Add($txtLastSuccessfulSync)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtLastSyncAttempt.Size = $System_Drawing_Size

$txtLastSyncAttempt.DataBindings.DefaultDataSourceUpdateMode = 0

$txtLastSyncAttempt.ReadOnly = $True

$txtLastSyncAttempt.Name = 'txtLastSyncAttempt'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 203

$txtLastSyncAttempt.Location = $System_Drawing_Point

$txtLastSyncAttempt.TabIndex = 16

 

$frmActiveSync.Controls.Add($txtLastSyncAttempt)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtFirstSyncTime.Size = $System_Drawing_Size

$txtFirstSyncTime.DataBindings.DefaultDataSourceUpdateMode = 0

$txtFirstSyncTime.ReadOnly = $True

$txtFirstSyncTime.Name = 'txtFirstSyncTime'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 176

$txtFirstSyncTime.Location = $System_Drawing_Point

$txtFirstSyncTime.TabIndex = 15

 

$frmActiveSync.Controls.Add($txtFirstSyncTime)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtIMEI.Size = $System_Drawing_Size

$txtIMEI.DataBindings.DefaultDataSourceUpdateMode = 0

$txtIMEI.ReadOnly = $True

$txtIMEI.Name = 'txtIMEI'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 149

$txtIMEI.Location = $System_Drawing_Point

$txtIMEI.TabIndex = 14

 

$frmActiveSync.Controls.Add($txtIMEI)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtDeviceID.Size = $System_Drawing_Size

$txtDeviceID.DataBindings.DefaultDataSourceUpdateMode = 0

$txtDeviceID.ReadOnly = $True

$txtDeviceID.Name = 'txtDeviceID'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 122

$txtDeviceID.Location = $System_Drawing_Point

$txtDeviceID.TabIndex = 13

 

$frmActiveSync.Controls.Add($txtDeviceID)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtPhoneNumber.Size = $System_Drawing_Size

$txtPhoneNumber.DataBindings.DefaultDataSourceUpdateMode = 0

$txtPhoneNumber.ReadOnly = $True

$txtPhoneNumber.Name = 'txtPhoneNumber'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 93

$txtPhoneNumber.Location = $System_Drawing_Point

$txtPhoneNumber.TabIndex = 12

 

$frmActiveSync.Controls.Add($txtPhoneNumber)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 215

$System_Drawing_Size.Height = 20

$txtModel.Size = $System_Drawing_Size

$txtModel.DataBindings.DefaultDataSourceUpdateMode = 0

$txtModel.ReadOnly = $True

$txtModel.Name = 'txtModel'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 207

$System_Drawing_Point.Y = 40

$txtModel.Location = $System_Drawing_Point

$txtModel.TabIndex = 11

 

$frmActiveSync.Controls.Add($txtModel)

 

$lblRecoveryPassword.TabIndex = 10

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblRecoveryPassword.Size = $System_Drawing_Size

$lblRecoveryPassword.Text = 'Recovery Password'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 287

$lblRecoveryPassword.Location = $System_Drawing_Point

$lblRecoveryPassword.DataBindings.DefaultDataSourceUpdateMode = 0

$lblRecoveryPassword.Name = 'lblRecoveryPassword'

 

$frmActiveSync.Controls.Add($lblRecoveryPassword)

 

$lblLastPolicyUpdate.TabIndex = 9

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblLastPolicyUpdate.Size = $System_Drawing_Size

$lblLastPolicyUpdate.Text = 'Last Policy Update Time'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 260

$lblLastPolicyUpdate.Location = $System_Drawing_Point

$lblLastPolicyUpdate.DataBindings.DefaultDataSourceUpdateMode = 0

$lblLastPolicyUpdate.Name = 'lblLastPolicyUpdate'

 

$frmActiveSync.Controls.Add($lblLastPolicyUpdate)

 

$lblLastSuccessful.TabIndex = 8

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblLastSuccessful.Size = $System_Drawing_Size

$lblLastSuccessful.Text = 'Last Successful Sync Time'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 233

$lblLastSuccessful.Location = $System_Drawing_Point

$lblLastSuccessful.DataBindings.DefaultDataSourceUpdateMode = 0

$lblLastSuccessful.Name = 'lblLastSuccessful'

 

$frmActiveSync.Controls.Add($lblLastSuccessful)

 

$lblLastSyncAttempt.TabIndex = 7

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblLastSyncAttempt.Size = $System_Drawing_Size

$lblLastSyncAttempt.Text = 'Last Sync Attempt Time'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 206

$lblLastSyncAttempt.Location = $System_Drawing_Point

$lblLastSyncAttempt.DataBindings.DefaultDataSourceUpdateMode = 0

$lblLastSyncAttempt.Name = 'lblLastSyncAttempt'

 

$frmActiveSync.Controls.Add($lblLastSyncAttempt)

 

$lblFirstSync.TabIndex = 6

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblFirstSync.Size = $System_Drawing_Size

$lblFirstSync.Text = 'First Sync Time'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 179

$lblFirstSync.Location = $System_Drawing_Point

$lblFirstSync.DataBindings.DefaultDataSourceUpdateMode = 0

$lblFirstSync.Name = 'lblFirstSync'

 

$frmActiveSync.Controls.Add($lblFirstSync)

 

$lblIMEI.TabIndex = 5

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblIMEI.Size = $System_Drawing_Size

$lblIMEI.Text = 'IMEI'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 152

$lblIMEI.Location = $System_Drawing_Point

$lblIMEI.DataBindings.DefaultDataSourceUpdateMode = 0

$lblIMEI.Name = 'lblIMEI'

 

$frmActiveSync.Controls.Add($lblIMEI)

 

$lblDeviceID.TabIndex = 4

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblDeviceID.Size = $System_Drawing_Size

$lblDeviceID.Text = 'Device ID'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 125

$lblDeviceID.Location = $System_Drawing_Point

$lblDeviceID.DataBindings.DefaultDataSourceUpdateMode = 0

$lblDeviceID.Name = 'lblDeviceID'

 

$frmActiveSync.Controls.Add($lblDeviceID)

 

$lblPhoneNumber.TabIndex = 3

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblPhoneNumber.Size = $System_Drawing_Size

$lblPhoneNumber.Text = 'Phone Number'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 96

$lblPhoneNumber.Location = $System_Drawing_Point

$lblPhoneNumber.DataBindings.DefaultDataSourceUpdateMode = 0

$lblPhoneNumber.Name = 'lblPhoneNumber'

 

$frmActiveSync.Controls.Add($lblPhoneNumber)

 

$lblModel.TabIndex = 2

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 182

$System_Drawing_Size.Height = 23

$lblModel.Size = $System_Drawing_Size

$lblModel.Text = 'Model'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 12

$System_Drawing_Point.Y = 43

$lblModel.Location = $System_Drawing_Point

$lblModel.DataBindings.DefaultDataSourceUpdateMode = 0

$lblModel.Name = 'lblModel'

 

$frmActiveSync.Controls.Add($lblModel)

 

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 100

$System_Drawing_Size.Height = 20

$txtQNumber.Size = $System_Drawing_Size

$txtQNumber.DataBindings.DefaultDataSourceUpdateMode = 0

$txtQNumber.Text = 'Enter Users Alias'

$txtQNumber.Name = 'txtQNumber'

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 95

$System_Drawing_Point.Y = 15

$txtQNumber.Location = $System_Drawing_Point

$txtQNumber.TabIndex = 1

 

$frmActiveSync.Controls.Add($txtQNumber)

 

$btnList.TabIndex = 0

$btnList.Name = 'btnList'

$System_Drawing_Size = New-Object System.Drawing.Size

$System_Drawing_Size.Width = 75

$System_Drawing_Size.Height = 23

$btnList.Size = $System_Drawing_Size

$btnList.UseVisualStyleBackColor = $True

 

$btnList.Text = 'List Info'

 

$System_Drawing_Point = New-Object System.Drawing.Point

$System_Drawing_Point.X = 13

$System_Drawing_Point.Y = 13

$btnList.Location = $System_Drawing_Point

$btnList.DataBindings.DefaultDataSourceUpdateMode = 0

$btnList.add_Click($btnList_OnClick)

 

$frmActiveSync.Controls.Add($btnList)

 

#endregion Generated Form Code

 

#Show the Form

$frmActiveSync.ShowDialog()| Out-Null

 

} #End Function

 

#Call the Function

GenerateForm

[ The Scripting Guy ]


Actions

Information

Leave a comment




Design a site like this with WordPress.com
Get started