Скрипт для импорта учетных записей в AD из файла Excel

С помощью данного скрипта PowerShell можно добавить потоково учетные записи в AD. Для этого также должен быть файл с учетными записями.

#Store the data from Users.csv in the $Users variable
$Users = Import-csv C:\PS\[ИМЯ_ФАЙЛА_С_УЧЕТНЫМИ_ЗАПИСЯМИ].csv -Delimiter “;”

#Loop through each row containing user details in the CSV file 
foreach ($User in $Users)
{
	#Read user data from each field in each row and assign the data to a variable as below
		
	$Username = $User.username
	$Password = $User.password
	$Firstname = $User.firstname
	$Lastname = $User.lastname
	$OU = $User.ou 
	$Password = $User.Password
	$Otchestvo = $User.Otchestvo
	$jobtitle = $User.jobtitle
	$department = $user.department
	$company = $user.company
	
	#Check to see if the user already exists in AD
	if (Get-ADUser -F {SamAccountName -eq $Username})
	{
		#If user does exist, give a warning
		Write-Warning "A user account with username $Username already exist."
	}
	else
	{
		#User does not exist then create the new user account
		
        #Account will be created in the OU provided by the $OU variable read from the CSV file
  New-ADUser `
	-SamAccountName $Username `
	-UserPrincipalName "$Username@[DOMAIN]" `
	-Name "$Lastname $Firstname $Otchestvo" `
	-GivenName $Firstname `
	-Surname $Lastname `
	-Enabled $True `
	-DisplayName "$Lastname $Firstname $Otchestvo" `
	-Path $OU `
	-City $city `
	-company "$company" `
	-State $state `
	-StreetAddress $streetaddress `
	-OfficePhone $telephone `
	-EmailAddress $email `
	-title "$jobtitle" `
	-Department "$department"  `
	-AccountPassword (convertto-securestring $Password -AsPlainText -Force) -ChangePasswordAtLogon $False
            
	}
}

В коде данного скрипта установлены некоторые переменные, которые можно также использовать в отношении данных по учетной записи в AD.

Файл в формате csv должен содержать столбцы, соответствующие переменным.

Lastname,Firstname,Otchestvo,company,Username,Password,OU,jobtitle,department

Related Posts

Leave a Reply

Your email address will not be published.