通过PowerShell更新广告中的职务

通过PowerShell更新广告中的职务,powershell,automation,active-directory,Powershell,Automation,Active Directory,我有以下脚本来更新用户在广告中的个人资料“组织”下的“职务” Import-CSV -Path C:\UsersTestv1.CSV | Foreach-Object { #properties from the csv $user = $_.user $title = $_.title Get-ADUser -$user | Set-ADUser -Title "$title" } 我直接在盒子上运行,但没有用 im using test的CSV文件设置如下:用户、标题、test.user

我有以下脚本来更新用户在广告中的个人资料“组织”下的“职务”

Import-CSV -Path C:\UsersTestv1.CSV | Foreach-Object {
#properties from the csv
$user  = $_.user
$title = $_.title
Get-ADUser -$user | Set-ADUser -Title "$title"
}
我直接在盒子上运行,但没有用

im using test的CSV文件设置如下:用户、标题、test.user、测试脚本、,

但是,这并不是更新必填字段(我有400多个用户需要更新)

如果我运行以下命令:set aduser“test.user”-Title“Example”

所需字段已成功更新

在我的原始脚本中我做错了什么,我认为它应该循环通过CSV的每个条目并执行上述操作:(


非常感谢您提供的任何帮助

您可以稍微缩短您的脚本。只要您的csv包含“用户”和“标题”行,用户就存在,并且您拥有相应的权限,下面的脚本就可以工作:

Import-CSV -Path C:\UsersTestv1.CSV | Foreach-Object {
    Set-ADUser -Identity $_.user -Title $_.title
}

Get ADUser-$user
->
Get ADUser$user
请不要告诉我这是唯一的错误:(!!!请注意,因为您似乎对这一点非常陌生,所以在生产环境中测试命令/脚本时,始终使用
-WhatIf
。这对于在您仍在测试时保护您免受可能的键入错误/错误命令的影响非常有帮助。谢谢,上面的内容实际上没有错误或起作用,我改为:Import CSV-Path C:\usersTestv1.CSV | Foreach对象{Set ADUser-Identity“$\.user”-Title“$\.Title”}也无济于事:(如果在这种情况下使用引号(“),您需要这样编写变量:-Identity“$($\.user)”-Title“$($\.Title)“。有道理,但我不明白为什么shorten脚本在这一点上没有出错或实现命令。我冒险尝试:导入CSV-Path C:\UsersTestv1.CSV | Foreach对象{来自CSV$user=$\的属性。user$title=$\ title Set ADUser-identity$\ user-Description$。\ u title-title$\ title}”仍然没有用,我觉得Set ADUser-Identity有一个问题,但是我不知道为什么我现在会读到这个问题,但是我已经解决了,我甚至不认为头需要在单独的一行上。结束代码可以工作:Import CSV-Path C:\UsersTestv1.CSV | Foreach对象{Set ADUser-Identity$\ user-Title$\ Title}感谢你们的帮助和帮助;我正在尽我所能学习,希望能像你们大多数人一样提供帮助:)