Unblock-File
Odblokuje pliki pobrane z Internetu.
Składnia
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
To polecenie cmdlet działa tylko na platformach Windows i macOS.
Polecenie Unblock-File
cmdlet umożliwia otwieranie plików pobranych z Internetu. Odblokuje pliki skryptów programu PowerShell, które zostały pobrane z Internetu, aby można było je uruchomić, nawet gdy zasady wykonywania programu PowerShell są remoteSigned. Domyślnie te pliki są blokowane, aby chronić komputer przed niezaufanym plikiem.
Przed użyciem Unblock-File
polecenia cmdlet przejrzyj plik i jego źródło i sprawdź, czy jest bezpieczny do otwarcia.
Unblock-File
Wewnętrznie polecenie cmdlet usuwa alternatywny strumień danych Zone.Identifier, który ma wartość wskazującą3
, że został pobrany z Internetu.
Aby uzyskać więcej informacji na temat zasad wykonywania programu PowerShell, zobacz about_Execution_Policies.
To polecenie cmdlet zostało wprowadzone w Windows PowerShell 3.0.
Przykłady
Przykład 1. Odblokowywanie pliku
To polecenie odblokuje PowerShellTips.chm
plik.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Przykład 2. Odblokowywanie wielu plików
To polecenie odblokuje wszystkie pliki w C:\Downloads
katalogu, których nazwy obejmują "PowerShell". Nie uruchamiaj polecenia takiego jak ten, dopóki nie sprawdzisz, czy wszystkie pliki są bezpieczne.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Przykład 3. Znajdowanie i odblokowywanie skryptów
To polecenie pokazuje, jak znaleźć i odblokować skrypty programu PowerShell.
Pierwsze polecenie używa parametru Stream polecenia cmdlet Get-Item pobierz pliki ze strumieniem Zone.Identifier.
Drugie polecenie pokazuje, co się dzieje po uruchomieniu zablokowanego skryptu w sesji programu PowerShell, w której zasady wykonywania są RemoteSigned. Zasady RemoteSigned uniemożliwiają uruchamianie skryptów pobranych z Internetu, chyba że są podpisane cyfrowo.
Trzecie polecenie używa Unblock-File
polecenia cmdlet do odblokowania skryptu, aby można było go uruchomić w sesji.
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
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Określa pliki do odblokowania. W przeciwieństwie do ścieżki wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy je ująć w pojedynczy cudzysłów ('
). Znaki pojedynczego cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Określa pliki do odblokowania. Obsługiwane są symbole wieloznaczne.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Możesz przekazać ścieżkę pliku do Unblock-File
pliku .
Dane wyjściowe
None
To polecenie cmdlet nie generuje żadnych danych wyjściowych.
Uwagi
- Dodano obsługę systemu macOS w programie PowerShell 7.
- Polecenie
Unblock-File
cmdlet działa tylko na dyskach systemu plików. Unblock-File
wykonuje tę samą operację co przycisk Odblokuj w oknie dialogowym Właściwości w Eksplorator plików.- Jeśli używasz
Unblock-File
polecenia cmdlet w pliku, który nie jest zablokowany, polecenie nie ma wpływu na odblokowany plik, a polecenie cmdlet nie generuje błędów.