2017-05-26 66 views
0

我在Active Directory中更新自定義屬性時遇到了一些問題,並希望你們能幫助我。更新Active Directory中的自定義屬性

到目前爲止,我正在獲取更新的屬性,但它將整行發送出我的csv文件而不是一個值。

OK ...... Here's我的CSV看起來像:

PERSONALNUMMER;GESCHLECHT;NACHNAME;VORNAME;EMAIL;MOBIL;TEL;BEZIRK;VORGESETZER;ZINR;ZINAME;SPESENHOEHE;KOSTENSTELLE;VBART;COLLECTION; 
AA871;W;Mustermann;Max;[email protected];+49123456789;+492345678901;22559;A0C57;0000000031;Maxine Mustermann;01;0010076540;VB;0 

而這就是被導入到我的廣告屬性:

@{PERSONALNUMMER=AA871; GESCHLECHT=W; NACHNAME=Mustermann; VORNAME=Max; [email protected]; MOBIL=+49123456789; TEL=++492345678901; BEZIRK=22559; VORGESETZER=A0C57; ZINR=0000000031; ZINAME=Maxine Mustermann; SPESENHOEHE=01; KOSTENSTELLE=0010076540; VBART=VB; COLLECTION=0}.Collection 

好了......現在的代碼該片段是這樣做:

$users = Import-Csv $FullDestPath -Delimiter ';' 
foreach ($user in $users) { 
IF ($user.Collection -ne '') {Get-ADUser -Filter "SamAccountName -eq '$($user.PERSONALNUMMER)'" -Properties * -SearchBase "DC=intern,DC=berendsohn,DC=com" | Set-ADUser -replace @{bAGCollection="$user.Collection"}} 
Else {Get-ADUser -Filter "SamAccountName -eq '$($user.PERSONALNUMMER)'" -Properties * -SearchBase "DC=intern,DC=contoso,DC=com" |Set-ADUser -replace @{bAGCollection=""}} 
} 

這將是巨大的,如果你們能幫助我在這裏爲收集導入只是值,而不是導入整個變量$ user。

+0

你的問題看起來不完整的,什麼是你想達到什麼目的? – Raf

+0

謝謝你的回覆,Ralf。在CSV中是Collection的值 - 在本例中爲0 - 我想用它更新自定義屬性bAGCollection,而不是您在我的帖子中看到的字符串 –

+0

'@ {bAGCollection =「$ user.Collection」}' - > '@ {bAGCollection =「$($ user.Collection)」}' –

回答

1

的原因是因爲字符串使用:

Set-ADUser -replace @{bAGCollection="$user.Collection"} 

將導致解析器擴大$user和治療.Collection爲文字字符串。使用括子表達式運算符$()物業參考:

Set-ADUser -replace @{bAGCollection="$($user.Collection)"} 
相關問題