Schlagwort-Archive: Powershell

Mailverteiler per Powershell erstellen

Verteiler sind was feines, man muss nur eine Email Adresse eingeben und erreicht mehrere Personen.

Bei der Erstellung des Verteilers können gleich die Mitglieder angegeben werden:

New-DistributionGroup Verteilername -Members Benutzer1,Benutzer2,Benutzer3 -DisplayName „Kuchen Verteiler“

Standardmäßig sind die Verteiler nicht von extern erreichbar, das ändert man mit folgendem Einzeiler

Set-DistributionGroup Verteilername -RequireSenderAuthenticationEnabled $false

Poweshellscripte können nicht ausgeführt werden

Letztens hatte ich ein Problem, das ich ein Powershellscript lokal auf meinem Rechner erstellt und getestet hatte. Als ich das erstellte Script auf dem Server ausführen wollte, erhielt ich folgende Fehlermeldung:

File C:\Users\lieschen.mueller\Desktop\checkfolders.ps1 cannot be loaded because the execution of scripts is disabled on this system.
Please see „get-help about_signing“ for more details.
At line:1 char:20
+ .\checkfolders.ps1 <<<< + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException

Das Problem ist, das der Server dem Script nicht vertraut und deswegen nicht ausführt. Um das Script letztendlich ausführen zu können gibt es mehrere Möglichkeiten. Ich habe die set-executionpolicy gesetzt, da ich des öfteren Scripte lokal erstelle und diese dann auf dem Server ausführe.

set-executionpolicy remotesigned

Im Anschluss konnte das Script ausgeführt werden.

Benutzerpasswort ändern

Nach langer Abwesenheit kann es mal vorkommen das ein Mitarbeiter sein Passwort vergessen hat.
Diese kann über die entsprechende MMC gesetzt werden oder schnell und einfach über die Powershell

Set-ADAccountPassword -Identity lieschen.mueller -Reset -NewPassword (ConvertTo-SecureString -AsPlainText „geheim“ -Force)

Wenn der Benutzer bei der Anmeldung sein Kennwort ändern soll, muß noch folgendes Kommando ausgeführt werden

Set-ADUser -Identity lieschen.mueller -ChangePasswordAtLogon $true

Gruppen oder Mailverteiler Rekursiv auflösen

An sich ist es eine Banalität und wenn man die Beschreibung der CMDLETS aufmerksam liest, stellt sich dieses Problem gar nicht.
Aber solch Leuten wie mir, die so etwas gern mal ignorieren, kann es zu folgendem Problem kommen.

Nehmen wir an, wir haben einen Mailverteiler mit Usern und Gruppen als Mitglied. Die Gruppen beinhalten wiederum Mitglieder und Gruppen. Soll heißen man hat Mitgliedschaften mit Verschachtelung auf mehren Ebenen.

Ein „Get-ADGroupMember -identity „Gruppe1“ würde als Ergebnis nur die Mitgliedschaften der ersten Ebene ausgeben.

Nachdem ich mir ein recht kompliziertes Skript gebaut hatte, welches mir auch die nächsten Gruppen auflöst, bin ich durch Zufall auf die Option -Recursive gestoßen.

Get-ADGroupMember -identity „Gruppe1“ -Recursive

Wie gesagt wer lesen kann ist klar im Vorteil. Für alle die es bisher noch nicht kannten, viel Spaß beim Ausprobieren.