Hi community,
i try to create handy tools for HD team, tools should update computer description and then move computer to selected computer OU. 1st part working ok, but when i try to move computer to OU i get error
Code:
$reader=(New-Object System.Xml.XmlNodeReader $xaml)
try{$Form=[Windows.Markup.XamlReader]::Load( $reader )}
catch{Write-Host "Unable to load Windows.Markup.XamlReader."; break}
$xaml.SelectNodes("//*[@Name]") | %{Set-Variable -Name ($_.Name) -Value $Form.FindName($_.Name)}
### Computers ###
#$computers = (Get-ADComputer -Filter ' Enabled -eq "True" ') | Sort-Object Name
$computers = (Get-ADComputer -Filter * -SearchBase "OU=Test_COMPUTERS,DC=enterprise,DC=corp") | Sort-Object Name
$cmbComputers.ItemsSource = $computers.Name
#################
### AD OU ###
$TEST_OU = "OU=TEST,DC=enterprise,DC=corp"
$TEST2_OU = "OU=TEST2,DC=enterprise,DC=corp"
$TEST_OU = (Get-ADOrganizationalUnit -SearchScope Subtree -Filter * -SearchBase "$TEST_OU")| Sort-Object Name
$TEST2_OU = (Get-ADOrganizationalUnit -SearchScope Subtree -Filter * -SearchBase "$TEST2_OU")| Sort-Object Name
$OU = $TEST_OU.Name + $TEST2_OU.Name
$cmbOU.ItemsSource = $OU
#############
$cmbComputers.Add_SelectionChanged({
$script:selectedComputer = $computers.Where({$_.Name -eq $cmbComputers.SelectedItem.ToString()})
$cmbComputers.SelectedItem.ToString()
$selectedComputer = $cmbComputers.SelectedItem.ToString()
})
$cmbOU.Add_SelectionChanged({
$script:selectedOU = $OU.Where({$_.Name -eq $cmbOU.SelectedItem.ToString()})
$SelectedOU = $cmbOU.SelectedItem.ToString()
})
$btnUpdateDescription.Add_Click({
$description = $txtDescription.Text
Set-ADComputer $cmbComputers.SelectedItem.ToString() -Description "$description"
$txtDescription.Clear()
})
$btnMoveToOU.Add_Click({
$targetOU = "OU=$cmbOU.SelectedItem.ToString(),DC=enterprise,DC=corp"
Move-ADObject $selectedComputer -TargetPath $targetOU
### Refresh OU ###
#???
$txtDescription.Clear()
})
$Form.ShowDialog() | Out-Null