88350dbb-6049-46c5-8e39-1285c9a634d3 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 QwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCA iQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQ HgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAA TAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA 8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAA YCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEA hIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQA ABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgA IDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEA AJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQA AOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8B AMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYC AAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgI AAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADAR AEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJD AAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJ AADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAe AgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABM BAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDw EAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABg IgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCE hwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAA EwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAg PAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAA mAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA 4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEA wEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIA CA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgA ACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEA QHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMA ADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkA AMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4C AICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwE ABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQ AABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAi AIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISH AABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAAT AQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8 BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAIDwEAwEQAAOEhAACY CAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAAJgIACA8BAMBEAADh IQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBAeAgAACYCAAgPAQDA RAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAAMBEAQHgIAAAmAgAI DwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAAwkMAADARAEB4CAAA JgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIAgIkAAMJDAAAwEQBA eAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQAEB4CAICJAADCQwAA MBEAQHgIAAAmAgAIDwEAwEQAAOEhAACYCAAgPAQAABMBAISHAABgIgCA8BAAAEwEABAeAgCAiQAA wkMAADARAEB4CAAAJgIACA8BAMBEAADhIQAAmAgAIDwEAAATAQCEhwAAYCIAgPAQAABMBAAQHgIA gIkAAMJDAAAwEQBAeAgAACYCAAgPAQDARAAA4SEAAJgIACA8BAAAEwEAhIcAAGAiAIDwEAAATAQA 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 5XRNGTAAAA==
param ( [ValidateNotNull()] [System.Windows.Forms.TreeNodeCollection]$NodeCollection, [ValidateNotNull()] [System.Collections.ArrayList]$CheckedNodes ) foreach ($Node in $NodeCollection) { if ($Node.Checked) { [void]$CheckedNodes.Add($Node) } Get-CheckedNodes $Node.Nodes $CheckedNodes } } function Build-TreeView { param ($DomainDN, $DomainName) $treeNodes = $Treeview.Nodes[0] If ($DomainDN) { $RootDomainNode = Add-Node -dname $DomainDN -name $DomainName -RootNode $treeNodes -Type Domain } else { $CurrentDomain = $forest.Domains | ?{ $_.Name -eq $env:USERDNSDOMAIN } $Domain = $CurrentDomain.GetDirectoryEntry() $RootDomainNode = Add-Node -dname $Domain.distinguishedName -name $CurrentDomain.Name -RootNode $treeNodes -Type Domain } #Copy the RootDomainNode to parent scope New-Variable -Name RootDomainNode -Value $RootDomainNode -Scope 1 $treeNodes.Expand() $RootDomainNode.Expand() } function Get-NextLevel { param ( $RootNode, $Type ) $global:CurrentRN = $RootNode #Create a New Job using the Job Tracker $paramAddJobTracker = @{ Name = "JobName-$($RootNode.Name)" JobScript = { param ($RootNodeName) $root = [ADSI]'' $ADsearcher = New-Object System.DirectoryServices.DirectorySearcher($root) $ADsearcher.SearchRoot = "LDAP://$RootNodeName" $ADsearcher.SearchScope = 'OneLevel' $ADsearcher.filter = "(|(objectClass=organizationalUnit)(ObjectClass=container)(ObjectClass=builtinDomain))" $ADsearcher.PageSize = 1000 $props = @('name', 'distinguishedname', 'objectclass') $ADsearcher.PropertiesToLoad.AddRange($props) $ADObjects = $ADsearcher.FindAll() return $ADObjects } ArgumentList = "$($RootNode.Name)" CompletedScript = { Param ($Job) $ADObjects = Receive-Job -Job $Job if (($ADObjects | Measure-Object).Count -ne 0) { $global:CurrentRN.Nodes.Clear() $ADObjects | % { $Type = $_.properties.objectclass | ?{ $_ -ne 'top' } $ADsearcher.SearchRoot = $_.Path If ($ADsearcher.FindOne()) { Add-Node $global:CurrentRN $_.properties.distinguishedname[0] $_.properties.name[0] -Type $Type -HasChildren $true } else { Add-Node $global:CurrentRN $_.properties.distinguishedname[0] $_.properties.name[0] -Type $Type -HasChildren $false } } } else { $global:CurrentRN.Nodes.Clear() } } UpdateScript = {} } Add-JobTracker @paramAddJobTracker } function Add-Node { param ( $RootNode, $dname, $name, $Type, $HasChildren = $true ) $newNode = new-object System.Windows.Forms.TreeNode $newNode.Name = $dname $newNode.Text = $name If ($HasChildren) { $newNode.Nodes.Add('') | Out-Null } switch ($Type) { organizationalunit { $newnode.ImageIndex = 1 $newNode.SelectedImageIndex = 1 } Domain { $newNode.ImageIndex = 0 $newNode.SelectedImageIndex = 0 } Default { $newnode.ImageIndex = 2 $newNode.SelectedImageIndex = 2 } } $RootNode.Nodes.Add($newNode) | Out-Null $newNode } #endregion $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 CompletedScript 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 ]]> 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.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a