如何解决PowerShell Set ADUser错误

如何解决PowerShell Set ADUser错误,powershell,Powershell,如果这不是一回事,那今天又是另一回事了。尝试从CSV更改用户的属性。我收到以下错误-Set ADUser:无法验证参数“Identity”上的参数。参数为空 这是代码。奇怪的是,我很确定这在几周前就奏效了。我想不出我错过了什么 Import-csv c:\test.csv | foreach-object { Set-aduser $_.userPrincipalName -add @{ extensionattribute15 = "SomethingGoesHere&quo

如果这不是一回事,那今天又是另一回事了。尝试从CSV更改用户的属性。我收到以下错误-Set ADUser:无法验证参数“Identity”上的参数。参数为空

这是代码。奇怪的是,我很确定这在几周前就奏效了。我想不出我错过了什么

Import-csv c:\test.csv | foreach-object {
Set-aduser $_.userPrincipalName -add @{
    extensionattribute15 = "SomethingGoesHere"
    }
}
第一:

分析错误:它表示“无法验证参数“Identity”上的参数。该参数为空。” 这意味着$\.userPrincipalName返回null,这意味着“userPrincipalName”不是CSV中的精确列名,或者返回了不被接受的null值

第二:

如何确认? 打开PowerShell ISE并写入以下命令:

$CSVUsers = Import-csv c:\test.csv 
Foreach ($user in $CSVUsers){
#we will write here next
}
然后 返回注释行“#我们下一步将在此处写入”并写入“$user”。然后等待自动完成以找到正确的列名,并选择它不完全写入,您将了解它是否会引起偏差 然后 仅运行命令以查看$users.prenciplename(如您所选),以确认这是您需要的

第三

如何知道你需要什么? 以下是在引用中接受的-Identity参数

-身份 通过提供以下属性值之一指定Active Directory用户对象。括号中的标识符是属性的LDAP显示名称。此参数的可接受值为:

显赫的名字 GUID(对象GUID) 安全标识符(objectSid)
SAM帐户名(sAMAccountName)

显示csv文件的一些行,标题根据>>>设置ADUser(ActiveDirectory)| Microsoft Docs-@Lee_Dailey谢谢!我手动将用户名添加到csv中(目前仅使用一个名称进行测试),使用用户名作为列名,并在代码中使用
Set aduser$\ username
。它实现了预期。@nosupport2020-非常欢迎您!很高兴能帮助。。。要知道你的工作按需要进行。。。[咧嘴笑]