我正在尝试查找具有Null
属性terminalservicesprofilepath
的AD用户,并在同一命令中更新此属性。
我可以选择用户,但如何“动态”更新属性?
Get-ADUser -Filter {(ObjectClass -eq "user") -and (Enabled -eq $true)} -server $DC[1] -Properties * | select SAMAccountName,displayName,DistinguishedName,Mail,Homemdb,@{Name="TSP";Expression={([adsi]("LDAP://$($_.distinguishedName)")).psbase.InvokeGet("terminalservicesprofilepath")}} | where {($_.DistinguishedName -match ".OU=USERS.") -and ($_.TSP -eq $null)}
答案 0 :(得分:0)
我认为你可以做到:
([adsi]("LDAP://$($_.distinguishedName)")).psbase.InvokeSet("terminalservicesprofilepath",$newPath)
您只需要在初始查找后将该命令压入,然后执行SetInfo()。
如果像博客文章中那样将初始的Get-ADUser运行到变量中,那么可能最简单,因此您可以使用其中的对象:
$users = "huge Get-ADUser command"
foreach ($u in $users)
{
$foo = [ADSI]("LDAP://$u.DistinguishedName")
$foo.psbase.InvokeSet("terminalservicesprofilepath",$newPath)
$foo.SetInfo()
}