Powershell: Computer soll sich selbst zur einer AD Gruppe hinzufügen

Wenn das Active Directory nicht manuelle OU’s für Desktops und Laptops hat, die auch noch akribisch gepflegt werden, gibt es hin und wieder die Notwendigkeit die Computer der Einen oder Anderen Benutzergruppe, also die Rechner der Laptop-Anwender bzw. Desktop Anwender separat zu bedienen. Der Microsoft Configuration Manager macht das recht einfach möglich. Nun kann ich entweder die Daten aus ConfigMgr. exportieren und in AD exportieren oder kann die Arbeit einem Script übergeben:

$AdminServer = 'Administrative Server'
$AdminDC = 'specify Domain controller'
$Group = 'Group Name to be filled'
$localPC = $env:computername
$Username = 'User with permissions to do the change'
$Password = ConvertTo-SecureString "password to be cached" -AsPlainText -Force
$credential = New-Object -TypeName System.Management.Automation.PsCredential -ArgumentList $Username, $Password

If (Test-Connection -ComputerName $AdminServer -Source $localPC)
{
    $localPC = $localPC + "$"
	$localPC
	Get-PSSession | Remove-PSSession
	$Session = New-PSSession -ComputerName $Adminserver -Authentication 'Default' -Credential $credential -Name 'AddGroup'
	Invoke-Command -Session $Session -ArgumentList $Group, $localPC, $AdminDC, $credential -ScriptBlock	{
		Import-Module ActiveDirectory
		Add-ADGroupMember -Identity $args[0] -Members $args[1] –Server $args[2] -Credential $args[3]
	}
	Get-PSSession | Remove-PSSession
}
else
{
	"2"; exit; "2"
}

Dieses Script, vorzugsweise als exe-Datei kompiliert, ermächtigt den Computer sich selbst in eine definierte Security Group aufzunehmen. Möglich macht das das übergeben von Benutzer-Namen und Kennwort eines berechtigten administrativen Benutzers. Durch das Kompilieren sind diese Daten verborgen und nicht so einfach einzusehen.

Das Script kann auch noch von Powershell 2 verarbeitet werden, da die CMDlets zum Befüllen der AD Gruppe auf dem Administrativen Server verwendet werden. Selten haben Benutzer das dafür notwendige Module lokal vorhanden.

Wichtig: Der administrative Benutzer muss lokaler Administrator auf dem Administrativen Server sein, damit die Remote Powershell ausgeführt werden kann. Ggf. können diese Rechte auch über WinRM separate vergeben werden. Ebenfalls muss dieser administrative Benutzer berechtigt sein Änderungen an AD Security Groups vorzunehmen.

Facebooktwittergoogle_plus
Facebooktwittergoogle_plus

1 Kommentar

  1. christiang79christiang79 (Beitrag Autor)

    Kompilieren ist zB. mit Sapien Powershell Studio möglich.

    Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

Cookies help us deliver our services. By using our services, you agree to our use of cookies. More Info | Close
%d Bloggern gefällt das: