以下のコードに問題があります。 私は0010798Mという名前の.csvファイルを持っています.3つのファイルには、名前、姓、名前の3つのファイルがあります。Powershellスクリプトファイル.csvから3種類の異なるファイルへ
.csvファイルのouセクションには、Account、Sales、Managementという名前の3つの異なるousがあります。
私のコードは、このリンクで提供されています
#Import the PowerShell module containing AD cmdlets
Import-Module ActiveDirectory
write-host "Start Process"
write-host "-------------------------------------"
try {
#Read the CSV file
$csvPath = "C:\0010798M.csv"
$csvData = import-csv $csvPath
write-host "Reading the CSV file......"
#Loop through all items in the CSV items
ForEach ($user In $csvData) {
$saMAccountName = $user.sAMAccountName
#Check if the User exists
$ADuser = Get-ADUser -LDAPFilter "(sAMAccountName=$saMAccountName)"
If ($ADuser -eq $Null) {
#Create user using New-ADUser cmdlet
$userPrincipalName = $user.sAMAccountName + "@adatum.com"
New-ADUser -Name $user.displayName `
-SamAccountName $sAMAccountName `
-UserPrincipalName $userPrincipalName `
-GivenName $user.givenname `
-Surname $user.sn `
-DisplayName $user.displayName `
-AccountPassword (ConvertTo-SecureString "Pa`$`$w0rd" -AsPlainText -Force) `
-PasswordNeverExpires $true `
-ChangePasswordAtLogon $false `
-Enabled $true
write-host "- " $user.sAMAccountName "| Account Created" -ForegroundColor green
} else {
write-host "- " $user.sAMAccountName "|Account Exists" -ForegroundColor yellow
}
}
} catch {
write-host "Error: " $($_.CategoryInfo) -ForegroundColor red
write-host "Message: " $($_.Exception.Message) -ForegroundColor red
}
write-host "-----------------------------------------------------------------"
write-host "End Process"
:
あなたが例えば
...新しいユーザーを作成するためにあなたのコマンドに-pathを追加し、あなたのCSVからのOUの名前を指定する必要があります試したことがどのように失敗したのですか?理想的には、試したことの[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を提供し、エラーメッセージやエラーメッセージなどの特定の情報を含めることが理想的です誤った出力。 SOはコード作成サービスではありません。最善の質問は、有益な情報を提供するものであり、回答者があなたの正解を工夫するためのガイドとなり得ることです。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を参照してください。 –
上記のコードを作成しましたが、Sales、Management、Accountsのいずれかにユーザーを割り当てる正確なコードはわかりません。 エラー:NotSpecified:(:) [Get-ADUser]、ADException メッセージ:検索フィルターを認識できません。 –
Get-ADUser'はユーザーに何も割り当てません。単にActive Directoryからユーザー情報を取得します。受け取ったエラーは、あなたの 'LDAPFilter'に問題があることを示しています。あなたは仕事を呼び出すためにこれを修正する必要があります。 LDAPFilterが実際に使われていることはめったにありません。他の方法でフィルタリングするほうが簡単です(ほとんどの人にはそうです)。[Get-Help Get-ADUser'](https://technet.microsoft.com/en-us/library/ee617241.aspx)ここで役に立つでしょう。 –