Powershell更改多用户广告属性
还在学习广告的Powershell,我有一个问题困扰着我。必须在特定位置更改广告中多个用户的广告属性,例如,我们在同一个OU中有来自柏林和华盛顿的人,每个配置文件中都设置了城市,但我想知道,在更改这些位置之一的地址之前,我是否还需要获取属性Powershell更改多用户广告属性,powershell,Powershell,还在学习广告的Powershell,我有一个问题困扰着我。必须在特定位置更改广告中多个用户的广告属性,例如,我们在同一个OU中有来自柏林和华盛顿的人,每个配置文件中都设置了城市,但我想知道,在更改这些位置之一的地址之前,我是否还需要获取属性 Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' -Properties StreetAddress, P
Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' -Properties StreetAddress, PostalCode | % {Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}}
或者,如果它也可以工作,而无需执行-Properties,只需将管道过滤器城市结果设置为ADUser
谢谢。您不需要指定
-Properties
,除非您希望在输出中看到它们。您也不需要foreach,只需将管道连接到Set ADUser
即可
Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' |
Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}
这将很好地更新这些值。过滤也是如此。以下命令将对postalcode进行筛选,但除非添加-Properties postalcode
Get-ADUser -Filter "PostalCode -eq '221202XX'"
谢谢你们的回答,我已经漏掉了-属性,这似乎很好,也尝试过了,但没有foreach,这是行不通的,因为我猜Set ADUser不知道哪些被过滤掉的用户需要更新。所以我不得不使用
Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' | % {Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}}
如果我不使用foreach
Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' | Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}
我犯了一个错误
Set ADUser:无法验证参数“Identity”上的参数。参数为空。为
参数,然后再次尝试运行该命令
但是不管怎样,如果没有-Properties(这是我主要关心的问题)似乎还可以如果没有ForEach对象,请删除th
$\uu
,因为您正在管道化用户对象。这是@DougMaurer答案中的一个输入错误