我还在为AD学习Powershell,我有一个问题困扰着我。必须在特定位置为AD中的多个用户更改AD属性,例如,我们有来自柏林和华盛顿的相同OU人员,每个配置文件中都设置了城市,但我想知道,在更改这些位置之一的地址之前,我是否也需要获得这些属性。
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
谢谢。
发布于 2020-10-23 16:49:55
除非您希望在输出中看到它们,否则不需要指定-Properties。您也不需要前端,只需将管道输送到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"}这将很好地更新这些值。过滤也是如此。下面的命令将对邮政编码进行筛选,但除非添加-Properties postalcode,否则它不会包含在输出中
Get-ADUser -Filter "PostalCode -eq '221202XX'"发布于 2020-10-24 07:15:31
谢谢你的回答,我遗漏了-Properties,这似乎很好,也尝试过了,但是如果没有我猜的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"}}而如果我使用没有前兆
Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' | Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}我搞错了
集合-ADUser:无法验证参数'Identity‘的参数。这个论点是无效的。为参数提供一个有效值,然后再次尝试运行该命令。
但是不管怎么说,没有-Properties似乎没问题,这是我最关心的
https://stackoverflow.com/questions/64502105
复制相似问题