netzwerkdude
Goto Top

Invoke-Command auf Exchange Server

Tach,

habe hier einen Exchange Version 15.1 (Build 1261.35) - wenn ich mich per New-PSSession darauf verbinde, werden die ganzen Exchange CMDlets geladen - soweit sogut.

Wenn ich per Invoke-Command -Script was ausführen will, sagt er das die Exchange CMDlets nicht kennt:

Die Benennung "get-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.
    + CategoryInfo          : ObjectNotFound: (get-mailbox:String) , CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Dann dachte ich man muss die Powershell Dinger im Skript nachladen mit:
 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
im skript das übergeben wird ,dann sagt Invoke-Command allerdings:

Fehler bei Active Directory-Vorgang auf . Die angegebenen Anmeldeinformationen für 'domain\Adminaccount' sind ungültig.  
    + CategoryInfo          : NotSpecified: (:) , ADInvalidCredentialException
    + FullyQualifiedErrorId : [Server=ExchangeSRV7,RequestId=60386f2d-36a9-4705-8b5d-96a7c6201151,TimeStamp=05.10.2018 12:02:20] [FailureCategory=Cmdlet-ADInvalidCredentialEx 
   ception] 5C48A829
    + PSComputerName        : ExchangeSRV7

mh, daher die Frage: Wie kann ich skripte mit exchange-cmdlets per Invoke Command an den Exchange übergeben?

MFG N-Dude

Content-Key: 388582

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

Printed on: May 21, 2024 at 10:05 o'clock

Mitglied: 137289
Solution 137289 Oct 05, 2018 updated at 12:20:16 (UTC)
Goto Top
Zitat von @NetzwerkDude:
habe hier einen Exchange Version 15.1 (Build 1261.35) - wenn ich mich per New-PSSession darauf verbinde, werden die ganzen Exchange CMDlets geladen - soweit sogut.
Und mit Import-PSSession importiert.
Wenn ich per Invoke-Command -Script was ausführen will, sagt er das die Exchange CMDlets nicht kennt:
Klar weil per Invoke-Command auf eine cleane PS Session verwiesen wird die die CMDLets nicht kennt.
Dann dachte ich man muss die Powershell Dinger im Skript nachladen mit:
 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn
im skript das übergeben wird ,dann sagt Invoke-Command allerdings:
Das müsstest du erst in der PSSessionConfiguration erlauben, macht hier aber keinen Sinn.
mh, daher die Frage: Wie kann ich skripte mit exchange-cmdlets per Invoke Command an den Exchange übergeben?
Brauchst du gar nicht denn mit Import-PsSession stehen dir die CMDLets schon in deiner Umgebung zur Verfügung und die Befehle werden automatisch über EWS an den Exchange gesendet, ist also nicht nötig mit Invoke-Command zu arbeiten.

Gruß speedlink
Member: NetzwerkDude
NetzwerkDude Oct 05, 2018 at 12:21:55 (UTC)
Goto Top
Danke für die Ausführungen soweit.
Also ich hab ein Skript das auf dem AD den User anlegt + die Mailbox am schluss anlegen soll - dachte es wäre am geschicktesten im Skript ein Invoke-Command zu verwenden statt die Import-PSSession
Mitglied: 137289
137289 Oct 05, 2018 updated at 12:25:47 (UTC)
Goto Top
Zitat von @NetzwerkDude:

Danke für die Ausführungen soweit.
Also ich hab ein Skript das auf dem AD den User anlegt + die Mailbox am schluss anlegen soll - dachte es wäre am geschicktesten im Skript ein Invoke-Command zu verwenden statt die Import-PSSession
Das wäre dann doppelt gemoppelt, erst per invoke-command tunneln und dann "nochmal" per EWS und wieder zurück deserialisiert, ineffektiver geht's dann wohl nicht face-smile.
Import-PSSession ist hier das Mittel der Wahl.
Member: NetzwerkDude
NetzwerkDude Oct 05, 2018 at 12:27:50 (UTC)
Goto Top
Hehe, ich wollte daher NUR Invoke-Command nutzen

aber gut, dann mache ich es mit der PSSession