如何解决Powershell 将名称的 csv 传递给 CN
$csv = Get-Content "ListOfNames.csv"
foreach($item in $csv){
Get-ADUser -LDAPFilter '(cn=$item)' -Properties * | Ft sAMAccountName,givenName,emailAddress
}
我是 Powershell 的新手,
我正在尝试仅按 cn 参数按名称输入用户列表
我没有得到任何结果,但是当我输入名称而不是 $item 时,它效果很好......
我在这里错过了什么?我不能在 -LDAPFilter 中输入数组吗?
提前致谢
解决方法
在这种情况下,您需要使用双引号使变量能够扩展
$csv = Get-Content "ListOfNames.csv"
foreach($item in $csv){
Get-ADUser -LDAPFilter "(cn=$item)" -Properties emailaddress |
Format-Table sAMAccountName,givenName,emailAddress
}
另请注意,emailaddress 是您所需输出的唯一属性,默认情况下不会返回。除非您需要所有这些属性,否则尽量避免使用 -Properties *
。
对我来说这看起来像是一个字符串格式问题。
试试这个:
$csv = Get-Content "ListOfNames.csv"
foreach ($item in $csv) {
$filter = [string]::Format("'(cn={0})'",$item)
Get-ADUser -LDAPFilter $filter -Properties * | Ft sAMAccountName,emailAddress
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。