J3qx

information archive

AddUsers_v1.3

Posted by j3qx на Ноябрь 1, 2016

AddUsers_v1.3.ps

 

#VER 1.3 15.05.14
#Создание пользователей и добавление в группы согласно подготовленной таблице

Import-Module ActiveDirectory
$Users=Import-Csv -Delimiter «;» -Path «c:\temp\\WMSuser.csv»
$GRPOU=»OU=WMS-01,OU=Groups,DC=office,DC=example,DC=ru»
$OU=»OU=WMS,OU=Test,DC=office,DC=example,DC=ru»
$OUuser=»DC=office,DC=example,DC=ru»
$LogPath=»C:\temp»
$Date=Get-Date -DisplayHint DateTime -Format H-mm-ss
$c=0

foreach ($User in $Users)
{
$Groups = $User.Group -split » »
$Login = $User.FirstName+».»+$User.LastName
$Slogin = $User.FirstName[0]+».»+$User.LastName
$Password = $User.Pass
$Pager = $User.Pager
$UserFirstname = $User.FirstName
$UserLastName = $User.LastName
$Detailedname = $User.LastName + » » + $User.FirstName
$DisplayName = $User.LastName + » » + $User.FirstName
$SAM = $Login + «@t.la-it.ru»
$ExUSR = Get-ADUser -SearchBase $OUuser -Filter{sn -like $UserLastName} -Properties Name, Pager

<#foreach($Group in $Groups)
{
$ExGRP=Get-ADGroup -SearchBase $GRPOU -Filter{name -like $Group} -Properties Name | Select-Object Name

if($ExGRP.name -eq $Group)
{
write-output «Группа $Group существует» | out-file -Append «$LogPath\WMSuser_group.log»
}

else
{
New-ADGroup -name $group -SamAccountName $group -DisplayName $group -Path $GRPOU -GroupCategory Security -GroupScope Global
write-output «Группа $Group создана» | out-file -Append «$LogPath\WMSuser_group.log»
}
}
#>

if(($ExUSR.SamAccountName -eq $Login) -or ($ExUSR.SamAccountName -eq $Slogin))
{
$Text=$ExUSR.SamAccountName
$Text1=$ExUSR.pager
write-output «$Text существует $Text1» | out-file -Append «$LogPath\WMSuser_exist_$Date.log»
}

elseif($ExUSR.pager -eq $Pager)
{
$Text=$ExUSR.SamAccountName
$Text1=$ExUSR.pager
write-output «$Text c пейджером $Text1 существует» | out-file -Append «$LogPath\WMSuser_exist_$Date.log»
}

elseif($Login.Length -gt 20)
{
write-output «$Login : у пользователя логин >=20 символов» | out-file -Append «$LogPath\WMSuser_create_$Date.log»
$Login = $User.FirstName[0]+».»+$User.LastName
$SAM= $Login + «@t.la-it.ru»
write-output «Пользователю логин изменен на $Login» | out-file -Append «$LogPath\WMSuser_create_$Date.log»
New-ADUser -Name $Detailedname -SamAccountName $Login -UserPrincipalName $SAM -DisplayName $displayName -GivenName $User.FirstName -Surname $User.LastName -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -Enabled $true -Path $OU
$P=Get-ADUser -SearchBase $OUuser -Filter{SamAccountName -like $Login} -Properties Pager
$P.Pager=$Pager
Set-ADUser -Instance $P
Write-Output «$Login присвоен пейджер $Pager»| out-file -Append «$LogPath\WMSuser_create_$Date.log»

foreach($Group in $Groups)
{
$ExGRP=Get-ADGroup -SearchBase $GRPOU -Filter{name -like $Group} -Properties Name | Select-Object Name

if($ExGRP.name -eq $Group)
{
#write-output «Группа $Group существует» | out-file -Append «$LogPath\WMSuser_group.log»
Add-ADGroupMember $Group -member $Login
write-output «$Login добавлен в группу $Group» | out-file -Append «$LogPath\WMSuser_group_add_$Date.log»
}

else
{
write-output «НЕ НАЙДЕНА $Group и $Login НЕ ДОБАВЛЕН» | out-file -Append «$LogPath\WMSuser_group_notexist_$Date.log»
}
}
$c++
}

else
{
New-ADUser -Name $Detailedname -SamAccountName $Login -UserPrincipalName $SAM -DisplayName $displayName -GivenName $User.FirstName -Surname $User.LastName -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -Enabled $true -Path $OU
Write-output «$Login создан» | out-file -Append «$LogPath\WMSuser_create_$Date.log»
$P=Get-ADUser -SearchBase $OUuser -Filter{SamAccountName -like $Login} -Properties Pager
$P.Pager=$Pager
Set-ADUser -Instance $P
Write-Output «$Login присвоен пейджер $Pager» | out-file -Append «$LogPath\WMSuser_create_$Date.log»

foreach($Group in $Groups)
{
$ExGRP=Get-ADGroup -SearchBase $GRPOU -Filter{name -like $Group} -Properties Name | Select-Object Name

if($ExGRP.name -eq $Group)
{
#write-output «Группа $Group существует» | out-file -Append «$LogPath\WMSuser_group.log»
Add-ADGroupMember $Group -member $Login
write-output «$Login добавлен в группу $Group» | out-file -Append «$LogPath\WMSuser_group_add_$Date.log»
}

else
{
write-output «НЕ НАЙДЕНА $Group и $Login НЕ ДОБАВЛЕН» | out-file -Append «$LogPath\WMSuser_group_notexist_$Date.log»
}
}
$c++
}

}
write-output «Создано $c учетных записей» | out-file -Append «$LogPath\WMSuser_$Date.log»

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: