尝试使用带有以下脚本的CSV文件为用户加载属性[Pager],但实际上并没有处理它,不确定可能是什么原因。在我的实验室作为域管理员运行。
Function Update-ADUsers {
$csvfile = "C:\Powershell\pager\users.csv"
Import-Csv -path $csvfile
ForEach-Object {
$sam = $_.'Logon Name'
{{ Set-ADUser -Identity $sam -Replace @{pager="http://server/users/"+ $sam +".jpg"} }}
$pager="http://server/users/"+ $sam +".jpg"
Write-Host "$pager"
Write-Host "$sam"
}}
Update-ADUsers
它的简单CSV文件作为以下内容:
Logon Name
mahmoud
ahmed
hussien
ayman
最新工作正常
Function Update-ADUsers {
$csvfile = "C:\Powershell\pager\users.csv"
Import-Csv -path $csvfile |
ForEach-Object {
$sam = $_.'Name'
$pager = "http://server/users/" + $sam + ".jpg"
Get-ADUser -Filter "sAMAccountName -eq '$sam'" | Set-ADUser -Replace @{pager=$pager}
Write-Host "$pager"
Write-Host "$sam"
}
}
Update-ADUsers
答案 0 :(得分:0)
除了不在代码块中发布问题以使其混淆任何其他格式错误之外,您的Set-ADUser
调用不必要地用双花括号包裹,并且在奇数位置设置变量。以下是我调整后的内容:
Function Update-ADUsers {
$csvfile = "C:\Powershell\pager\users.csv"
Import-Csv -path $csvfile | ForEach-Object {
$sam = $_.'Logon Name'
$pager = "http://server/users/" + $sam + ".jpg"
Set-ADUser -Identity $sam -Replace @{pager=$pager}
Write-Host "$pager"
Write-Host "$sam"
}
}
Update-ADUsers
**顺便说一下,您正在尝试使用-Identity
" mahmoud ahmed hussien ayman"?如果是这样,您需要使用SamAccountName,distinguishedName或传入AD User对象。如果这是用户对象的名称,您可以像这样找到它,然后将其输入Set-ADUser
来电:
Get-ADUser -Filter "name -eq '$sam'" | Set-ADUser -Replace @{pager=$pager}