尝试使用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列出所有多值属性

PowerShell 要求输入值

用于检查Active Directory用户上次登录的Powershell脚本

用于检查 Active Directory 用户是不是上次登录的 Powershell 脚本

powershell 使用powershell添加Active Directory组成员

powershell 列出Active Directory中使用的所有SPN