PowerShell Nowa Grupa - Script
Witam
Jeżeli przyjdzie Wam do utworzenia sporej ilości grup dodatkowo z kilkoma wybranymi atrybutami to chyba najwygodniej skorzystać z PowerShell oraz dobrodziejstw Excel'a (przeciąganie serii - inaczej mówić powielaniu pewnych komórek).
1. Należy przygotować plik *.CSV
Name;Path;Description;Managed;Mail;DName
Finance;"OU=Chirurgia,OU=szpital,DC=szary,DC=pl";Chirurgia;"CN=MarcinSzary,OU=DOM,DC=szary,DC=pl";"fis@szary.pl";"CN=Finance,OU=szpital,DC=szary,DC=pl"
IT;"OU=Chirurgia,OU=szpital,DC=szary,DC=pl";Chirurgia;"CN=MarcinSzary,OU=DOM,DC=szary,DC=pl";"its@szary.pl";"CN=IT,OU=szpital,DC=szary,DC=pl"
2. Plik Powershell *.ps1 najlepiej w PowerShell ISE
$csv = Import-Csv -Path "c:\groups.csv" -Delimiter ";"
ForEach ($item In $csv)
{
$create_group=New-ADGroup -Name $item.Name -Path $item.Path -Description $item.Description -ManagedBy $item.Managed -OtherAttributes:@{"mail"=$item.Mail} -GroupScope Global
Write-Host -ForegroundColor Green "Group $($item.GroupName) created!"
}
3. Na konec kolejny *.ps1 przy pomocy którego warto było by zmodyfikować parametr (włączyć) zabezpieczenie przed przypadkowym usunięciem którego niestety nie da się dodać podczas tworzenia grup.
$csv = Import-Csv -Path "c:\groups.csv" -Delimiter ";"
ForEach ($item In $csv)
{
Set-ADObject -Identity $item.DName -ProtectedFromAccidentalDeletion:$true
Write-Host -ForegroundColor Green "Group $($item.GroupName) created!"
}