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 Plattformen Windows und macOS.
Mit Unblock-File
dem Cmdlet können Sie Dateien öffnen, die aus dem Internet heruntergeladen wurden. Es hebt die Blockierung von PowerShell-Skriptdateien auf, die aus dem Internet heruntergeladen wurden, sodass Sie sie auch dann ausführen können, wenn die PowerShell-Ausführungsrichtlinie RemoteSigned lautet. Standardmäßig werden diese Dateien blockiert, um den Computer vor nicht vertrauenswürdigen Dateien zu schützen.
Bevor Sie das Unblock-File
Cmdlet verwenden, überprüfen Sie die Datei und ihre Quelle, und vergewissern Sie sich, dass sie sicher geöffnet werden kann.
Intern entfernt das Unblock-File
Cmdlet den alternativen Datenstrom Zone.Identifier , der den Wert hat 3
, um anzugeben, dass er 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
Dieser Befehl hebt die Blockierung aller Dateien im C:\Downloads
Verzeichnis auf, deren Namen "PowerShell" enthalten. Führen Sie keinen Befehl wie diesen aus, bis Sie sichergestellt haben, dass 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 die Blockierung aufheben.
Der erste Befehl verwendet den parameter Stream des Get-Item-Cmdlets get files with the Zone.Identifier stream.
Der zweite Befehl zeigt, was geschieht, wenn Sie ein blockiertes Skript in einer PowerShell-Sitzung ausführen, in der die Ausführungsrichtlinie RemoteSigned lautet. Die RemoteSigned-Richtlinie verhindert, dass Sie Skripts ausführen, die aus dem Internet heruntergeladen werden, es sei denn, sie sind digital signiert.
Der dritte Befehl verwendet das Unblock-File
Cmdlet, 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
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Gibt die Dateien an, deren Blockierung aufgehoben werden soll. Im Gegensatz zu Path wird der Wert des LiteralPath-Parameters genauso verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter 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.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Gibt die Dateien an, deren Blockierung aufgehoben werden soll. Platzhalterzeichen werden unterstützt.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können einen Dateipfad an dieses Cmdlet übergeben.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
- Unterstützung für macOS wurde in PowerShell 7 hinzugefügt.
- Das
Unblock-File
Cmdlet funktioniert nur auf Dateisystemlaufwerken. Unblock-File
führt den gleichen Vorgang wie die Schaltfläche Blockierung aufheben im Dialogfeld Eigenschaften in Explorer aus.- Wenn Sie das
Unblock-File
Cmdlet 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.