Powershell从CSV文件更新多用户属性
正在尝试为使用CSV文件和以下脚本的用户加载属性[Pager],但实际上没有处理它,不确定原因可能是什么。作为域管理员在我的实验室中运行Powershell从CSV文件更新多用户属性,powershell,Powershell,正在尝试为使用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 @
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
最近一次工作罚款
除了不在代码块中发布问题以混淆任何其他格式错误之外,您的
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、DifferentizedName或传入AD用户对象。如果这是用户对象的名称,您可以像这样找到它,然后将其导入Set ADUser
调用:
Get-ADUser -Filter "name -eq '$sam'" | Set-ADUser -Replace @{pager=$pager}
行的末尾缺少一个竖条/管道符号
|
导入Csv-路径$csvfile
ForEach需要迭代。是的,尝试使用sAMAccountName,但我猜从Csv文件读取时出现问题,显示以下错误。[获取ADUser:无法在第7行识别搜索筛选器char:9+获取ADUser-筛选器“sAMAccountName-eq'$sam'”|设置ADUser-Replace@{p…]@LotPings是的,它解决了我的问题,thnx alot:)很抱歉给我带来的不便。thnx伙计们需要帮助。ahhh@LotPings--看到了这一点,完全专注于格式,然后错过了更新…干杯!@mostafa--如果可能的话,请在发布问题时将代码格式化为代码块,这样更容易理解d;-)…更新了我的答案,以包括Import Csv
和ForEach对象之间的管道
Get-ADUser -Filter "name -eq '$sam'" | Set-ADUser -Replace @{pager=$pager}