Benutzer mit den meisten Antworten
Ausführen eines Powershell-Scripts auf einem Remotesystem funktioniert nicht.

Frage
-
Hallo zusammen,
ich habe in der Arbeit folgendes Problem. Wir müssen mit unserer Softwareverteilung (Columbus) ein Powershellscript aufrufen, welches eine Remotesitzung zu einem SOFOS (Festplattenverschlüsselung) Server herstellt. Danach wird ein weiteres Powershellscript aufgerufen, welches auf dem Server ein VBS-Script aufruft. Dies muss so funktionieren. Das Tut es aber nicht, wenn es aus Columbus heraus aufgerufen wird. Wenn ich es dagegen auf der Console mit gleichem Account aufrufe, dann klappt es. Anbei sende ich Euch den Inhalt der beiden Powershellscripts.
Ich weis auch nicht, wie ich sonst ein VB-Script remote auf dem Server ausführen lassen soll. Danke an EuchGrüße , Andreas
Script1:=====
param (
$computer = ${env:computername}
)# Variblen
#---------
$remoteServer = "xxxxxxxx1"
#$remoteServer = "xxxxxxxx2"
$remoteScript = 'C:\xxxxxx\xxxxxx\Remote.ps1'Get-PSSession | Remove-PSSession
Write-Host ""
if ($computer -notlike "") {
Write-Host "Es wird versucht eine Verbindung mit $remoteServer (SafeGuard Enterprise Management Console) aufzubauen..."
$newSession = new-PSSession -ComputerName $remoteServer -ErrorAction Stop -Authentication Kerberos
$remoteSession = Get-PSSession | where {$_.ComputerName -like $remoteServer}
Write-Host "Verbindung zu $remoteServer erfolgreich hergestellt" -ForegroundColor Green
Write-Host
Write-Host "Es wird versucht den PC $computer in die Maintenance Gruppe zu verschieben..."
invoke-command -filepath $remoteScript -ArgumentList $computer -Session $remoteSession -ErrorAction Stop
Write-Host "PC $computer wurde erfolgreich in die Maintenance Gruppe verschoben" -ForegroundColor Green
}
Write-Host ""
Write-Host "Remote Session wird beendet..."
Get-PSSession | Remove-PSSession -ErrorAction Stop
Write-Host "Remote Session erfolgreich beendet" -ForegroundColor Green
Start-Sleep 5Script2:
======
param (
$computer = ""
)
C:\xxxxx\xxxxxx\cscript.exe C:\xxxxxxx\xxxxxxx\MoveToMaintenance.vbs $computer- Bearbeitet RUAGOP Mittwoch, 17. Januar 2018 12:34
Antworten
-
>muss so funktionieren. Das Tut es aber nicht, wenn es aus Columbus heraus aufgerufen wird
Zum einen hast du leider die wichtigsten Informationen weggelassen:
- was klappt nicht? Läuft Script 1, 2 oder 3 nicht? Gibt es eine Fehlermeldung?
Zum anderen ist "Wenn ich es dagegen auf der Console mit gleichem Account aufrufe, dann klappt es" leider der Knackpunkt. Powershellseitig scheint hier alles zu gehen, das Problem scheint viel eher bei deiner Softwareverteilung "Columbus" zu liegen, bzw. beim Aufruf von PoSh aus dieser heraus. Das weitere Vorgehen hängt nun vom konkreten Fehlerbild ab.
Ich gehe ja mal davon aus das bereits das erste PoSh-Script nicht startet, aber um sicherzugehen füge mal in jedes (Powershell) Skript ein:
set-content "c:\script_N_gestartet.txt" ""
(N durch 1 oder 2 ersetzen) und in das vbs-script folgendes:
Set objFSO = CreateObject("scripting.filesystemobject") Set logStream = objFSO.createtextfile("c:\script3_gestartet.txt", True)
Ganz unabhängig davon, kann man auch zumindest Script 1 und 2 zusammenfassen, aber das ist noch eine andere Baustelle.
Grüße, Denniver
http://bytecookie.wordpress.com/
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Mittwoch, 20. Juli 2011 20:44
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Freitag, 22. Juli 2011 11:06
Alle Antworten
-
>muss so funktionieren. Das Tut es aber nicht, wenn es aus Columbus heraus aufgerufen wird
Zum einen hast du leider die wichtigsten Informationen weggelassen:
- was klappt nicht? Läuft Script 1, 2 oder 3 nicht? Gibt es eine Fehlermeldung?
Zum anderen ist "Wenn ich es dagegen auf der Console mit gleichem Account aufrufe, dann klappt es" leider der Knackpunkt. Powershellseitig scheint hier alles zu gehen, das Problem scheint viel eher bei deiner Softwareverteilung "Columbus" zu liegen, bzw. beim Aufruf von PoSh aus dieser heraus. Das weitere Vorgehen hängt nun vom konkreten Fehlerbild ab.
Ich gehe ja mal davon aus das bereits das erste PoSh-Script nicht startet, aber um sicherzugehen füge mal in jedes (Powershell) Skript ein:
set-content "c:\script_N_gestartet.txt" ""
(N durch 1 oder 2 ersetzen) und in das vbs-script folgendes:
Set objFSO = CreateObject("scripting.filesystemobject") Set logStream = objFSO.createtextfile("c:\script3_gestartet.txt", True)
Ganz unabhängig davon, kann man auch zumindest Script 1 und 2 zusammenfassen, aber das ist noch eine andere Baustelle.
Grüße, Denniver
http://bytecookie.wordpress.com/
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Mittwoch, 20. Juli 2011 20:44
- Als Antwort markiert Raul TalmaciuMicrosoft contingent staff Freitag, 22. Juli 2011 11:06
-
> Wenn ich es dagegen auf der Console mit gleichem Account aufrufe, dann klappt es.
:)
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
jau, für mich wäre die Frage gewesen angemeldeter Benutzer oder Dienst.
Sorry
Vielleicht liegt es auch an der Delegation. Wenn ich die Sache richtig verstanden habe, soll ein PC/Server installiert werden und die Dateien liegen halt auf einem Fileshare.
Gruß
Armin