Powershell PSSession Variable speichern

Alle Fragen rund Antworten rund um die ACMP Client Commands und Container
Antworten
Ronny069
Beiträge: 1
Registriert: Do Nov 04, 2021 10:58 am

Hallo zusammen,

ich habe ein Problem mit dem Powershell-Baustein in einem meiner ClientCommands.
Vielleicht kennt hier einer eine Lösung für das Problem oder kann mir aufzeigen was schief läuft.

Zum Problem:
Ich will mit Hilfe des "Execute PowerShell script"-Bausteins einen Wert eines Benutzers aus dem Active-Directory auslesen.
Dazu gebe ich im Baustein eine zuvor erstellte Variabel als Output-Variable an.
Im Script selber versuche ich via "Write-Host |" dann eine Variable aus einer PowerShellSession die remote auf einem Server ausgeführt ausgeführt wird zurück an die Output Variabel zu geben.
Leider bleibt die Output-Variable leer so das ich nicht weiter mit dieser arbeiten kann.

Es folgt der Inhalt des Scriptes:

Code: Alles auswählen

$passwort = ConvertTo-SecureString "1234" -AsPlainText -Force

$benutzerdaten= New-Object System.Management.Automation.PSCredential ("admin", $passwort)    

$Sitzung = new-PSSession -ComputerName server -Credential $benutzerdaten

Write-Host | Invoke-Command -session $Sitzung -scriptblock {Get-ADUser -Identity Benutzername -Properties * | select -ExpandProperty TelephoneNumber}

Direkt auf dem Client in der Powershell ausgeführt funktioniert das Script auch und gibt das gewollte AD-Attribut, in dem Falle die Telefonnummer, zurück.

Meiner Meinung nach sollte die Output-Variable die Telefonnummer enthalten, habe ich einen Denkfehler oder ist es gar ein Problem von ACMP selber?

Über Hilfe/einen Denkanstoß wäre ich dankbar.

Freudliche Grüße
Ronny
Benutzeravatar
ngottschalk
Beiträge: 293
Registriert: Mi Sep 08, 2010 12:57 pm

Hi Ronny,

ich vermute hier Probleme aufgrund des Kontexts; Ich wuerde als Gegenvergleich Folgendes testen:

1. Das PS Script in eine Datei auf dem Client schreiben
2. Via Execute Batch Command ein "powershell.exe -ExecutionPolicy ByPass -File <Das Script.ps1>" ausfuehren; Dieses Command sollte jegliche Ausgaben mitschreiben
3. Checken, ob etwas nicht funktioniert und falls ja, warum=)
Mit freundlichen Grüßen

Niklas Gottschalk (gottschalk@zoller-usa.com)
IT Systems Administrator
Zoller Inc.
Antworten