2017-05-15 20 views
0

我想使用的用戶實例/用戶模板來創建我的新用戶,所以我寫了這個:複製用戶模板問題的PowerShell

$userInstance = "'" + "Get-ADUser -Filter { CN -eq " + "'" + $_.userInstance + "'" + " } -Properties *" + "'"; 
$path = $_.Path; 
#create user 
New-ADUser -SAMAccountName $_.SAMAccountName -Instance $userInstance -Name $_.name -DisplayName $_.displayName -Path "OU=$Path" -GivenName $_.givenname -Surname $_.surname -userPrincipalName $_.userprincipalname -AccountPassword (ConvertTo-SecureString -String $_.Password -AsPlainText -Force) -PassThru | Enable-ADAccount; 

但它不會複製特性的成員,或家庭文件夾路徑。 我必須忽略一些東西,因爲我檢查了微軟表格,其他用戶似乎也在做同樣的伎倆。

我看了一下-expand PARAM但我要複製的所有屬性,這樣不應該是我要使用的東西。因此我使用-Properties *。

當我搜索這個論壇上,我無法找到這個確切的問題的任何答案。如果有人找到答案,請讓我知道!也許我沒有用正確的詞搜索:)。感謝您提前回復。

回答

1

如果我沒記錯的話,然後,如果你使用的New-ADUser-instance參數組成員不重複。你可能必須自己做。

像這樣的東西應該的工作:

Add-ADPrincipalGroupMembership -id "NewUserName" -MemberOf (Get-ADPrincipalGroupMembership -id "Templateuser") 

home目錄應該工作雖然。

+0

嗨保羅,這似乎是真的。我補充說,在短暫的睡眠之後(該腳本在創建後似乎沒有找到用戶),現在它可以工作。當我將主文件夾保存在變量%username%的模板中時,會自動使其成爲屬性中的實際用戶名。也許我也需要一個單獨的命令。非常感謝! –

+0

@MellevanAar這是真的,可悲的是它沒有看到變量。你可以做的是把你的模板實例放在一個變量中,然後編輯對象的屬性('$ templateUser.HomeDirectory = ...')。這不會改變模板用戶在AD但'新ADUser便有-instance $ templateUser ...'cmdlet將使用改變後的屬性值 – Paul

+0

嗯,這似乎像更麻煩的一點比只使用'SET-ADUser便有-Identity「$ SAMAccountName」-HomeDrive「H:」-HomeDirectory「\\ share \ bla」;'睡後。但我似乎無法完成這項工作;)(我們的模板中的份額相同,我查了一下。) –