Unblock-File
Hebt die Blockierung von Dateien auf, die aus dem Internet heruntergeladen wurden.
Syntax
ByPath (Standardwert)
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
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 zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
Typ: | SwitchParameter |
Standardwert: | False |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | vgl |
Parametersätze
(All)
Position: | Named |
Obligatorisch.: | False |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
-LiteralPath
Gibt die zu entsperrenden Dateien an. Im Gegensatz zu Path wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wurde. 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 signalisieren PowerShell, dass keine Zeichen als Escapesequenzen interpretiert werden sollen.
Parametereigenschaften
Typ: | String[] |
Standardwert: | None |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | PSPath, EP |
Parametersätze
ByLiteralPath
Position: | Named |
Obligatorisch.: | True |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
Wert aus verbleibenden Argumenten: | False |
-Path
Gibt die zu entsperrenden Dateien an. Wildcardzeichen werden unterstützt.
Parametereigenschaften
Typ: | String[] |
Standardwert: | None |
Unterstützt Platzhalter: | True |
Nicht anzeigen: | False |
Parametersätze
ByPath
Position: | 0 |
Obligatorisch.: | True |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
Typ: | SwitchParameter |
Standardwert: | False |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | Wi |
Parametersätze
(All)
Position: | Named |
Obligatorisch.: | False |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
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.