2 Replies Latest reply on Nov 27, 2014 4:20 AM by Nice2010

    DSM und Powershell

    Expert
      Hallo, ich versuche gerade erste PS Scripte in DSM Pakete einzubinden. Leider treten sehr schnell erste Probleme auf die ich nicht verstehe:

      Das Script:

      $Computername = gc env:computername

      function Get-OS {
        Param([string]$computername=$(Throw "You must specify a computername."))
        Write-Debug "In Get-OS Function"
        $wmi=Get-WmiObject Win32_OperatingSystem -computername $computername -ea stop
        write $wmi
        }

      $os= Get-OS $computername
      $uptime=((get-date) - ($os.ConvertToDateTime($os.lastbootuptime))).tostring()
      Write-debug "Adding $uptime"
      If ($uptime -ge "00:10:00.0000000") {Write-Host "größer"}
      If ($uptime -le "00:10:00.0000000") {Write-Host "kleiner"}


      Das Logfile:
      6:46:53.280 2         nilsPipe: --> Transact called with 16764 bytes data
      16:46:53.280 2         nilsPipe: NPI: -> CallScript('C:\Temp\Uptime.ps1','')
      16:46:53.280 1         nilsPipe: Service var bridge: Setting var WSS.ERROR to FALSE
      16:46:53.280 1         nilsPipe: Service var bridge: Setting var WSS.ERRORTEXT to
      16:46:55.246 2         nilsPipe: NPI: xniTools: RuntimeError: src:C:\Temp\Uptime.ps1 / line: 13 / position: 48
      16:46:55.246 2         nilsPipe: NPI: xniTools: RuntimeError: Caught Exception of type System.Management.Automation.CmdletInvocationException
      Diese Funktion kann nicht aufgerufen werden, da sie vom aktuellen Host nicht implementiert wird.
      16:46:55.246 2         nilsPipe: NPI: xniTools: RuntimeError: Code: If ($uptime -ge "00:10:00.0000000") {Write-Host "größer"}
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var WSS.ERROR to TRUE
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var WSS.ERRORTEXT to Caught Exception of type System.Management.Automation.CmdletInvocationException
      Diese Funktion kann nicht aufgerufen werden, da sie vom aktuellen Host nicht implementiert wird.
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var WSS.ERROR to TRUE
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var WSS.ERRORTEXT to An error occured
      16:46:55.246 E         Error (Module:nilsPipe, Severity:0x0b): NPI: Execution of NIL_CallScript with script C:\Temp\Uptime.ps1 failed
      Beim Ausführen der Funktion ist ein Fehler aufgetreten. (0x0000065b)
      16:46:55.246 2         Messagebox suppressed  (No output allowed), output is written to the log files
      16:46:55.246 2         MsgBox: [NPI: Execution of NIL_CallScript with script C:\Temp\Uptime.ps1 failed
      Beim Ausführen der Funktion ist ein Fehler aufgetreten. (0x0000065b)
      Installation wird beendet.]
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var _LAST_ERROR_TEXT to NPI: Execution of NIL_CallScript with script C:\Temp\Uptime.ps1 failed
      Beim Ausführen der Funktion ist ein Fehler aufgetreten. (0x0000065b)
      Installation wird beendet.
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var _ERROR_SEVERITY to 31
      16:46:55.246 2         nilsPipe: NPI: Messagebox suppressed  (No output allowed), output is written to the log files
      16:46:55.246 2         nilsPipe: NPI: MsgBox: [Execution of NIL_CallScript with script C:\Temp\Uptime.ps1 failed
      Beim Ausführen der Funktion ist ein Fehler aufgetreten. (0x0000065b)
      ]
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var _LAST_ERROR_TEXT to Execution of NIL_CallScript with script C:\Temp\Uptime.ps1 failed
      Beim Ausführen der Funktion ist ein Fehler aufgetreten. (0x0000065b)
      16:46:55.246 1         nilsPipe: Service var bridge: Setting var _ERROR_SEVERITY to 31


      Das Script ohne DSM ausgeführt funktioniert. Erkennt jemand meinen Fehler?

      Vielen Dank