Grupper i Powershell

Arbejde med grupper i Powershell

At Arbejde med grupper i Powershell, er ret nemt.
Jeg har samlet lidt scripts som løser diverse problemer eller gør tingene noget nemmere når man skal lave rette i grupper eller tilføje brugere.
Dette er for bulk rettelser, når mange grupper skal oprettes, omdøbes eller brugere skal tilføjes, det alt sammen kan gøre i Powershell.

At arbejde med grupper i Powershell

Omdøbe AD Grupper.

I nogle tilfælde kan det bliver nødvendigt at omdøbe grupper, rename groups. jeg har lavet et lille script som renamer gruppe navn udfra det sidste tegn i gruppen.

– replace (-match) ‘x$’, laver et check eller omdøber på den sidste del at strengen fra filen.
– replace (-macth) ‘^x’ Laver en omdøb eller et check i starten af strengen.

 

$Items = Get-Content C:\items.txt
Foreach ($Item in $Items) {
  if ($Item -match 'T$'){
       $ADGroup = Get-ADGroup $Item | select -ExpandProperty name
       $NewName = $ADGroup -replace 'T$', '-TEST'
       Get-ADGroup $ADGroup | % {Set-ADGroup $_.samaccountname –samaccountname $NewName ;Rename-Adobject $_.DistinguishedName –newname $NewName}
       Write-Host $Item er omdøbt til $NewName
  }
  else
  {
       $ADGroup = Get-ADGroup $Item | select -ExpandProperty name
       $PNewName = $ADGroup -replace 'P$', '-PROD'
       Get-ADGroup $ADGroup | % {Set-ADGroup $_.samaccountname –samaccountname $PNewName ;Rename-Adobject $_.DistinguishedName –newname $PNewName}
       Write-Host $Item er omdøbt til $PNewName
  }
}

Tilføj grupper via fil

Det nemmeste er at tilføje grupper via en fil, i det første eksempel er det bare via en tekstfil med namve i.
jeg tilføjer også lige en beskrivelse nu når vi alligevel er igang.

De forskellige GroupScopes er :
– DomainLocal
– Global
– Universal
læs evt. mere her. om New-ADGroup

#$path er der hvor gruppen skal oprettes.
$Path = "OU=Grupper,OU=Special Grupper,OU=Grupper,DC=Domain,DC=Local"
$Srvr = "Server"
#Læser gruppe navne.
$GrpName = Get-Content C:\Powershells\grupper.txt
Foreach ($Group in $GrpName) {
New-ADGroup -Server $Srvr -Path $Path -Name $Group -GroupScope DomainLocal -GroupCategory Security
Write-Host -ForegroundColor Yellow "Gruppen $group er nu oprettet"
#Sætter lige beskrivelse og Info.
Set-Adgroup -identity $Group -Description "Besrivelse" -Replace @{info="Information"}
}

 

Tilføj grupper via CSV

name,description,info,path
Group1,Descript1,Notes1,OU=Groups,DC=ACME,DC=com
Group2,Descript2,Notes2,OU=Groups,DC=ACME,DC=com

$ADGroups = import-csv "groups.csv"
foreach ($ADGroup in $ADGroups)
{	New-ADGroup -Name $ADGroup.Name -Description $ADGroup.Description -GroupCategory Security -groupscope DomainLocal -Path $ADgroup.Path
	Set-ADGroup -Identity $ADGroup.Name -Replace @{info="$($ADGroup.info)"}
}

Læs evt om beskrivelse på grupper

Skriv en kommentar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.