Graag een momentje geduld,
Verwerken van Uw verzoek...

    0%
  Business logo VanSoest.it
  ... | Switch language to English | Deze webpagina afdrukken. | Nederlandstalige Linkedin pagina van Johan van Soest | User: Gast | Login

Briefkaart afbeelding. Klik hier om te reageren naar Johan.

WebHalla
 Content
  Management
   System


ICT-Hotlist Thema

Terug naar de ICT-Hotlist...
Mis de laatste updates niet

Gebruik Windows PowerShell Cmdlets om Active Directory (AD DS) te beheren

In dit artikel kunt U lezen hoe U op de command prompt de Active Directory kunt wijzigen. Dit artikel toont U de PowerShell commando's om AD DS objecten toe te voegen, wijzigen en verwijderen (add, change, delete).

Met Windows PowerShell-cmdlets gebruikers beheren

Cmdlet Omschrijving
New-ADUser Creër gebruikeraccounts.
Set-ADUser Wijzigt de eigenschappen van gebruikeraccounts.
Remove-ADUser Verwijder gebruikeraccounts.
Set-ADAccountPassword Reset het wachtwoord van een gebruikeraccount.
Set-ADAccountExpiration Wijzigt de vervaldatum van een gebruikersaccount.
Unlock-ADAccount Ontgrendeld een gebruikersaccount wanneer het is vergrendeld na overschrijding van het toegelaten aantal onjuiste inlogpogingen.
Enable-ADAccount Maakt een gebruikersaccount beschikbaar.
Disable-ADAccount Schakelt een gebruikersaccount uit.
Het volgende is een voorbeeld van een opdracht die U zou kunnen gebruiken om een gebruikersaccount aan te maken met een prompt voor een wachtwoord:
New-ADUser "Johan van Soest" -AccountPassword (Read-Host -AsSecureString "Enter password") -Department IT | Enable-Account

Met Windows PowerShell-cmdlets groepen beheren

Cmdlet Omschrijving
New-ADGroup Creëert nieuwe groepen.
Set-ADGroup Wijzigt de eigenschappen van groepen.
Get-ADGroup Geeft de eigenschappen van groepen.
Remove-ADGroup Verwijdert groepen.
Add-ADGroupMember Voegt leden aan groepen toe.
Get-ADGroupMember Toont lidmaatschap van groepen.
Remove-ADGroupMember Verwijdert leden uit groepen.
Add-ADPrincipalGroupMembership Voegt groeplidmaatschap toe aan objecten.
Get-ADPrincipalGroupMembership Toont groepslidmaatschap van objecten.
Remove-ADPrincipalGroupMembership Verwijdert groepslidmaatschap van objecten.
De volgende opdracht is een voorbeeld van wat U zou kunnen typen in een Windows PowerShell-prompt om een nieuwe groep te maken:
New-ADGroup -Name "Project_2016Q3" -Path "ou=managers,dc=van_Soest,dc=it" -GroupScope Global -GroupCategory Security

Computer Accounts beheren met behulp van Windows PowerShell cmdlets

Cmdlet Omschrijving
New-ADComputer Maakt een nieuwe computeraccount.
Set-ADComputer Wijzigt eigenschappen van een computeraccount.
Get-ADComputer Geeft eigenschappen van een computeraccount weer.
Remove-ADComputer Verwijdert een computeraccount.
Test-ComputerSecureChannel Verifieert of herstelt de vertrouwensrelatie (trust) tussen een computer en het domein.
Reset-ComputerMachinePassword Reset het wachtwoord voor een computer account.
Het volgende is een voorbeeld dat U kunt gebruiken om een computeraccount aan te maken:
New-ADComputer -Name NLAALPC160101 -Path "ou=management,dc=van_Soest,dc=it" -Enabled $true

Met behulp van Windows PowerShell cmdlets OU's beheren

Cmdlet Omschrijving
New-ADOrganizationalUnit Creëert OU's.
Set-ADOrganizationalUnit Wijzigt eigenschappen van OU's.
Get-ADOrganizationalUnit Geeft eigenschappen van OU's.
Remove-ADOrganizationalUnit Verwijdert OU's.
Het volgende is een voorbeeld dat U kunt gebruiken wanneer U een nieuwe OU wil creëren:
New-ADOrganizationalUnit -Name Sales -Path "ou=marketing,dc=van_Soest,dc=it" -ProtectedFromAccidentalDeletion $true

PowerShell Active Directory (AD DS) voorbeeld

De volgende PowerShell-scripts maken het voorbeeld uit artikel : "DSADD ou, DSADD group, DSADD user, DSMOD ou, DSMOD group, DSMOD user, DSRM ou, DSRM group, DSRM user"
De voorbeelden maken de structuur uit de volgende afbeelding:

Directory structuur gebouwd door de voorbeelden.

Voeg een Active Directory Organizational Unit toe.

Om een Organizational Unit "OU-Development" met een omschrijving toe te voegen aan het domein "van_soest.it" gebruik:
###############################################################################
# This Powershell script creates an Active Directory organisational unit
# (C)Copyright 2015 - 2018 vanSoest.it by Johan van Soest
###############################################################################
Try{
    New-ADOrganizationalUnit -Name "OU-Development" `
            -Country "NL" `
            -City "Waalre" `
            -Description "Organizational unit for Development groups" `
            -State "NB" `
            -Path "DC=van_soest,DC=it" `
    Write-Host "Succesful creation of Organizational Unit"
    }
Catch{
    $ErrorMessage = $_.Exception.Message
    $FailedItem = $_.Exception.ItemName

    Write-Host "Could not create Organizational Unit. `n[$ErrorMessage] `n[$FailedItem]" -ForegroundColor Red
    Read-Host "Read error and press enter to continue"
    }

Waarschuwing: Een Windows domeinnaam kan geen underscore "_" bevatten volgende deze standaarden. De underscore is in deze voorbeelden gebruikt als een anti-spam maatregel.

Voeg een Active Directory Groep toe.

Om een globale veiligheids-groep "Gsg-Development" met een omschrijving toe te voegen aan de "OU-Development" OU container kunt U:
###############################################################################
# This Powershell script creates an Active Directory global security group
# (C)Copyright 2015 - 2018 vanSoest.it by Johan van Soest
###############################################################################

Try{
    New-ADGroup -Name "Gsg-Development" `
            -Description "Software development department" `
            -GroupCategory Security `
            -GroupScope Global `
            -SamAccountName "Gsg-Development" `
            -Path "OU=OU-Development,DC=van_soest,DC=it"
    Write-Host "Succesful creation"
    }
Catch{
    $ErrorMessage = $_.Exception.Message
    $FailedItem = $_.Exception.ItemName

    Write-Host "Could not create Group. `n[$ErrorMessage] `n[$FailedItem]" -ForegroundColor Red
    Read-Host "Read error and press enter to continue"
    }

Voeg een Active Directory-gebruiker toe.

Een gebruiker toevoegen aan de "Users" container met de volgende eigenschappen:
  • Voornaam = "Johan"
  • Achternaam = "Soest van"
  • Loginnaam = "Johanvs"
  • Omschrijving = "Johan van Soest"
  • Wachtwoord = "V3ry S3cr3t!"
  • Titel = "Job Title"
  • Afdeling ="ICT-department"
  • Bedrijfsnaam = "van_soest.it"
  • E-mail = johan@van_soest.it
  • Home drive = "G:\"
  • Home Directory = "\\dc1\johanvs$"
kunt U doen met:
###############################################################################
# This Powershell script creates an Active Directory user
# (C)Copyright 2015 - 2018 vanSoest.it by Johan van Soest
###############################################################################

# Create secure password so account is enabled right away

$PlainPassword = "V3ry S3cr3t!"
$SecurePassword = $PlainPassword | ConvertTo-SecureString -AsPlainText -Force
Try{
    New-ADUser -Name "Johanvs" `
            -AccountPassword $SecurePassword `
            -CannotChangePassword $False `
            -ChangePasswordAtLogon $False `
            -City "Waalre" `
            -Company "van_soest.it" `
            -Country "NL" `
            -Department "ICT-department" `
            -Description "Johan van Soest" `
            -EmailAddress "johan@van_soest.it" `
            -Enabled $True `
            -GivenName "Johan" `
            -HomeDirectory "\\dc1\johanvs$" `
            -HomeDrive "G:" `
            -Name "Johan van Soest" `
            -PasswordNeverExpires $False `
            -PasswordNotRequired $False `
            -Path "cn=Users,DC=van_soest,DC=it" `
            -Surname "Soest van" `
            -Title "Job Title" `
    Write-Host "Succesful creation of user"
    }
Catch{
    $ErrorMessage = $_.Exception.Message
    $FailedItem = $_.Exception.ItemName

    Write-Host "Could not create User. `n[$ErrorMessage] `n[$FailedItem]" -ForegroundColor Red
    Read-Host "Read error and press enter to continue"
    }

Voeg een Active Directory-gebruiker toe aan een Active Directory Groep.

Om een gebruiker "Johan van Soest" toe te voegen aan de groep "Gsg-Development", nadat beiden zijn aangemaakt, kunt U het volgende commando gebruiken:
###############################################################################
# This Powershell script adds an Active Directory user to an AD group
# (C)Copyright 2015 - 2018 vanSoest.it by Johan van Soest
###############################################################################

Try{
    $ADUser = Get-ADUser "cn=Johan van Soest,cn=Users,DC=van_soest,DC=it"
    $ADGroup = Get-ADGroup "cn=Gsg-Development,OU=OU-Development,DC=van_soest,DC=it"
    Add-ADGroupMember $ADGroup -Member $ADUser
    Write-Host "Succesful creation"
    }
Catch{
    $ErrorMessage = $_.Exception.Message
    $FailedItem = $_.Exception.ItemName

    Write-Host "Could not create User Group membership. `n[$ErrorMessage] `n[$FailedItem]" -ForegroundColor Red
    Read-Host "Read error and press enter to continue"
    }

Extra lessen uit deze PowerShell voorbeelden

  • De try catch programmeer-structuur is tevens mogelijk in PowerShell, waardoor correcte foutafhandeling kan worden uitgevoerd.
  • `n maakt een nieuwe regel in de output geproduceerd door Write-Host.
  • De Write-Host -ForegroundColor en -BackgroundColor kunnen de tekst-kleuren aanpassen
  • Om een PowerShell-opdracht met alle opties over meerdere regels te kunnen vormgeven, sluit U de regels af met `
  • Natuurlijk kunt U de data in de Active Directory laden vanuit een csv-bestand .
U mag stemmen over dit artikel:


Artikel gemaakt  :  01-05-2017
Artikel laatst bijgewerkt  :  01-05-2017

Scripts en programmeervoorbeelden disclaimer

Tenzij anders vermeld, zijn de scriptcode en programmeervoorbeelden auteursrechtelijk beschermde (copyright) freeware. U mag deze wijzigen, zolang een verwijzing naar de oorspronkelijke code en een hyperlink naar de bronpagina is opgenomen in de gewijzigde code en documentatie. Het is echter niet toegestaan om (kopieën van) de scripts en programmeervoorbeelden te publiceren op uw eigen site, blog, vlog, of te distribueren op papier of een andere drager, zonder voorafgaande schriftelijke toestemming.
Bij veel van de technieken gebruikt in deze scripts, met inbegrip van maar niet beperkt tot register-wijzigen of wijzigingen aan systeembestanden of instellingen, bestaat een risico dat een werkend besturingssysteem onbruikbaar wordt en gegevens verloren kunnen raken. Zorg ervoor dat U gecontroleerd heeft dat U beschikt over volledige back-ups en de bijbehorende herstelsoftware voordat U deze scripts of programmavoorbeelden gebruikt. Het gebruik van deze scripts en programmeervoorbeelden is volledig Uw eigen risico. Alle aansprakelijkheidsclaims tegen de auteur met betrekking tot materiële of niet-materiële verliezen als gevolg van het gebruik, misbruik of niet-gebruik van de verstrekte informatie of het gebruik van onjuiste of onvolledige informatie, zijn uitgesloten. Alle inhoud is onderhevig aan verandering en geleverd zonder verplichting.
Gegenereerd door WebHalla™ Versie 0.1.e.1 : Zondag 16-12-2018 © Copyright 1995-2018 Johan van Soest
Respons Formulier    Cookie- en Privacy statement
Luchtkwaliteit Waalre door
PM1 4.0 μgr/m3
PM 2,5 6.0 μgr/m3
PM 10 17.0 μgr/m3
Ozon 7.2 μgr/m3
Vocht 68.25%
Temperatuur 17.95°C