none
Wie benutze ich den Parameter -Literalpath richtig ? RRS feed

  • Frage

  • Hi,

    ich versuche mit dem cmdlet "Unblock-File" eine Datei freizugeben damit keine security warnung kommt. Aber ich weiß nicht wie ich den Literal-path richtig angebe damit dies funktioniert. Ich hab gelesen das sowohl der -path parameter als auch der -Literalpath parameter angegeben werden muss.

    Danke im voraus :))

    Unblock-File -LiteralPath "?" -path C:\Testordner\test.ps1

    Donnerstag, 16. Juni 2016 10:14

Antworten

  • > Wenn man nun auf öffnen drückt, öffnet sich die Powershellkonsole und
    > zeigt eine security warnung in der das Cmdlet "Unblock-File" erwähnt wird.
     
    Rufe es mit
    -ExecutionPolicy Bypass
    auf, dann sollte es funktionieren. Oder nimm den Servernamen, auf dem
    das liegt, in die Intranet-Zone. Oder kopiere es vorher nach lokal
    (%public% oder so) und rufe es dann lokal auf.
     
    > Unblock-File -path P:\Pflegemenü\Fertiges_Programm.ps1
    > start P:\Pflegemenü\Pflegemenü.ps1.lnk
    >
    > Das müsste doch eigentlich funktionieren?!
     
    Nein, weil Unblock-File nicht auf die aktuelle Zonenzuordnung des
    Speicherorts losgeht, sondern auf den Alternate Data Stream des Files,
    in dem bei per Browser heruntergeladenen Dateien die Zone steht, aus der
    das File kommt (Zone.Identifier).
     
     
    Sysinternals' streams.exe kann Dir die auch anzeigen. Aber trifft wie
    gesagt in diesem Fall nicht zu (oder hast Du das Skript heruntergeladen?)
     
    • Als Antwort markiert MCMaggi Donnerstag, 16. Juni 2016 14:10
    Donnerstag, 16. Juni 2016 13:30

Alle Antworten

  • > Ich hab gelesen das sowohl der -path parameter als auch der -Literalpath
    > parameter angegeben werden muss.
     
    Wo? "Eigentlich" entweder/oder...
     
    LiteralPath? get-help test-path :)
     
    --
    Greetings/Grüße, Martin -
    Mal ein gutes Buch über GPOs lesen? -
    Good or bad GPOs? My blog - http://evilgpo.blogspot.com
    And if IT bothers me? Coke bottle design refreshment -
     
    Donnerstag, 16. Juni 2016 11:07
  • Hier steht das LiteralPath und Path erforderlich sind...

    https://technet.microsoft.com/de-de/library/hh849924.aspx                                                      

    aber ich weiß was dieser LiteralPath sein soll...

                                                                                                                                                      Grüße


    • Bearbeitet MCMaggi Donnerstag, 16. Juni 2016 11:21
    Donnerstag, 16. Juni 2016 11:20
  • Nein. :) Das ist entweder einfach ein Fehler oder unglücklich beschrieben und soll bedeuten das einer der beiden "Path" oder "Literalpath" vorhanden sein muss.  Einer von beiden reicht.


    Blog: http://bytecookie.wordpress.com

    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, 16. Juni 2016 11:51
    Moderator
  • > Hier steht das LiteralPath und Path erforderlich sind...
     
    Parameter Set: ByPath
    Unblock-File [-Path] <String[]> [-Confirm] [-WhatIf] [ <CommonParameters>]
     
    Parameter Set: ByLiteralPath
    Unblock-File -LiteralPath <String[]> [-Confirm] [-WhatIf] [
    <CommonParameters>]
     
    Das heißt, es gibt unterschiedliche Parameter Sets. Je nach dem welches
    Du verwendest, ist entweder -Path (oder nichts) erforderlich oder
    -LiteralPath.
     
    Donnerstag, 16. Juni 2016 12:39
  • Ok. Trotzdem funktioniert das nicht..

    Hier eine genauere Beschreibung meines Problems:

    Wir sind eine Schule und viele Lehrer nutzen Ihre privaten Notebooks welche nicht in der Schuldomäne registriert sind. Mit einem PS-Skript verbinde ich diese Notebooks mit den entsprechenden Laufwerken und möchte anschließend ein anderes Skript ausführen, das auf einem der verbundenen Laufwerke liegt.

    Wenn das Skript an der stelle angelangt ist, an der es das andere Skript ausführen bzw. aufrufen soll, kommt erst eine Warnung, das nicht geprüft werden kann wer das Skript geschrieben hat.

    (Bei der zu öffnenden Datei handelt es sich um eine Verknüpfung auf ein Powershellskript)



    Wenn man nun auf öffnen drückt, öffnet sich die Powershellkonsole und zeigt eine security warnung in der das Cmdlet "Unblock-File" erwähnt wird.



    Ich will nun nicht das der Benutzer jedes mal "R" eingeben muss.  Ich hab es auch schon mit set-executionpolicy probiert, was auch nicht viel gebracht hat.

    Aber es muss doch anscheinend mit diesem "Unblock-File" funktionieren?!

    Unblock-File -path P:\Pflegemenü\Fertiges_Programm.ps1
    start P:\Pflegemenü\Pflegemenü.ps1.lnk

    Das müsste doch eigentlich funktionieren?!

    Danke für jede hilfe!



    • Bearbeitet MCMaggi Donnerstag, 16. Juni 2016 12:56
    Donnerstag, 16. Juni 2016 12:55
  • > Wenn man nun auf öffnen drückt, öffnet sich die Powershellkonsole und
    > zeigt eine security warnung in der das Cmdlet "Unblock-File" erwähnt wird.
     
    Rufe es mit
    -ExecutionPolicy Bypass
    auf, dann sollte es funktionieren. Oder nimm den Servernamen, auf dem
    das liegt, in die Intranet-Zone. Oder kopiere es vorher nach lokal
    (%public% oder so) und rufe es dann lokal auf.
     
    > Unblock-File -path P:\Pflegemenü\Fertiges_Programm.ps1
    > start P:\Pflegemenü\Pflegemenü.ps1.lnk
    >
    > Das müsste doch eigentlich funktionieren?!
     
    Nein, weil Unblock-File nicht auf die aktuelle Zonenzuordnung des
    Speicherorts losgeht, sondern auf den Alternate Data Stream des Files,
    in dem bei per Browser heruntergeladenen Dateien die Zone steht, aus der
    das File kommt (Zone.Identifier).
     
     
    Sysinternals' streams.exe kann Dir die auch anzeigen. Aber trifft wie
    gesagt in diesem Fall nicht zu (oder hast Du das Skript heruntergeladen?)
     
    • Als Antwort markiert MCMaggi Donnerstag, 16. Juni 2016 14:10
    Donnerstag, 16. Juni 2016 13:30
  • Nein ich habe nur das Laufwerk verbunden und von meinem PC das Skript drauf geladen.

    Mit set-ExecutionPolicy Bypass funktioniert es :)

    Danke für die Hilfe :))


    • Bearbeitet MCMaggi Donnerstag, 16. Juni 2016 14:12
    Donnerstag, 16. Juni 2016 14:09