繁体   English   中英

Powershell 哈希表创建 - Foreach 循环

[英]Powershell hashtable creation - Foreach loop

我正在尝试在 powershell 内创建一个哈希表/字典 (kvp) 以供进一步使用(用于添加 excel)。 但是我收到基于对象的错误。 我不确定我做错了什么,因为工作流程似乎在我的脑海中匹配和连接。

代码:

$users = Get-ADUser -Filter * -Properties * -SearchBase "DC=corp,DC=example,DC=com" | select-object name
foreach ($name in $users) {
    $hash = [ordered]@{ $name = (Get-ADPrincipalGroupMembership $name | Select-Object name) }
}
$hash

错误:

Get-ADPrincipalGroupMembership : Cannot bind parameter 'Identity'. Cannot create object of type
"Microsoft.ActiveDirectory.Management.ADPrincipal". The adapter cannot set the value of property "name".
At line:2 char:56
+     $hash = @{ $name = (Get-ADPrincipalGroupMembership $name | Select ...
+                                                        ~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-ADPrincipalGroupMembership], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.GetADPrinci
   palGroupMembership

如果您尝试使用samaccountname而不是name

$users = Get-ADUser -Filter * -Properties * -SearchBase "DC=sectest,DC=secservizi,DC=local" | select-object samaccountname
foreach ($name in $users.samaccountname) {
    $hash = [ordered]@{ $name = (Get-ADPrincipalGroupMembership -identity $name | Select-Object name) }  
}
$hash

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM