【发布时间】:2014-01-09 12:04:22
【问题描述】:
从带有复选框的原始表单中,我得到一个带有一些属性的 csv 文件。 我想将这些属性与 cmdlet get-Adusers 一起使用。如果我在 csv 中只有一个值但没有一些值,则该脚本正在工作。
我的 CSV 文件格式如下:
"PropertiesSelected";"FilterSelected" "SN,EmailAddress,CN,SamAccountName"; “DC=我的域,DC=COM”目前我不尝试使用"filterSelected"
我认为问题在于powershell 将"SN,EmailAddress,CN,SamAccountName" 理解为单个值
我使用的命令是这样的:
Import-Csv c:\TempPowerShell\CheckBoxResults.csv -delimiter ";" |
ForEach-Object {
$FilterSelected=$_.FilterSelected
$PropertiesSelected=$_.PropertiesSelected
Get-ADUser -Properties "$PropertiesSelected" -Filter * -SearchScope Subtree -SearchBase "DC=MyDomain,DC=COM" -Server MyServer:3268
}
非常感谢你的帮助,我要疯了:)
问候 朱利安
【问题讨论】:
-
如果你写主机 $PropertiesSelected 会产生什么输出?如果您希望“SN,EmailAddress,CN,SamAccountName”不是单个值,则必须更改生成脚本或拆分字符串。
-
如果列标题有空格,请使用
$_."Header Name"并确保您的属性完全正确。另外,您的 CSV 有;和,作为分隔符? -
我认为他正在尝试使用
,作为属性参数的分隔符 -
嗨,感谢您的回答,在我的 CSV 上准确一点。
-
在我的表单上,我可以从 get-Aduser 中提取所有属性,这取决于选中的复选框。如果我手动键入 Get-AdUser -properties SN,CN,GivenName,..... 它正在工作,所以我的想法是在我手动键入时放置一个所有属性都选择“写入”的变量:)
标签: powershell properties