d0927505-bce3-4101-878a-163688d48ab2 iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAFFUSURBVHhe7d0HWBzngT5w3SWXy11yqefkUv53 l1ySSy5OcvH5Ep8Tx4nj3i1bXVbvdBCiiSohehGgBgJRJFBFQgghEEUUAUL03nvvbKW//28GJMsy jiVbsqXM+/PzPmJ3Z2dnl8XfO7M7MwuIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI iIiIiIiIiIiIiIiIiIiIiIj+Ch3/27/92+J/+fa3itevX19sabmj2MLCstjCnGEYhmGYhyIWO4p3 7NhR/NvfPF78+c9/vliM7VL+ss997nO1T/3+9/DxC0TGtXLUtA6iumWAYRiGYZiHJNLYXdHUjbMX krFyxQp8+ctfxtww/+G+/a1/Lvb2DURJQx8yy1qRWliPNDkNDMMwDMPcp1wpaUJmafM9SYZIenET Chv6kZKRh/974omPLgDr1q4rvpJXjuzyNlwpakBGcSPDMAzDMPcxmSJxqcU4cvoKwqWcyfj4EfeP OpuJpJxKuVSUNvYhIHD/RxeAHTusihu6RuTmkCHuyDAMwzDM/Ut2eQviM0oRJQbv1LwqpORWIkUM 3jeTWyWur5Yj/fyByzenu5EqJGWVIvxUOlIL6lHTqUJk1PGPLgDSl/4aRQHIKGlGlrQpQfwrbQ3I qexATkU7sstaxHVN8m0MwzAMw3yy5FS2IfZyIU4l5OFaVTvSCxtxpagR6UUN8r9XihuRkFWGC6Ik SGOylAuZZUgQyZBuv5G5+6WJf/MqWuUCkJJfh5oOFY6EH72DAmBhWdzUrRIL1I5ckTyxMJkFFbiU noeL6ddEm2hEblWHfBvDMAzDMJ8s12u7cD69FKcvXkOeKANpYq09vbBBTlZZK/ZHnIN/YBi8fIPh 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 AIiIiBRmcHCQBYCIiEhpWACIiIgUiAWAiIhIgVgAiIiIFOieFYCpqSl4eXnB1taWYRiGYZgHIHZ2 djh37tzcSP1+96wA9Pf347nnnkNaWhrDMAzDMA9ADh48iDVr1syN1O93zwpAT08PNm3aNHeJiIiI Pmv19fUwNjaeu/R+96wA9Pb2Yv369XOXiIiI6LNWWlrKAkBERKQ0LABEREQKxAJARESkQCwARERE CsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBE RKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwA RERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArE AkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESk QCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERE RArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJA RESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAs AERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQK xAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQERE pEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABE REQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQC QEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRA LABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERE CsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBE RKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwA RERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArE AkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESk QCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERE RArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJA RESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAs AERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQK xAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQERE pEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABE REQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQC QEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRA LABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERE CsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBE RKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwA RERECsQCQEREpEAsAERERArEAkBERKRALABEREQKxAJARESkQCwARERECsQCQEREpEAsAERERArE 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 ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER ERERERERERERERERERERERERERERERERERERERERERERERERERHRg23Bgv8PreWp50xBMq8AAAAA SUVORK5CYII= 6, 13 Font 759, 578 FixedDialog False False form1 CenterScreen Form jobTracker_FormClosed form1_Load 0, 556 statusbar1 759, 22 24 statusbar1 197, 58 buttonADCancel 100, 23 23 Cancel True buttonADCancel_Click 0, 87 tabcontrol1 0 761, 470 22 4, 22 tabpage1 3, 3, 3, 3 753, 444 0 Active Directory Computer Objects True False False True False False AllCells White AutoSize 5, 10 datagridview1 DisableResizing FullRowSelect 740, 428 1 4, 22 tabpage7 753, 444 6 Logging True Window Microsoft Sans Serif, 9.75pt WindowText 5, 10 True textboxStatus True Both 740, 429 10 False Microsoft Sans Serif, 9.75pt 313, 57 checkboxPromptForDomainOU 195, 24 21 Prompt for Domain OU True Microsoft Sans Serif, 9.75pt 313, 27 checkboxPromptForCredentials 165, 24 20 Prompt for Credentials True True Microsoft Sans Serif, 9.75pt, style=Bold, Underline 12, 8 labelComputerContainer 143, 16 19 Computer Container Microsoft Sans Serif, 9.75pt True 12, 28 comboboxLoadComObj 170, 24 18 comboboxLoadComObj_SelectedIndexChanged True Microsoft Sans Serif, 9.75pt, style=Bold, Underline 313, 8 labelOptions 64, 16 3 Options: 197, 28 buttonADExecute 100, 23 0 Execute ImageBeforeText True buttonADExecute_Click AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAu MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAA ACZTeXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkD AAAADwMAAAB2CgAAAk1TRnQBSQFMAgEBCAEAAWABAAFgAQABEAEAARABAAT/ASEBAAj/AUIBTQE2 BwABNgMAASgDAAFAAwABMAMAAQEBAAEgBgABMP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ AP8AugADwgH/Az0B/wM9Af8DwgH/MAADwgH/A10B/wOCAf8DwgH/sAADPQH/AwAB/wMAAf8DPQH/ MAADggH/Az0B/wM9Af8DXQH/gAADwgH/Az0B/wM9Af8DwgH/IAADPQH/AwAB/wMAAf8DPQH/A8IB /wNdAf8DggH/A8IB/xAAA8IB/wM9Af8DPQH/A8IB/wNdAf8DPQH/Az0B/wNdAf8EAAOSAf8DkgH/ A8IB/3AAAz0B/wMAAf8DAAH/Az0B/yAAA8IB/wM9Af8DPQH/A8IB/wOCAf8DPQH/Az0B/wOCAf8Q AAM9Af8DAAH/AwAB/wM9Af8DwgH/A10B/wOCAf8DwgH/A5IB/wOCAf8DggH/A5IB/3AAAz0B/wMA Af8DAAH/Az0B/zAAA10B/wM9Af8DPQH/A10B/xAAAz0B/wMAAf8DAAH/Az0B/xAAA5IB/wOSAf8D kgH/A8IB/3AAA8IB/wM9Af8DPQH/A8IB/zAAA8IB/wNdAf8DggH/A8IB/xAAA8IB/wM9Af8DPQH/ A8IB/xAAA8IB/wOSAf8DkgH/A8IB/zgAA8IB/wM9Af8DPQH/A8IB/zAAA8IB/wOCAf8DXQH/A8IB /zAAA8IB/wPCAf8DkgH/A8IB/zQAA8IB/wPCAf80AAM9Af8DAAH/AwAB/wM9Af8wAANdAf8DPQH/ Az0B/wNdAf8wAAOSAf8DggH/A4IB/wOSAf8wAAPCAf8DwgH/A8IB/wPCAf8wAAM9Af8DAAH/AwAB /wM9Af8wAAOCAf8DPQH/Az0B/wOCAf8wAAPCAf8DggH/A5IB/wOSAf8wAAPCAf8DwgH/A8IB/wPC Af8wAAPCAf8DPQH/Az0B/wPCAf8wAAPCAf8DggH/A10B/wPCAf8wAAPCAf8DkgH/A5IB/wPCAf80 AAPCAf8DwgH/EAADwgH/A8IB/xQAA8IB/wOCAf8DXQH/A8IB/zAAA8IB/wOSAf8DkgH/A8IB/zQA A8IB/wPCAf9UAAPCAf8DwgH/A8IB/wPCAf8QAANdAf8DPQH/Az0B/wNdAf8wAAOSAf8DggH/A5IB /wOSAf8wAAPCAf8DwgH/A8IB/wPCAf9QAAPCAf8DwgH/A8IB/wPCAf8DwgH/A8IB/wOSAf8DwgH/ A4IB/wM9Af8DPQH/A4IB/yQAA8IB/wPCAf8EAAPCAf8DggH/A5IB/wOSAf8wAAPCAf8DwgH/A8IB /wPCAf9UAAPCAf8DwgH/BAADkgH/A4IB/wOCAf8DkgH/A8IB/wOCAf8DXQH/A8IB/yAAA8IB/wPC Af8DwgH/A8IB/wPCAf8DkgH/A5IB/wPCAf80AAPCAf8DwgH/ZAADkgH/A5IB/wOSAf8DkgH/MAAD wgH/A8IB/wPCAf8DwgH/sAADwgH/A5IB/wOSAf8DwgH/NAADwgH/A8IB/7QAA8IB/wPCAf8DkgH/ A8IB/zQAA8IB/wPCAf+0AAOSAf8DggH/A4IB/wOSAf8wAAPCAf8DwgH/A8IB/wPCAf+gAAPCAf8D XQH/A4IB/wPCAf8DkgH/A5IB/wOSAf8DwgH/BAADwgH/A8IB/xQAA8IB/wPCAf8DkgH/A8IB/wPC Af8DwgH/A8IB/wPCAf8kAAPCAf8DwgH/dAADggH/Az0B/wM9Af8DggH/A8IB/wOSAf8DkgH/A8IB /wPCAf8DwgH/A8IB/wPCAf8QAAOSAf8DggH/A4IB/wOSAf8EAAPCAf8DwgH/JAADwgH/A8IB/wPC Af8DwgH/cAADXQH/Az0B/wM9Af8DggH/EAADwgH/A8IB/wPCAf8DwgH/EAADkgH/A5IB/wOSAf8D kgH/MAADwgH/A8IB/wPCAf8DwgH/cAADwgH/A10B/wNdAf8DwgH/FAADwgH/A8IB/xQAA8IB/wOS Af8DkgH/A8IB/zQAA8IB/wPCAf9sAAPCAf8DPQH/Az0B/wPCAf8wAAPCAf8DXQH/A4IB/wPCAf8w AAPCAf8DwgH/A5IB/wPCAf80AAPCAf8DwgH/NAADPQH/AwAB/wMAAf8DPQH/MAADggH/Az0B/wM9 Af8DXQH/MAADkgH/A4IB/wOCAf8DkgH/MAADwgH/A8IB/wPCAf8DwgH/MAADPQH/AwAB/wMAAf8D PQH/MAADXQH/Az0B/wM9Af8DggH/MAADkgH/A5IB/wOSAf8DkgH/MAADwgH/A8IB/wPCAf8DwgH/ MAADwgH/Az0B/wM9Af8DwgH/MAADwgH/A10B/wNdAf8DwgH/MAADwgH/A5IB/wOSAf8DwgH/NAAD wgH/A8IB/3wAA8IB/wM9Af8DPQH/A8IB/zAAA8IB/wNdAf8DggH/A8IB/zAAA8IB/wPCAf8DkgH/ A8IB/xAAA8IB/wM9Af8DPQH/A8IB/1AAAz0B/wMAAf8DAAH/Az0B/zAAA4IB/wM9Af8DPQH/A10B /zAAA5IB/wOCAf8DggH/A5IB/xAAAz0B/wMAAf8DAAH/Az0B/1AAAz0B/wMAAf8DAAH/Az0B/zAA A10B/wM9Af8DPQH/A4IB/wOSAf8DPQH/Az0B/wPCAf8gAAOSAf8DkgH/A5IB/wOSAf8DwgH/A10B /wOCAf8DwgH/Az0B/wMAAf8DAAH/Az0B/1AAA8IB/wM9Af8DPQH/A8IB/zAAA8IB/wOCAf8DXQH/ A8IB/wM9Af8DAAH/AwAB/wM9Af8gAAPCAf8DkgH/A5IB/wPCAf8DggH/Az0B/wM9Af8DXQH/A8IB /wM9Af8DPQH/A8IB/6AAAz0B/wMAAf8DAAH/Az0B/zAAA10B/wM9Af8DPQH/A4IB/7AAA8IB/wM9 Af8DPQH/A8IB/zAAA8IB/wOCAf8DXQH/A8IB/xgAAUIBTQE+BwABPgMAASgDAAFAAwABMAMAAQEB AAEBBQABgAEBFgAD/4EABP8B/AE/AfwBPwT/AfwBPwH8AT8D/wHDAfwBAwHAASMD/wHDAfwBAwHA AQMD/wHDAf8DwwP/AcMB/wPDAf8B8AH/AfAB/wHwAf8B+QH/AfAB/wHwAf8B8AH/AfAB/wHwAf8B 8AH/AfAB/wHwAf8B8AH/AfAB/wHwAf8B+QHnAcMB/wHDAf8B5wL/AsMB/wHDAf8BwwL/AcABAwH+ AUMB/wHDAv8B5AEDAfwBAwH/AecC/wH8AT8B/AE/BP8B/AE/Af4BfwT/AfwBPwH+AX8E/wH8AT8B /AE/BP8BwAEnAcABPwHnA/8BwAEDAcIBfwHDA/8DwwH/AcMD/wHDAecBwwH/AecD/wEPAf8BDwH/ AQ8B/wGfAf8BDwH/AQ8B/wEPAf8BDwH/AQ8B/wEPAf8BDwH/AQ8B/wEPAf8BDwH/AQ8B/wGfA/8B wwH/AcMB/wLDAv8BwwH/AcMB/wLDAv8BwwH/AcABPwHAAQMC/wHDAf8BwAE/AcABAwT/AfwBPwH8 AT8E/wH8AT8B/AE/Cw== Transparent timerJobTracker_Tick openfiledialog1 #[System.Windows.Forms.MessageBox]::Show(@($ComputersFromFile).Count) $buttonADCancel.Enabled = $true $textboxStatus.AppendText("Action - Active Directory Look Up:`r`n") $textboxStatus.AppendText("****************************************`r`n") $textboxStatus.AppendText("Pulling Active Directory information.`r`n`r`n") $statusbar1.Text = "Action: Pulling Active Directory information." #Create a New Job using the Job Tracker $jobscript = { Param ($ADSearchBase, $ADServerSearch, $AD_ID, $AD_Identity, $ComputersFromFile) #Pass any arguments using the ArgumentList parameter #[string]$ADFilter = 'OperatingSystem -Like "Windows *Server* *2008*" -and enabled -eq $true' $ADRlts = @() $ADFailed = @() $ADResults = @() $ADFailedComs = @() if ($AD_ID -eq $true) { if (@($ComputersFromFile).Count -eq 0) { try { $ADResults = Get-ADComputer -Identity $AD_Identity -Properties Name, OperatingSystem, OperatingSystemVersion, IPv4Address, Enabled } catch { #$ADError = $_.Exception.Message $ADFailed = "$AD_Identity, does not exist in Active Directory or look up timed out.`r`n" $ADFailedComs += $ADFailed } } else { foreach ($Computer in $ComputersFromFile) { $Computer.Trim() $DSCS = $Computer.split('.') If (($DSCS.Count) -ge 1) { $Computer = $DSCS[0] } try { $ADRlts = Get-ADComputer -Identity $Computer -Properties Name, OperatingSystem, OperatingSystemVersion, IPv4Address, Enabled $ADResults += $ADRlts } catch { # Track Computer Objects that are not in Active Directory for multiple computers objects $ADFailed = "$Computer, does not exist in Active Directory or look up timed out.`r`n" $ADFailedComs += $ADFailed } } } } else { if ([string]::IsNullOrEmpty($Cred)) { try { [string]$ADFilter = 'OperatingSystem -Like "Windows *Server*" -and enabled -eq $true' $ADResults = Get-ADComputer -SearchBase $ADSearchBase -Server $ADServerSearch -Filter $ADFilter -Properties Name, OperatingSystem, OperatingSystemVersion, IPv4Address, Enabled | Sort Name } catch { $ADError = $_.Exception.Message } } else { try { [string]$ADFilter = 'OperatingSystem -Like "Windows *Server*" -and enabled -eq $true' $ADResults = Get-ADComputer -SearchBase $ADSearchBase -Server $ADServerSearch -Credential $Cred -Filter $ADFilter -Properties Name, OperatingSystem, OperatingSystemVersion, IPv4Address, Enabled | Sort Name } catch { $ADError = $_.Exception.Message } } } # Return the output and the exitcode using a hashtable New-Object -TypeName PSCustomObject -Property @{ ADInfo = $ADResults; ADError = $ADError; ADLocal = $AD_ID; ADFailedComs = $ADFailedComs} } $completedscript = { Param ($Job) $results = Receive-Job -Job $Job if ([string]::IsNullOrEmpty($results.'ADError')) { $result = $results.'ADInfo' | Select-Object Name, OperatingSystem, OperatingSystemVersion, IPv4Address, Enabled # Update Logging with Failed Computer Objects from a user importing a file. if (@($results.'ADFailedComs').Count -eq 0 -or $results.'ADFailedComs' -eq $null) { if ($results.'ADLocal' -eq $true) { Update-DataGridView $datagridview1 $result } else { $datagridview1.DataSource = [System.Collections.ArrayList]$result } $textboxStatus.AppendText("Success - Active Directory Look Up:`r`n") $textboxStatus.AppendText("*******************************************`r`n") $textboxStatus.AppendText("Active Directory look up was successful.`r`n`r`n") $statusbar1.Text = "Success: Active Directory look up was successful." } else { if ($results.'ADLocal' -eq $true) { if (@($result).Count -eq 0) { $textboxStatus.AppendText("Error - Active Directory Look Up failed on the following Computer Objects:`r`n") $textboxStatus.AppendText("***************************************************************************************`r`n") $textboxStatus.AppendText($results.'ADFailedComs') $textboxStatus.AppendText("`r`n") $statusbar1.Text = "Error: Active Directory look up was not successful, check Logging tab." } else { Update-DataGridView $datagridview1 $result if (@($results.'ADFailedComs').Count -ge 1) { $textboxStatus.AppendText("Error - Active Directory Look Up failed on the following Computer Objects:`r`n") $textboxStatus.AppendText("***************************************************************************************`r`n") $textboxStatus.AppendText($results.'ADFailedComs') $textboxStatus.AppendText("`r`n") $statusbar1.Text = "Error: Active Directory look up was not successful, check Logging tab." } } } else { $datagridview1.DataSource = [System.Collections.ArrayList]$result } } $buttonADExecute.ImageIndex = -1 $buttonADExecute.Enabled = $true $buttonADCancel.Enabled = $false $buttonADCancel.Visible = $false $comboboxLoadComObj.Enabled = $true $checkboxPromptForCredentials.Enabled = $true $checkboxPromptForDomainOU.Enabled = $true } else { $buttonADExecute.ImageIndex = -1 $buttonADExecute.Enabled = $true $buttonADCancel.Enabled = $false $buttonADCancel.Visible = $false $comboboxLoadComObj.Enabled = $true $checkboxPromptForCredentials.Enabled = $true $checkboxPromptForDomainOU.Enabled = $true $textboxStatus.AppendText("Error - Active Directory Look Up:`r`n") $textboxStatus.AppendText("****************************************`r`n") $textboxStatus.AppendText("$results.'ADError'`r`n`r`n") $statusbar1.Text = "Error: Active Directory look up was not successful, check Logging tab." } } $updatescript = { Param ($Job) #$results = Receive-Job -Job $Job -Keep #Animate the Button if ($null -ne $buttonADExecute.ImageList) { if ($buttonADExecute.ImageIndex -lt $buttonADExecute.ImageList.Images.Count - 1) { $buttonADExecute.ImageIndex += 1 } else { $buttonADExecute.ImageIndex = 0 } } } Add-JobTracker -Name 'JobName' -JobScript $jobscript -CompletedScript $completedscript -UpdateScript $updatescript -ArgumentList $ADSearchBase, $ADServerSearch, $AD_ID, $AD_Identity, $ComputersFromFile, $Cred } } $jobTracker_FormClosed=[System.Windows.Forms.FormClosedEventHandler]{ #Event Argument: $_ = [System.Windows.Forms.FormClosedEventArgs] #Stop any pending jobs Stop-JobTracker } $timerJobTracker_Tick={ Update-JobTracker } #region Job Tracker $JobTrackerList = New-Object System.Collections.ArrayList function Add-JobTracker { <# .SYNOPSIS Add a new job to the JobTracker and starts the timer. .DESCRIPTION Add a new job to the JobTracker and starts the timer. .PARAMETER Name The name to assign to the Job .PARAMETER JobScript The script block that the Job will be performing. Important: Do not access form controls from this script block. .PARAMETER ArgumentList The arguments to pass to the job .PARAMETER CompleteScript The script block that will be called when the job is complete. The job is passed as an argument. The Job argument is null when the job fails. .PARAMETER UpdateScript The script block that will be called each time the timer ticks. The job is passed as an argument. Use this to get the Job's progress. .EXAMPLE Add-JobTracker -Name 'JobName' ` -JobScript { Param($Argument1)#Pass any arguments using the ArgumentList parameter #Important: Do not access form controls from this script block. Get-WmiObject Win32_Process -Namespace "root\CIMV2" }` -CompletedScript { Param($Job) $results = Receive-Job -Job $Job }` -UpdateScript { Param($Job) #$results = Receive-Job -Job $Job -Keep } .LINK #> Param( [ValidateNotNull()] [Parameter(Mandatory=$true)] [string]$Name, [ValidateNotNull()] [Parameter(Mandatory=$true)] [ScriptBlock]$JobScript, $ArgumentList = $null, [ScriptBlock]$CompletedScript, [ScriptBlock]$UpdateScript) #Start the Job $job = Start-Job -Name $Name -ScriptBlock $JobScript -ArgumentList $ArgumentList if($null -ne $job) { #Create a Custom Object to keep track of the Job & Script Blocks $members = @{ 'Job' = $Job; 'CompleteScript' = $CompletedScript; 'UpdateScript' = $UpdateScript} $psObject = New-Object System.Management.Automation.PSObject -Property $members [void]$JobTrackerList.Add($psObject) #Start the Timer if(-not $timerJobTracker.Enabled) { $timerJobTracker.Start() } } elseif($null -ne $CompletedScript) { #Failed Invoke-Command -ScriptBlock $CompletedScript -ArgumentList $null } } function Update-JobTracker { <# .SYNOPSIS Checks the status of each job on the list. #> #Poll the jobs for status updates $timerJobTracker.Stop() #Freeze the Timer for($index = 0; $index -lt $JobTrackerList.Count; $index++) { $psObject = $JobTrackerList[$index] if($null -ne $psObject) { if($null -ne $psObject.Job) { if ($psObject.Job.State -eq 'Blocked') { #Try to unblock the job Receive-Job $psObject.Job | Out-Null } elseif($psObject.Job.State -ne 'Running') { #Call the Complete Script Block if($null -ne $psObject.CompleteScript) { #$results = Receive-Job -Job $psObject.Job Invoke-Command -ScriptBlock $psObject.CompleteScript -ArgumentList $psObject.Job } $JobTrackerList.RemoveAt($index) Remove-Job -Job $psObject.Job $index-- #Step back so we don't skip a job } elseif($null -ne $psObject.UpdateScript) { #Call the Update Script Block Invoke-Command -ScriptBlock $psObject.UpdateScript -ArgumentList $psObject.Job } } } else { $JobTrackerList.RemoveAt($index) $index-- #Step back so we don't skip a job } } if($JobTrackerList.Count -gt 0) { $timerJobTracker.Start()#Resume the timer } } function Stop-JobTracker { <# .SYNOPSIS Stops and removes all Jobs from the list. #> #Stop the timer $timerJobTracker.Stop() #Remove all the jobs while($JobTrackerList.Count -gt 0) { $job = $JobTrackerList[0].Job $JobTrackerList.RemoveAt(0) Stop-Job $job Remove-Job $job } } #endregion #region Created Helper Functions function ADSearchBaseCheck { #param #( # [Parameter(Mandatory = $false)] # [string]$AltADSearchBase #) Try { $v_WMI_AD_DomainName = (Get-WmiObject Win32_ComputerSystem).Domain $v_AD_DomainName = $v_WMI_AD_DomainName.split('.') $v_Ar_Searchbase = @() ForEach ($v_AD_DN_V in $v_AD_DomainName) { $v_AD_DN_New = "DC=" + $v_AD_DN_V $v_Ar_Searchbase += $v_AD_DN_New } $v_AD_SearchBase = $null ForEach ($v_Ar_SB in $v_Ar_Searchbase) { $v_AD_SearchBase = $v_AD_SearchBase + $v_Ar_SB + "," } $v_AD_SearchBase = $v_AD_SearchBase.Substring(0, $v_AD_SearchBase.Length - 1) } Catch { $textboxStatus.AppendText("Unable to retrieve the Domain Name the application is running on.`r`n") $v_AD_SearchBase = '' } Return $v_AD_SearchBase } Function Show-Inputbox { Param ([string]$message = $(Throw "You must enter a prompt message"), [string]$title = "Input", [string]$default ) [reflection.assembly]::loadwithpartialname("microsoft.visualbasic") | Out-Null [microsoft.visualbasic.interaction]::InputBox($message, $title, $default) } #endregion #region Control Helper Functions function Update-ComboBox { <# .SYNOPSIS This functions helps you load items into a ComboBox. .DESCRIPTION Use this function to dynamically load items into the ComboBox control. .PARAMETER ComboBox The ComboBox control you want to add items to. .PARAMETER Items The object or objects you wish to load into the ComboBox's Items collection. .PARAMETER DisplayMember Indicates the property to display for the items in this control. .PARAMETER Append Adds the item(s) to the ComboBox without clearing the Items collection. .EXAMPLE Update-ComboBox $combobox1 "Red", "White", "Blue" .EXAMPLE Update-ComboBox $combobox1 "Red" -Append Update-ComboBox $combobox1 "White" -Append Update-ComboBox $combobox1 "Blue" -Append .EXAMPLE Update-ComboBox $combobox1 (Get-Process) "ProcessName" .NOTES Additional information about the function. #> param ( [Parameter(Mandatory = $true)] [ValidateNotNull()] [System.Windows.Forms.ComboBox] $ComboBox, [Parameter(Mandatory = $true)] [ValidateNotNull()] $Items, [Parameter(Mandatory = $false)] [string] $DisplayMember, [switch] $Append ) if (-not $Append) { $ComboBox.Items.Clear() } if ($Items -is [Object[]]) { $ComboBox.Items.AddRange($Items) } elseif ($Items -is [System.Collections.IEnumerable]) { $ComboBox.BeginUpdate() foreach ($obj in $Items) { $ComboBox.Items.Add($obj) } $ComboBox.EndUpdate() } else { $ComboBox.Items.Add($Items) } $ComboBox.DisplayMember = $DisplayMember } function Update-DataGridView { <# .SYNOPSIS This functions helps you load items into a DataGridView. .DESCRIPTION Use this function to dynamically load items into the DataGridView control. .PARAMETER DataGridView The DataGridView control you want to add items to. .PARAMETER Item The object or objects you wish to load into the DataGridView's items collection. .PARAMETER DataMember Sets the name of the list or table in the data source for which the DataGridView is displaying data. .PARAMETER AutoSizeColumns Resizes DataGridView control's columns after loading the items. #> Param ( [ValidateNotNull()] [Parameter(Mandatory=$true)] [System.Windows.Forms.DataGridView]$DataGridView, [ValidateNotNull()] [Parameter(Mandatory=$true)] $Item, [Parameter(Mandatory=$false)] [string]$DataMember, [System.Windows.Forms.DataGridViewAutoSizeColumnMode]$AutoSizeColumns = 'None' ) $DataGridView.SuspendLayout() $DataGridView.DataMember = $DataMember if ($Item -is [System.Data.DataSet] -and $Item.Tables.Count -gt 0) { $DataGridView.DataSource = $Item.Tables[0] } elseif ($Item -is [System.ComponentModel.IListSource]` -or $Item -is [System.ComponentModel.IBindingList] -or $Item -is [System.ComponentModel.IBindingListView] ) { $DataGridView.DataSource = $Item } else { $array = New-Object System.Collections.ArrayList if ($Item -is [System.Collections.IList]) { $array.AddRange($Item) } else { $array.Add($Item) } $DataGridView.DataSource = $array } if ($AutoSizeColumns -ne 'None') { $DataGridView.AutoResizeColumns($AutoSizeColumns) } $DataGridView.ResumeLayout() } function ConvertTo-DataTable { <# .SYNOPSIS Converts objects into a DataTable. .DESCRIPTION Converts objects into a DataTable, which are used for DataBinding. .PARAMETER InputObject The input to convert into a DataTable. .PARAMETER Table The DataTable you wish to load the input into. .PARAMETER RetainColumns This switch tells the function to keep the DataTable's existing columns. .PARAMETER FilterWMIProperties This switch removes WMI properties that start with an underline. .EXAMPLE $DataTable = ConvertTo-DataTable -InputObject (Get-Process) #> [OutputType([System.Data.DataTable])] param( [ValidateNotNull()] $InputObject, [ValidateNotNull()] [System.Data.DataTable]$Table, [switch]$RetainColumns, [switch]$FilterWMIProperties) if($null -eq $Table) { $Table = New-Object System.Data.DataTable } if ($InputObject -is [System.Data.DataTable]) { $Table = $InputObject } elseif ($InputObject -is [System.Data.DataSet] -and $InputObject.Tables.Count -gt 0) { $Table = $InputObject.Tables[0] } else { if (-not $RetainColumns -or $Table.Columns.Count -eq 0) { #Clear out the Table Contents $Table.Clear() if ($null -eq $InputObject) { return } #Empty Data $object = $null #find the first non null value foreach ($item in $InputObject) { if ($null -ne $item) { $object = $item break } } if ($null -eq $object) { return } #All null then empty #Get all the properties in order to create the columns foreach ($prop in $object.PSObject.Get_Properties()) { if (-not $FilterWMIProperties -or -not $prop.Name.StartsWith('__')) #filter out WMI properties { #Get the type from the Definition string $type = $null if ($null -ne $prop.Value) { try { $type = $prop.Value.GetType() } catch { Out-Null } } if ($null -ne $type) # -and [System.Type]::GetTypeCode($type) -ne 'Object') { [void]$table.Columns.Add($prop.Name, $type) } else #Type info not found { [void]$table.Columns.Add($prop.Name) } } } if ($object -is [System.Data.DataRow]) { foreach ($item in $InputObject) { $Table.Rows.Add($item) } return @( ,$Table) } } else { $Table.Rows.Clear() } foreach ($item in $InputObject) { $row = $table.NewRow() if ($item) { foreach ($prop in $item.PSObject.Get_Properties()) { if ($table.Columns.Contains($prop.Name)) { $row.Item($prop.Name) = $prop.Value } } } [void]$table.Rows.Add($row) } } return @(,$Table) } #endregion $comboboxLoadComObj_SelectedIndexChanged={ #TODO: Place custom script here if ($comboboxLoadComObj.SelectedItem -eq "Local Machine") { $labelOptions.Visible = $false $checkboxPromptForCredentials.Visible = $false $checkboxPromptForDomainOU.Visible = $false $statusbar1.Text = "Notification: Computer Container 'Local Machine' selected." $textboxStatus.AppendText("Notification - Computer Container dropdown:`r`n") $textboxStatus.AppendText("*****************************************************`r`n") $textboxStatus.AppendText("Computer Container 'Local Machine' selected.`r`n`r`n") } elseif ($comboboxLoadComObj.SelectedItem -eq "Active Directory") { # reset the checks for OU and cred checkboxes $checkboxPromptForCredentials.Checked = $false $checkboxPromptForDomainOU.Checked = $false $labelOptions.Visible = $true $checkboxPromptForCredentials.Visible = $true $checkboxPromptForDomainOU.Visible = $true $statusbar1.Text = "Notification: Computer Container 'Active Directory' selected." $textboxStatus.AppendText("Notification - Computer Container dropdown:`r`n") $textboxStatus.AppendText("*****************************************************`r`n") $textboxStatus.AppendText("Computer Container 'Active Directory' selected.`r`n`r`n") } elseif ($comboboxLoadComObj.SelectedItem -eq "Import From File") { $labelOptions.Visible = $false $checkboxPromptForCredentials.Visible = $false $checkboxPromptForDomainOU.Visible = $false $statusbar1.Text = "Notification: Computer Container 'Import From File' selected." $textboxStatus.AppendText("Notification - Computer Container dropdown:`r`n") $textboxStatus.AppendText("*****************************************************`r`n") $textboxStatus.AppendText("Computer Container 'Import From File' selected.`r`n`r`n") } elseif ($comboboxLoadComObj.SelectedItem -eq "Enter Computer Object") { $labelOptions.Visible = $false $checkboxPromptForCredentials.Visible = $false $checkboxPromptForDomainOU.Visible = $false $statusbar1.Text = "Notification: Computer Container 'Enter Computer Object' selected." $textboxStatus.AppendText("Notification - Computer Container dropdown:`r`n") $textboxStatus.AppendText("*****************************************************`r`n") $textboxStatus.AppendText("Computer Container 'Enter Computer Object' selected.`r`n`r`n") } } $buttonADCancel_Click={ #TODO: Place custom script here $buttonADCancel.Enabled = $false Stop-JobTracker $textboxStatus.AppendText("Cancelled - Active Directory Look Up:`r`n") $textboxStatus.AppendText("*********************************************`r`n") $textboxStatus.AppendText("Active Directory look up was cancelled.`r`n`r`n") sleep -Seconds 1 $buttonADCancel.Visible = $false $buttonADExecute.ImageIndex = -1 $buttonADExecute.Enabled = $true $comboboxLoadComObj.Enabled = $true } ]]> 1 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089