Manchmal müssen auch selten genutzte Attribute gepflegt werden. In einem Fall aus der Vergangenheit mussten Probleme mit Verbindungen auf verschiedene Systeme analysiert werden. Dabei ist aufgefallen, dass der Wert „LogonWorkstations“ bei dem Anwender gefüllt war.
Daraufhin habe ich mir dieses Skript erstellt, mit dem man einiges mit dem Aufruf anpassen kann:
# LogonsWorkstation.ps1
# Das Skript kann unterschiedliche Modi:
# s = search
# Es wird der aktuelle Eintrag angezeigt
# a = add
# Es wird der aktuelle Eintrag hinzugefügt
# Alle weiteren Einträge werden entfernt
# m = modify
# Es wird der aktuelle Eintrag hinzugefügt
# Alle weiteren Einträge werden übernommen.
# r = replace
# Alle Einträge werden gelöscht
$mode=$args[0]
# Benutzer der angepasst werden soll
$User = $args[1]
# Bezeichnung des neuen Systems
$Workstation = $args[2]
# Gesamter Befehlssatz:
# .\logonWorkstation.ps1 m test01 WKSWin110001
# Dem User test01 wird das System WKSWin110001 zu den vorhandenen Systemen hinzugefügt.
# Sollte kein Eintrag vorhanden sein, wir dieser aks erster gesetzt.
# Ermittlung des aktuellen Wertes
$LogonWorkstations = Get-AdUser -Identity $User -Properties LogonWorkstations | select -ExpandProperty LogonWorkstations
if ($args[0] = "s")
{
$LogonWorkstations
}
if ($args[0] = "a")
{
Set-ADUser -Identity $User -LogonWorkstations "$Workstation"
}
if ($args[0] = "m")
{
Set-ADUser -Identity $User -LogonWorkstations "$LogonWorkstations,$Workstation"
}
if ($args[0] = "r")
{
Set-ADUser -Identity $User -LogonWorkstations $null
}
Hiermit können die üblichen Szenarien einfach umgesetzt werden.