Dateidownload via Powershell und Taskplaner funktioniert nicht
Liebe Administratoren,
ich kam zu meinem Win2012R2 Server ein bisschen wie die Jungfrau zum Kinde, aber jetzt ist er nunmal da und muss laufen.
Jedoch bitte ich von vorn herrein um Nachsicht bei eventueller Torheit... Der Server, Powershell und ich lernen uns noch kennen.
Im Grunde habe ich einen recht bescheidenen Wunsch: Ich möchte Zeitgesteuert Textdateien von Drittservern via http herunterladen und diese auf der Platte ablegen.
Das funktioniert soweit auch wunderbar, sofern ich das angelegte PS1 direkt öffne, oder mir den Inhalt in die Powershell kopiere.
Sobald ich das ganze via Taskplaner automatisieren möchte, passier schlicht nichts mehr.
Kein Öffnen der Powershell und erst recht kein Download.
Sofern von Relevanz.. Habe inzwischen mehrer Downloadskripte durch, aber bei allen blieb es bei dem Problem
object system.net.webclient
$cl.DownloadFile(“http://test.de/test.csv”, “c:\test1.csv“)
ich kam zu meinem Win2012R2 Server ein bisschen wie die Jungfrau zum Kinde, aber jetzt ist er nunmal da und muss laufen.
Jedoch bitte ich von vorn herrein um Nachsicht bei eventueller Torheit... Der Server, Powershell und ich lernen uns noch kennen.
Im Grunde habe ich einen recht bescheidenen Wunsch: Ich möchte Zeitgesteuert Textdateien von Drittservern via http herunterladen und diese auf der Platte ablegen.
Das funktioniert soweit auch wunderbar, sofern ich das angelegte PS1 direkt öffne, oder mir den Inhalt in die Powershell kopiere.
Sobald ich das ganze via Taskplaner automatisieren möchte, passier schlicht nichts mehr.
Kein Öffnen der Powershell und erst recht kein Download.
Sofern von Relevanz.. Habe inzwischen mehrer Downloadskripte durch, aber bei allen blieb es bei dem Problem
$url = "http://test.de/test.csv"
$output = "c:\test1.csv"
$start_time = Get-Date
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
Write-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
object system.net.webclient
$cl.DownloadFile(“http://test.de/test.csv”, “c:\test1.csv“)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 297385
Url: https://administrator.de/contentid/297385
Ausgedruckt am: 20.11.2024 um 00:11 Uhr
2 Kommentare
Neuester Kommentar
powershell.exe /? ist Dein Freund.
Die Hilfe sagt:
-Command
Führt die angegebenen Befehle (und alle Parameter) so aus, als wären sie
an der Windows PowerShell-Eingabeaufforderung eingegeben worden,
und wird dann beendet, sofern nicht "NoExit" angegeben wurde.
Du übergibst aber keine Befehle, sondern eine Datei.
Dafür gibt's -File:
-File
Führt das angegebene Skript im lokalen Gültigkeitsbereich aus (Eingabe eines
Punkts vor dem Befehl), sodass die
vom Skript erstellten Funktionen und Variablen in der aktuellen Sitzung
verfügbar sind. Geben Sie den Skriptdateipfad und mögliche Parameter ein.
"File" muss der letzte Parameter im Befehl sein, da alle Zeichen, die
nach dem File-Parameternamen eingegeben sind, als Skriptdateipfad gefolgt
von den Skriptparametern interpretiert werden.
Also probiers mal mit:
-File C:\MySkript.ps1 aus
Und möglicherweise muß man die ExecutionPolicy mit dem Argument -ExecutionPolicy ByPass ausschalten, falls die zu streng eingeschaltet ist.
EDIT:
Gerade getestet, -command akzeptiert auch eine Skript-Datei. Dann tippe ich auf die ExecutionPolicy.
Oder, alternativ, wenn es ein anderer User ausführt, hat der die richtigen Proxy Einstellungen, wenn ein Proxy verwendet wird?
Die Hilfe sagt:
-Command
Führt die angegebenen Befehle (und alle Parameter) so aus, als wären sie
an der Windows PowerShell-Eingabeaufforderung eingegeben worden,
und wird dann beendet, sofern nicht "NoExit" angegeben wurde.
Du übergibst aber keine Befehle, sondern eine Datei.
Dafür gibt's -File:
-File
Führt das angegebene Skript im lokalen Gültigkeitsbereich aus (Eingabe eines
Punkts vor dem Befehl), sodass die
vom Skript erstellten Funktionen und Variablen in der aktuellen Sitzung
verfügbar sind. Geben Sie den Skriptdateipfad und mögliche Parameter ein.
"File" muss der letzte Parameter im Befehl sein, da alle Zeichen, die
nach dem File-Parameternamen eingegeben sind, als Skriptdateipfad gefolgt
von den Skriptparametern interpretiert werden.
Also probiers mal mit:
-File C:\MySkript.ps1 aus
Und möglicherweise muß man die ExecutionPolicy mit dem Argument -ExecutionPolicy ByPass ausschalten, falls die zu streng eingeschaltet ist.
EDIT:
Gerade getestet, -command akzeptiert auch eine Skript-Datei. Dann tippe ich auf die ExecutionPolicy.
Oder, alternativ, wenn es ein anderer User ausführt, hat der die richtigen Proxy Einstellungen, wenn ein Proxy verwendet wird?