patrickebert
Goto Top

E-Mail Adresse anlegen am angelegten User Powershell

Hallo Liebe Leute,
bin gerade dabei ein PowershellScript zu schreiben welches an einem angelegten User die E-Mail Adresse am Exchange einschaltet bzw. aktiviert.

Dies ist ein Server 2012 mit Exchange 2013.

Nun zu meinen Script:

 
#ExchangeKonto zuweisen

$session=New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchange/powershell -Credential  xxx\administrator
Enter-PSSession $session
invoke-command -ComputerName Exchange -scriptblock {Add-PSSnapin Microsoft.Exchange.Management.PowerShell.PSSnapin; }; 
invoke-command -ComputerName Exchange -scriptblock {Enable-Mailbox "$anmeldename@domäne.de" -database "MB01"};   
Remove-PSSession -computername Exchange

Leider kommt hier immer die Fehlermeldung :

Die Benennung "Enable-Mailbox" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.

Hatte schon zig Varianten ausprobiert, jedoch komme ich hier nicht zum Erfolg.

Content-Key: 274285

Url: https://administrator.de/contentid/274285

Ausgedruckt am: 28.03.2024 um 18:03 Uhr

Mitglied: 114757
Lösung 114757 11.06.2015 aktualisiert um 08:47:07 Uhr
Goto Top
Moin,
das Remote Verbinden mit einem Exchange machst du korrekterweise so:
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "http://serverXYZ.domain.local/powershell" -Authentication Kerberos -Credential (get-credential)  
import-pssession $session
Und nicht anders ... Das direkte laden des Snapins ist von MS nicht supported und kann deinen Exchange im schlimmsten Fall sogar lahm legen !
Wird die Session so geladen, stehen die CMDLets automatisch zur Verfügung.

Gruß jodel32
Mitglied: patrickebert
patrickebert 11.06.2015 um 08:32:15 Uhr
Goto Top
das heißt , den Rest könnte ich so beibehalten ?
Mitglied: 114757
Lösung 114757 11.06.2015 aktualisiert um 08:47:09 Uhr
Goto Top
Zitat von @patrickebert:

das heißt , den Rest könnte ich so beibehalten ?
Hinter meinen Code nur das reine Enable-Mailbox ohne Invoke ... das reicht, denn du bist ja dann schon mit dem Exchange verbunden.

Zu Enable-Mailbox siehe
https://technet.microsoft.com/de-de/library/aa998251(v=exchg.150).aspx

p.s. In der Kategorie "Exchange" wäre für der Beitrag vermutlich besser aufgehoben.
Mitglied: patrickebert
patrickebert 11.06.2015 aktualisiert um 08:52:29 Uhr
Goto Top
Also habe mal gerade mein Script getestet, jedoch kommen noch 2 Fehlermeldungen

1. import-pssession : Es wurden keine Befehlsproxys erstellt, da alle angeforderten Remotebefehle vorhandene lokale Befehle verdecken würden. Verwenden Sie den
AllowClobber-Parameter, wenn Sie vorhandene lokale Befehle verdecken möchten.

2.Remove-PSSession : Die Remotesitzung ist für den Computer mit dem Namen "exchange" nicht verfügbar.
- Diesen Befehl könnte ich sicherlich auch weglassen,

bzw. auch folgendes schreiben
 
Remove-Pssession $session 

??

der User an sich wird aber in der Verwaltung angelegt.
Mitglied: 114757
114757 11.06.2015 aktualisiert um 08:55:22 Uhr
Goto Top
Ich hatte ja geschrieben, nur meine zwei Zeilen und danach direkt die Enable-mailbox-Zeile, in deiner Session waren sicherlich noch die CMDLets geladen deswegen die Meldung ...

Remove-Pssession $session
genau, ohne -Computername Parameter, denn du willst sie ja lokal aus der Session entfernen und nicht aus einer Remotekonsole.