Labb 16: OU

Bild 1: OU struktur

Med PowerShell Script och en vanlig textfil skapas följande OU-struktur:

Starta PowerShell ISE och skriv följande kod:

# Create a OU-structure for VINET
# Name for the script: vinetOUstructure.ps1
# Chalo reyes, 2019-08-01
#
Import-Module ActiveDirectory
#
Get-Content OUStructure.txt | ForEach-Object {
$dominio = ’DC=diginto,DC=se’
$oustruc = ’ ’
$ous = (Split-Path $_ -Parent).Split(’\’)
[array]::Reverse($ous)
$ous | ForEach-Object {
if ($_.Length -eq 0) {
return
}
$oustruc = $oustruc + ’OU=’ + $_ + ’,’
}
$oustruc += $dominio
$display = Split-Path $_ -Leaf
New-ADOrganizationalUnit -Name ”$display” -Path ”$oustruc” -ProtectedFromAccidentalDeletion $false
}

Förklaringar

  • Först importeras ActiveDirectory modul
  • Scriptet hämtar information från en textfil (OUStructure.txt) som har lagrats i c:\Scripts\ADPS\. Observera att scriptet och textfilen finns i samma katalog och därför anges som endast namn och inte fullständigt sökväg till textfilen.
  • Information i textfilen vänds om och separeras med backslash tecken och därefter lagras i variabeln $ous. Detta görs för varje del av information som hämtas från textfilen.
  • När namn för OUs har ordnats läggs i början av varje namn OU= och ett kommatecken därefter. Det fullständiga namnet (Distinguished Name) lagras i variabeln $oustruc
  • Till innehållet i variabeln $oustruc läggs till DC=diginto,DC=se (innehåll i variabeln $dominio)
  • Slutligen tas bort skyddet för oönskade borttagning av organisationsenheten.