从csv文件中导入Active Directory批量导入

问题描述:

我正尝试使用以下代码在Active Directory中批量导入到所有客户 OU。从csv文件中导入Active Directory批量导入

$Users = Import-Csv -Delimiter "`t" -Path "C:\AnnexA.csv" 
foreach ($User in $Users) 
{ 
$Displayname = $User.Forenames + " " + $User.Surname 
$UserFirstname = $User.Forenames 
$UserLastname = $User.Surname 
$OU = "OU=All Customers,DC=PentagonMoon,DC=local" 
$SAM = $User.Forenames + "." + $User.Surname 
$Town = $User.Town 
$Street =$User.Address 
$Postcode = $User.Postcode 
$Telephone = $User.Telephone 
$Email = $User.email 

New-ADUser -Name $Displayname 
-DisplayName $Displayname 
-SamAccountName $SAM 
-UserPrincipalName $UPN 
-GivenName $UserFirstname 
-Surname $UserLastname 
-City $Town 
-StreetAddress $Street 
-PostalCode $Postcode 
-HomePhone $Telephone 
-EmailAddress $Email 
-AccountPassword (ConverTo-SecureString - AsPlainText Password123 - Force) 
-Enabled $true -Path "$OU" 
-ChangePasswordAtLogon $false 
-PasswordNeverExpires $true 
} 

该CSV文件包含姓,名,地址,城镇,邮编,电话,电子邮件标题。我收到了一些错误,看不出代码有什么问题。

+2

如果您共享您所看到的错误,这将有助于。 –

+0

嗨,欢迎来到*。 在你问这个问题之前,你真的需要很多谷歌你的问题。这个任务已经创建了数千次。 当Import-CSV为您创建它们时,无需创建新变量。你只需要使用'$ _。Surname'。 你的密码永远不会工作。您需要在Foreach语句之外运行该变量并为其赋予一个变量。 你应该看看这个链接,它会告诉你你做错了什么。 https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Create-Active-7e6a3978 –

我不知道这是否是唯一的问题,而是:

-AccountPassword (ConverTo-SecureString - AsPlainText Password123 - Force) 

应该

-AccountPassword (ConvertTo-SecureString -AsPlainText Password123 -Force)