none
Zip mit Passwort über geplante Aufgaben entpacken RRS feed

  • Frage

  • Hallo zusammen,

    ich bzw. mein Kollege hat ein Script das eine Zip Datei mit Passwort entzippen soll.

    Das Script entpackt das Zip wenn dies "per Hand" gestartet wird.

    Sobald das Script in eine geplante Aufgabe oder über die SQL Dienst funktion gestartet wird.

    Wird das Zip nicht entpackt.

    Muss hier noch etwas angegeben werden damit das Script auch über die geplante Aufgaben die Datei mit Passwort entpacken kann 

    $7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
    $zipFile = '"Pfad"'
    $zipFilePassword = "Passwort"
    $pfad = 'Y:\XXXXX \ein\'
    $command = "& $7ZipPath e -o'Y:\XXXXX\ein\' -y -tzip -p$zipFilePassword $zipFile" 
    iex $command 


    Freitag, 18. März 2016 13:01

Antworten

  • Hi,

    pack das Skript mal in einen Try-Catch-Block:

    Try
    {
     $7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
     $zipFile = '"Pfad"'
     $zipFilePassword = "Passwort"
     $pfad = 'Y:\XXXXX \ein\'
     $command = "& $7ZipPath e -o'Y:\XXXXX\ein\' -y -tzip -p$zipFilePassword $zipFile" 
     iex $command 
    }
    Catch
    {
    
      $_.Exception.Message | out-file -path C:\temp\error.txt
    
    }

    Dann solltest du unter C:\temp\error.txt die Fehlermeldung haben.

    Gruß

    Christian


    Christian Groebner MVP Forefront

    Freitag, 18. März 2016 19:28
  • 1. Überprüfe ob das Script überhaupt startet, z.b. in dem du am Anfang die Zeile

    new-item "d:\geht.txt" -Type File

    einfügst. Das Verzeichnis sollte am besten das sein, in dem sich die ZIP-Datei befindet.
     
    2. Überprüfe die Executionpolicy auf der Maschine auf der es laufen soll, mit:

    Get-ExecutionPolicy -list
      
    3. Poste mal die Zeile die du zum Aufrufen des Scripts in der Aufgabe verwendest.
     
    4. Stelle sicher das der Account unter dem die Aufgabe läuft, Rechte auf die Datei und das Verzeichnis hat. Probeweise z.b, mal deinen Account mit dem du es per Hand erfolgreich startest als Account für die Aufgabe eintragen.


    5. Schau ob du eine Fehlermeldung bekommst (siehe Christians Post)
     
    Grüße, Denniver




           

    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v4: Link ! Neue Version !
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Samstag, 19. März 2016 23:04
    Moderator

Alle Antworten

  • Hallo,

    is das der ganze Script? Der sieht nicht ganz wie ein PowerShell Script eigentlich.

    Gruß,

    Teodora


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Freitag, 18. März 2016 18:25
    Moderator
  • Hi,

    pack das Skript mal in einen Try-Catch-Block:

    Try
    {
     $7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
     $zipFile = '"Pfad"'
     $zipFilePassword = "Passwort"
     $pfad = 'Y:\XXXXX \ein\'
     $command = "& $7ZipPath e -o'Y:\XXXXX\ein\' -y -tzip -p$zipFilePassword $zipFile" 
     iex $command 
    }
    Catch
    {
    
      $_.Exception.Message | out-file -path C:\temp\error.txt
    
    }

    Dann solltest du unter C:\temp\error.txt die Fehlermeldung haben.

    Gruß

    Christian


    Christian Groebner MVP Forefront

    Freitag, 18. März 2016 19:28
  • 1. Überprüfe ob das Script überhaupt startet, z.b. in dem du am Anfang die Zeile

    new-item "d:\geht.txt" -Type File

    einfügst. Das Verzeichnis sollte am besten das sein, in dem sich die ZIP-Datei befindet.
     
    2. Überprüfe die Executionpolicy auf der Maschine auf der es laufen soll, mit:

    Get-ExecutionPolicy -list
      
    3. Poste mal die Zeile die du zum Aufrufen des Scripts in der Aufgabe verwendest.
     
    4. Stelle sicher das der Account unter dem die Aufgabe läuft, Rechte auf die Datei und das Verzeichnis hat. Probeweise z.b, mal deinen Account mit dem du es per Hand erfolgreich startest als Account für die Aufgabe eintragen.


    5. Schau ob du eine Fehlermeldung bekommst (siehe Christians Post)
     
    Grüße, Denniver




           

    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v4: Link ! Neue Version !
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Samstag, 19. März 2016 23:04
    Moderator
  • Problem gefunden? Dann markiere bitte noch die Antworten.

    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v4: Link ! Neue Version !
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Donnerstag, 24. März 2016 16:38
    Moderator
  • Hallo,

    vielen Dank für eure Antworten.

    Ich muss nochmal Rücksprache mit meinem Kollegen halten, ob er die Vorschläge bereits umgesetzt hat.

    Ich selbst bin bisher nicht dazu gekommen dies zu prüfen.

    Donnerstag, 24. März 2016 17:18
  • Hallo zusammen,

    der Try  und Catch - Block funktioniert nicht.

    Das Script wird über die geplante Aufgabe ausgeführt, die Datei zum testen wurde erstellt.

    Über den SQL Manager wird die Datei wie folgt aufgerufen:

    powershell.exe -ExecutionPolicy Bypass -file "C:\Scripts\Ordner\PowerShellScript.ps1"

    Über die geplante Aufgaben von Windows wurde das Script nach Vorgabe bzw. wie andere Scripts angelegt die funktionieren.

    Die ExcutionPolicy ist "unrestricted".

    Das Script :

    $7ZipPath='"C:\Program Files\7-Zip\7z.exe"'

    $zipFile='"\\Freigabe\Ordner\"'

    $zipFilePassword="Password"

    $pfad='Y:\Ordner\'

    $command="& $7ZipPathe -o'Y:\Ordner\' -y -tzip -p$zipFilePassword$zipFile"

    iex$command

    Danke.

    Dienstag, 29. März 2016 08:56
  • > Über den SQL Manager wird die Datei wie folgt aufgerufen:
     
    > $zipFile='"\\Freigabe\Ordner\"'
    > $pfad='Y:\Ordner\'
     
    Hm - mit welchem Account ruft der SQL-Manager das auf? Hat der Account
    Zugriff auf \\Freigabe? Und hat er ein Y:\? :-)
     
    Dienstag, 29. März 2016 16:11
  • Hallo,

    Ja der Account hat Zugriff auf die Freigabe und hat das Laufwerk Y:\ Verbunden .

    Mittwoch, 30. März 2016 06:13