尝试使用PowerShell修改Active Directory
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试使用PowerShell修改Active Directory相关的知识,希望对你有一定的参考价值。
我试图通过PowerShell修改AD中的多个用户。我想添加/更新字段以提供其计算机的完整路径。 Hete是我到目前为止的剧本......
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
Set-ADUser -Add @{OtherLoginWorkstations='($_.samaccountname).serve.group.net'}
我提出的最好的是将字段更改为“.serve.group.net”,但在开头没有包含SAMACCOUNTNAME(这是他们计算机的名称)。
任何帮助将非常感激。
答案
将单引号更改为双引号,并确保使用子表达式$()
:
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
Set-ADUser -Add @{OtherLoginWorkstations="$($_.samaccountname).serve.group.net"}
另一答案
要使用$_
引用管道元素,您需要使用Foreach-Object
循环
Get-ADUser -Filter * -SearchBase 'OU=CCG,OU=CCG-Users,OU=CCG-All-PCs-and-Users,OU=CCG,OU=Departments,DC=serve,DC=group,DC=net' |
ForEach-Object {
Set-ADUser Identity $_.SamAccountName -Add @{OtherLoginWorkstations = $_.samaccountname + ".serve.group.net"}
}
以上是关于尝试使用PowerShell修改Active Directory的主要内容,如果未能解决你的问题,请参考以下文章
PowerShell Active Directory列出所有多值属性
用于检查Active Directory用户上次登录的Powershell脚本
用于检查 Active Directory 用户是不是上次登录的 Powershell 脚本