2014-01-09 67 views
1

從帶複選框的原始表單中,我得到一個帶有一些屬性的csv文件。 我想使用這些屬性與cmdlet get-Adusers。該腳本正在工作,如果我只有一個值在csv,但沒有與一些。Powerhsell:屬性中的多個值變量

我的CSV文件是這樣的格式:

 
"PropertiesSelected";"FilterSelected" 
"SN,EmailAddress,CN,SamAccountName"; "DC=myDomain,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 
} 

個非常感謝你的幫助,我要瘋了:)

問候 朱利安

+0

什麼輸出:

您可以通過構建字符串作爲你的命令,然後與調用表達式執行它解決這個問題?如果您希望「SN,EmailAddress,CN,SamAccountName」不是單個值,您必須更改生成腳本或拆分字符串。 – Paul

+0

如果列標題包含空格,請使用'$ _。「標題名稱」'並確保您的屬性完全正確。另外,您的CSV同時具有';'和','作爲分隔符? –

+0

我想他正在嘗試使用'''作爲分隔符作爲屬性參數 – Paul

回答

1

你不能使用帶有多個屬性爲參數輸入一個字符串。如果你寫主機$ PropertiesSelected產生

$command="get-aduser -properties $PropertiesSelected -Filter * -SearchScope Subtree -SearchBase "DC=MyDomain,DC=COM" -Server MyServer:3268" 
Invoke-expression $command 

問候保羅

+0

它與Invoke-Expression方法完美結合!非常感謝!這個社區很棒! – oakado