Freigeben über


Unblock-File

Hebt die Blockierung von Dateien auf, die aus dem Internet heruntergeladen wurden.

Syntax

Unblock-File
       [-Path] <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Unblock-File
       -LiteralPath <String[]>
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Beschreibung

Dieses Cmdlet funktioniert nur auf den Windows- und macOS-Plattformen.

Mit dem Cmdlet Unblock-File können Sie Dateien öffnen, die aus dem Internet heruntergeladen wurden. Es entsperrt PowerShell-Skriptdateien, die aus dem Internet heruntergeladen wurden, damit Sie sie ausführen können, auch wenn die PowerShell-Ausführungsrichtlinie RemoteSigned-ist. Standardmäßig werden diese Dateien blockiert, um den Computer vor nicht vertrauenswürdigen Dateien zu schützen.

Bevor Sie das Cmdlet Unblock-File verwenden, überprüfen Sie die Datei und deren Quelle, und stellen Sie sicher, dass sie geöffnet werden kann.

Intern entfernt das cmdlet Unblock-File den Zone.Identifier alternativen Datenstrom, der einen Wert von 3 aufweist, um anzugeben, dass es aus dem Internet heruntergeladen wurde.

Weitere Informationen zu PowerShell-Ausführungsrichtlinien finden Sie unter about_Execution_Policies.

Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Aufheben der Blockierung einer Datei

Mit diesem Befehl wird die Blockierung der PowerShellTips.chm Datei aufgehoben.

PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm

Beispiel 2: Aufheben der Blockierung mehrerer Dateien

Mit diesem Befehl werden alle Dateien im C:\Downloads Verzeichnis aufgehoben, deren Namen "PowerShell" enthalten. Führen Sie einen Befehl wie diesen erst aus, wenn Sie überprüft haben, ob alle Dateien sicher sind.

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

Beispiel 3: Suchen und Aufheben der Blockierung von Skripts

Dieser Befehl zeigt, wie Sie PowerShell-Skripts suchen und aufheben.

Der erste Befehl verwendet den parameter Stream des Cmdlets Get-Item Abrufen von Dateien mit dem Zone.Identifier Stream.

Der zweite Befehl zeigt, was passiert, wenn Sie ein blockiertes Skript in einer PowerShell-Sitzung ausführen, in der die Ausführungsrichtlinie RemoteSigned-ist. Die richtlinie RemoteSigned verhindert, dass Sie Skripts ausführen, die aus dem Internet heruntergeladen werden, es sei denn, sie sind digital signiert.

Der dritte Befehl verwendet das cmdlet Unblock-File, um die Blockierung des Skripts aufzuheben, damit es in der Sitzung ausgeführt werden kann.

PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
   FileName: C:\ps-test\Start-ActivityTracker.ps1

Stream                   Length
------                   ------
Zone.Identifier              26

PS C:\> C:\ps-test\Start-ActivityTracker.ps1
c:\ps-test\Start-ActivityTracker.ps1 : File c:\ps-test\Start-ActivityTracker.ps1 cannot
be loaded. The file c:\ps-test\Start-ActivityTracker.ps1 is not digitally signed. The script
will not execute on the system. For more information, see about_Execution_Policies.

At line:1 char:1
+ c:\ps-test\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File

Parameter

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LiteralPath

Gibt die zu entsperrenden Dateien an. Im Gegensatz zu Pathwird der Wert des LiteralPath--Parameters genau so verwendet, wie er eingegeben wird. Es werden keine Zeichen als Wildcards interpretiert. Wenn der Pfad Escapezeichen enthält, schließen Sie ihn in einfache Anführungszeichen (') ein. Einfache Anführungszeichen weisen PowerShell an, keine Zeichen als Escapesequenzen zu interpretieren.

Typ:String[]
Aliase:PSPath, LP
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Path

Gibt die zu entsperrenden Dateien an. Wildcardzeichen werden unterstützt.

Typ:String[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

String

Sie können einen Dateipfad an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.

Hinweise

  • Unterstützung für macOS wurde in PowerShell 7 hinzugefügt.
  • Das Cmdlet Unblock-File funktioniert nur auf Dateisystemlaufwerken.
  • Unblock-File führt den gleichen Vorgang wie die Schaltfläche Aufheben der Blockierung im Dialogfeld Eigenschaften im Datei-Explorer aus.
  • Wenn Sie das Cmdlet Unblock-File für eine Datei verwenden, die nicht blockiert ist, hat der Befehl keine Auswirkungen auf die nicht blockierte Datei, und das Cmdlet generiert keine Fehler.