Freigeben über


Lust auf Powershell ?

(Powershell Profis bitte weglesen)

Die meisten werden die Powershell kennen ("Klar, das ist diese Commandline bei Exchange und so... Benutzt ? Nein, benutzt hab ich sie noch nie, ist aber sicher super !")

Auch ich habe lange gebraucht, bis ich nun mein erstes Script erstellt habe - vielleicht animieren meine Erlebnisse ja den einen oder anderen, es auch auszuprobieren:

Ich verwalte eine Mailverteilerliste auf meinem privaten Exchange-Server, zu der im Monat durchschnittlich 1 Person dazukommt. Das bedeutet, RDP Verbindung zum Server, Exchange Konsole öffnen, den Wizard zum Anlegen eines neuen Mailkontakts durchklicken, danach den Mailkontakt zur Liste hinzufügen.. Über RDP auf einem Memorymässig schwach ausgestatteten SBS eine langweile Sache.

Jedesmal der Gedanke: "Aber mit Powershell würd das schneller gehen", jedesmal trotzdem geklickt.

Eines Tages hats mir gereicht und ich hab mich drübergestürzt.

1. Hindernis (schwer im Web zu finden): Wie muss das Script heissen ? .cmd ? .bat ? Der Anruf bei einem guten Freund (der nebenbei ein Script-Profi ist) klärt die Sache:

 Script Endung ist .ps1

Trotzdem startet das Zeug nicht - kleine Verwirrung am anderen Ende der Leitung, ihm war völlig klar, dass man das Script mit .\script.ps1 startet - mir nicht ;)

Script starten: .\scriptname.ps1

So nebenbei: Natürlich muss die Exchange Management Shell als Administartor gestartet werden (wenn Win Server 2008)

Damit ist es dann relativ rasch gegangen (der Rest ist - im Gegensatz zu diesen "Kleinigkeiten" recht gut dokumentiert.)

Hier mein Script:

------------------------------------------------------------------------------------------------------------
$Vorname = read-host "Vorname"
$Nachname = read-host "Nachname"
$Mail = read-host "Mailadresse"

New-MailContact -ExternalEmailAddress $Mail -Name ($Vorname + " " + $Nachname) -Alias ($Vorname + $Nachname) -OrganizationalUnit

'decker.local/MyBusiness/Users/Contactsnpc' -FirstName $Vorname -Initials '' -LastName $Nachname
Add-DistributionGroupMember npc -Member $Mail
------------------------------------------------------------------------------------------------------------

Zuerst 3 Eingaben für die wesentlichen Angaben
Danach - vom Exchange-Wizard kopiert - der Befehl zum Anlegen des Mailkontakts
Und nach kurzem Bingen der Befehl zum Hinzufügen zu einer Distribution-List

Dauer (wenn man die Erstschwierigkeiten abzieht): Genauso lang, wie ich früher zum Anlegen eines Kontakts gebraucht habe

Mit dem Script dauert das Anlegen übrigens ca. 10 Sekunden....

So nebenbei stelle ich damit auch sicher, dass die Kontakte immer in der selben OU angelegt sind, aber das ist eine andere Geschichte....

Wie man das ganze so auf den Desktop legt, dass es per Doppelklick startbar ist, kann man hier nachlesen.

Danke an Christoph Wilfing für seine unendliche Geduld, wenn ich ihn mit meinen Anfängerfragen quäle....

Viel Spaß mit PowerShell - es ist einfacher als man denkt !

 

lg
Christian