Here is my simple script which works fine on my own domain (first one: TreeViewOwnDomain.ps1). Now I want to read foreign domain and use treeview as same way.
Here is also another script which connect foreign domain and read user data (second one: ForeignDomainUserData.ps1).
Can anyone help me?
function Add-Node { param ($selectedNode, $name) $newNode = new-object System.Windows.Forms.TreeNode $newNode.Name = $name $newNode.Text = $name $selectedNode.Nodes.Add($newNode) | Out-Null return $newNode } function Get-NextLevel { param ($selectedNode, $dn) $OUs = Get-ADObject -Filter 'ObjectClass -eq "organizationalUnit" -or ObjectClass -eq "container"' -SearchScope OneLevel -SearchBase $dn if ($OUs -eq $null) { $node = Add-Node $selectedNode $dn } else { $node = Add-Node $selectedNode $dn $OUs | % { Get-NextLevel $node $_.distinguishedName } } } function Build-TreeViewNew { param ($tNode, $tDomainDN, $tviewOU1) # Tab 1 $tNode.text = "Active Directory Hierarchy" $tNode.Name = "Active Directory Hierarchy" $tNode.Tag = "root" $tviewOU1.Nodes.Add($treeNode) | Out-Null Get-NextLevel $treeNode $tDomainDN } Build-TreeViewNew $treeNode "DC=w12,DC=local" $treeviewOU1
$JobEncrypted = Get-Content "C:\Tools\PowershellScripts\Test\encrypted_password_PS.txt" | ConvertTo-SecureString $JobCredential = New-Object System.Management.Automation.PsCredential($JobUsername, $JobEncrypted) $SessionX = New-PSSEssion -ComputerName "192.168.xxx.xxx" -Credential $JobCredential -ErrorAction 'SilentlyContinue' Enter-PSSession -Session $SessionX $t = Invoke-Command -Session $SessionX -ScriptBlock { $tmp = $null $t1 = (Get-ADUser Administrator).distinguishedName; $tmp += $t1; $tmp += "`n" $t2 = (Get-ADUser Administrator -Properties *).description; $tmp += $t2; $tmp += "`n" $tmp } Exit-PSSession $richtextboxOU1.Text = $t