littleNicon
Cadet 1st Year
- Registriert
- Juli 2018
- Beiträge
- 10
Hallo an die Communit,
Ich wollte mal anfragen, ob Ihr mir bei einer Script Aufgabe helfen könnt.
"...Bei der Aufgabe trete ich irgendwie auf der Stelle..."
Vorab: Ich bedanke mich schon im Voraus, für jede Hilfe oder unterstützenden Kommentar.
Thematik:
Ich habe in einem Projekt (Schule -> Automatisierung / Scripting) mit einem Batch & Powershell (mix) ein kleines Tool gebauen.
Die Batch Script's habe ich in den Funktionen aufgeteilt. Wenn man das erste Batch Script ausführt und eine Funktion ausführt, soll es das zusätzliche Stück Batch Script von einem öffentlichen Link herunterladen.
Zuerst dachte ich, dass es doch nicht schwierig sein kann, von einem öffentlichen link das .bat File herunterzuladen.
Doch daran beisse ich mir nun die Zähne aus.
Batch versuche -> [certutil], [wget] [BinStream]
Powershell versuche -> [$WebClient.DownloadFile], [Invoke-WebRequest], [Invoke-RestMethod], [Start-BitsTransfer]
Die Powershell Rückgabe:
Was funktionierte, war der [Start-BitsTransfer] command mit Powershell.
Nur beim Testing auf einem Benutzer, der keine Administartoren rechte besitzt, kommt es an seine grenzen.
"...habe alles, was ich im Internet unter der suche gefunden habe, ausprobiert..."
Da es wohl an der URL liegt und ich mich mit HTML eher nur am Rande auskenne, habe ich mir den Link mal genauer angeschaut.
https://backupone.drive.filesync.ch/invitations/?share=6d134a94bfd91aab5588&dl=0 (File: blume.txt, Inhalt: asdasdasdasd)
"... den Link habe ich mal für das Forum gemacht. Und ja, man sieht den Namen 😅..."
Was ich verstanden habe, dass beim Klicken [Herunterladen] das Event ["class="btn ct-bg-primary ng-scope"] ausgelöst wird.
Sobald dieser mal angewählt wurde, ist im [iframe style="display:none"] das [src="/invitations/webdav/share/6d134a94bfd91aab5588/blume.txt?dl=true"] ersichtlich.
Wenn es kombiniert wird aus dem Hauptlink, kann die Vorschauseite und das Event umgangen werden.
"...Erkannt und gemacht..."
https://backupone.drive.filesync.ch/invitations/webdav/share/6d134a94bfd91aab5588/blume.txt?dl=true
Mit dem Link hapert es am meisten.
Ist der Browsercache leer, kommt er mit dem direkten Link nicht immer ans Ziel.
Ab hier war für mich die Verwirrung perfekt.
Da ab und zu der Download auftauchte und manchmal nicht, fragte ich mich wirklich, ob ich wirklich einen zuverlässiges Download Script hinbekomme oder nicht😬.
Hab es dann noch mit einem [$ie = New-Object -Com internetExplorer.Application] versucht.
"... Das macht die Sache aber sehr willkürlich bei der Ausführung..."
Ich will es euch nicht vorenthalten 🤣
Der Downloadlink im Script führt zu einem simplen [Set-Windows_ExecutionPolicy.bat], das ich mal geschrieben habe.
Getestet und geschriben auf einem Windows 10.
"...Bei den .bat Dateien wird keine Vorschau angezeigt..."
"...Bei Windows 11 fliegt das Ding vollkommen auf die Schnauze.."
Frage:
Über jeden Input würde ich mich mega freuen.
Vielen Dank.
Gruss Lukas ;-)
PS: Fals ich was vergessen habe zu erwähnen, schreib ich es gerne in die Kommentare.
Ich wollte mal anfragen, ob Ihr mir bei einer Script Aufgabe helfen könnt.
"...Bei der Aufgabe trete ich irgendwie auf der Stelle..."
Vorab: Ich bedanke mich schon im Voraus, für jede Hilfe oder unterstützenden Kommentar.
Thematik:
Ich habe in einem Projekt (Schule -> Automatisierung / Scripting) mit einem Batch & Powershell (mix) ein kleines Tool gebauen.
Die Batch Script's habe ich in den Funktionen aufgeteilt. Wenn man das erste Batch Script ausführt und eine Funktion ausführt, soll es das zusätzliche Stück Batch Script von einem öffentlichen Link herunterladen.
Zuerst dachte ich, dass es doch nicht schwierig sein kann, von einem öffentlichen link das .bat File herunterzuladen.
Doch daran beisse ich mir nun die Zähne aus.
Batch versuche -> [certutil], [wget] [BinStream]
Powershell versuche -> [$WebClient.DownloadFile], [Invoke-WebRequest], [Invoke-RestMethod], [Start-BitsTransfer]
Die Powershell Rückgabe:
Code:
Ausnahme beim Aufrufen von "DownloadFile" mit 2 Argument(en): "Ausnahmefehler während einer WebClient-Anforderung."
In Zeile:7 Zeichen:1
+ $webClient.DownloadFile($source, $destination)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException
Was funktionierte, war der [Start-BitsTransfer] command mit Powershell.
Nur beim Testing auf einem Benutzer, der keine Administartoren rechte besitzt, kommt es an seine grenzen.
"...habe alles, was ich im Internet unter der suche gefunden habe, ausprobiert..."
Da es wohl an der URL liegt und ich mich mit HTML eher nur am Rande auskenne, habe ich mir den Link mal genauer angeschaut.
https://backupone.drive.filesync.ch/invitations/?share=6d134a94bfd91aab5588&dl=0 (File: blume.txt, Inhalt: asdasdasdasd)
"... den Link habe ich mal für das Forum gemacht. Und ja, man sieht den Namen 😅..."
Was ich verstanden habe, dass beim Klicken [Herunterladen] das Event ["class="btn ct-bg-primary ng-scope"] ausgelöst wird.
Sobald dieser mal angewählt wurde, ist im [iframe style="display:none"] das [src="/invitations/webdav/share/6d134a94bfd91aab5588/blume.txt?dl=true"] ersichtlich.
Wenn es kombiniert wird aus dem Hauptlink, kann die Vorschauseite und das Event umgangen werden.
"...Erkannt und gemacht..."
https://backupone.drive.filesync.ch/invitations/webdav/share/6d134a94bfd91aab5588/blume.txt?dl=true
Mit dem Link hapert es am meisten.
Ist der Browsercache leer, kommt er mit dem direkten Link nicht immer ans Ziel.
Code:
<obj><att id="rc"><val>1</val></att><att id="msg"><val>All requests to invitations scope must contain the invitation id</val></att></obj>
Ab hier war für mich die Verwirrung perfekt.
Da ab und zu der Download auftauchte und manchmal nicht, fragte ich mich wirklich, ob ich wirklich einen zuverlässiges Download Script hinbekomme oder nicht😬.
Hab es dann noch mit einem [$ie = New-Object -Com internetExplorer.Application] versucht.
"... Das macht die Sache aber sehr willkürlich bei der Ausführung..."
Ich will es euch nicht vorenthalten 🤣
Code:
$ie = new-object -com "InternetExplorer.Application"
$ie.navigate("https://backupone.drive.filesync.ch/invitations?share=61d13201c8ff0b08e427&dl=0")
$ie.visible = $true
while($ie.Busy){Sleep 2}
start-sleep -milliseconds 500
$IE.Document.getElementsByClassName('btn ct-bg-primary ng-scope').Click()
$IE.Document.querySelector('[class="btn ct-bg-primary ng-scope"]').Click()
$wsh = new-object -comobject wscript.shell
$id = (Get-Process iexplore* | Where-Object{$_.MainWindowTitle -match "Internet Explorer"}).id
if($wsh.AppActivate($id)){
start-sleep -milliseconds 500
$obj.SendKeys('{TAB}')
start-sleep -milliseconds 500
$obj.SendKeys('{TAB}')
start-sleep -milliseconds 500
$obj.SendKeys('{Enter}')
}
Der Downloadlink im Script führt zu einem simplen [Set-Windows_ExecutionPolicy.bat], das ich mal geschrieben habe.
Getestet und geschriben auf einem Windows 10.
"...Bei den .bat Dateien wird keine Vorschau angezeigt..."
"...Bei Windows 11 fliegt das Ding vollkommen auf die Schnauze.."
Frage:
- Ist mein Vorhaben überhaupt umsetzbar?
- Liegt die Problematik im Event von der Webseiten URL?
- Sehe ich vor lauter Bäume den Wald nicht mehr? (habe ich was übersehen)
- Kann ich eine weitere Script Sprache verwenden, um mein Vorhaben umzusetzen? (Wird wohl nicht nur bei Batch / Powershell belieben)
- Habe ich an der falschen Stelle gegoogelt?
Über jeden Input würde ich mich mega freuen.
Vielen Dank.
Gruss Lukas ;-)
PS: Fals ich was vergessen habe zu erwähnen, schreib ich es gerne in die Kommentare.