“更新Active Directory”;邮购;通过PowerShell创建属性

“更新Active Directory”;邮购;通过PowerShell创建属性,powershell,active-directory,Powershell,Active Directory,我正在尝试为特定OU中的所有用户更新广告中列出的电子邮件地址。这是我正在使用的powershell脚本,但它工作不正常 Import-Module ActiveDirectory Get-ADUser -Filter * -SearchBase "OU=OtherOU,OU=SomeOu,DC=Domain,DC=local" | Set-ADUser -email $_.samaccountname@domain.com 我想这是因为当我尝试设置ADUser时,$\ samaccountna

我正在尝试为特定OU中的所有用户更新广告中列出的电子邮件地址。这是我正在使用的powershell脚本,但它工作不正常

Import-Module ActiveDirectory
Get-ADUser -Filter * -SearchBase "OU=OtherOU,OU=SomeOu,DC=Domain,DC=local" | Set-ADUser -email $_.samaccountname@domain.com
我想这是因为当我尝试设置ADUser时,$\ samaccountname没有返回任何内容。
有人能给我指出解决这个问题的正确方向吗?谢谢

我想您需要使用一个子表达式:

"$($_.samaccountname)@domain.com"

我想您需要使用一个子表达式:

"$($_.samaccountname)@domain.com"

在当前上下文中,$\为空。您需要使用Foreach对象才能使$可用

Get-ADUser -Filter * ... | Foreach-Object{
   Set-ADUser -Identity $_ -Email "$($_.samaccountname)@domain.com"
}

在当前上下文中,$\为空。您需要使用Foreach对象才能使$可用

Get-ADUser -Filter * ... | Foreach-Object{
   Set-ADUser -Identity $_ -Email "$($_.samaccountname)@domain.com"
}

使用SamAccountName和电子邮件地址创建csv文件

"SamAccountName","EmailAddress"
"john","john@xyz.com"
步骤1:导入到变量

$users = Import-Csv .\email.csv
步骤2:调用变量

foreach ($user in $users) {
    Set-ADUser -Identity $user.SamAccountName -EmailAddress $user.EmailAddress
}

使用SamAccountName和电子邮件地址创建csv文件

"SamAccountName","EmailAddress"
"john","john@xyz.com"
步骤1:导入到变量

$users = Import-Csv .\email.csv
步骤2:调用变量

foreach ($user in $users) {
    Set-ADUser -Identity $user.SamAccountName -EmailAddress $user.EmailAddress
}

假设用户名为domain\user1或user1@domain.com

$user = "user1"
Set-ADUser $user -emailaddress "firtname.lastname@xyz.com"
Get-ADUser -Identity $user -Properties emailaddress

假设用户名为domain\user1或user1@domain.com

$user = "user1"
Set-ADUser $user -emailaddress "firtname.lastname@xyz.com"
Get-ADUser -Identity $user -Properties emailaddress