none
Problem Invoke_Command / PS3 RRS feed

  • Frage

  • Hallo,

    ich habe folgendes Problem:

    In einen Script prüfe ich den freien Speicher verschiedener Server.

    Invoke-Command -ComputerName Server  -Credential $Admin { Get-WmiObject -ComputerName Server  win32_logicaldisk -filter "drivetype=3" | select DeviceID,VolumeName,@{Name="Size";Expression={"{0:N1}" -f ($_.Size/1gb)}},@{Name="FreeSpace";Expression={"{0:N1}" -f ($_.FreeSpace/1gb)}} | ft DeviceID,Size,FreeSpace -AutoSize }

    Das funktioniert bei allen Servern, außer bei denen, wo ich auf WMF 3 upgedatet habe. Dort erscheint folgende Fehlermeldung:

    Das Datenelement writeErrorStream darf nicht NULL sein.
        + CategoryInfo          : InvalidData: (:) [out-lineoutput], ArgumentException
        + FullyQualifiedErrorId : FormatObjectDeserializerNullDataMember,Microsoft.PowerShell.Commands.OutLineOutputCommand

    und das Script wird beendet.

    Wenn ich bei Invoke-Command die Parameter -ComputerName und -Credentials weglasse, funktioniert es.

    Wenn ich das Script auf den Servern selbst starte, läuft es durch. Auf dem PC wo ich es normalerweise Starte läuft noch PS2. 

    Hat jemand eine Idee? Hat sich da in der Syntax was verändert?


    Rene Hubert - Systemadministrator - DRK KH Lichtenstein gGmbH





    Montag, 1. Oktober 2012 12:47

Antworten

  • Hallo Hubi!

    Ich kann deinen Fehler hier reproduzieren!
    Anscheinend gibt es da beim Invoke-Command Probleme mit der Session Umgebung.
    Du kannst diesen Fehler bei Microsoft Reporten!
    http://connect.microsoft.com/PowerShell

    Als Workaround hat folgendes für mich hier Funktioniert:

    Enter-Pssession -ComputerName $Server -Credential $Admin
    
        Get-WmiObject win32_logicaldisk -filter "drivetype=3" |
            select DeviceID,VolumeName,@{Name="Size";Expression={"{0:N1}" -f ($_.Size/1gb)}},@{Name="FreeSpace";Expression={"{0:N1}" -f ($_.FreeSpace/1gb)}} |
                ft DeviceID,Size,FreeSpace -AutoSize
                
    Exit-PSSession


    Please click “Mark as Answer” if my post answers your question and click Vote as Help if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als Hilfreich und Beiträge die deine Frage ganz oder teilweise beantwortet haben als Antwort.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '

    • Als Antwort vorgeschlagen Livio von Büren Dienstag, 2. Oktober 2012 11:43
    • Als Antwort markiert Hubi Dienstag, 2. Oktober 2012 16:14
    Montag, 1. Oktober 2012 14:02