Unblock-File
Desbloqueia ficheiros que foram descarregados da Internet.
Sintaxe
Unblock-File
[-Path] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Unblock-File
-LiteralPath <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet só funciona nas plataformas Windows e macOS.
O Unblock-File
cmdlet permite abrir arquivos que foram baixados da Internet. Ele desbloqueia arquivos de script do PowerShell que foram baixados da Internet para que você possa executá-los, mesmo quando a política de execução do PowerShell é RemoteSigned. Por padrão, esses arquivos são bloqueados para proteger o computador de arquivos não confiáveis.
Antes de usar o Unblock-File
cmdlet, revise o arquivo e sua origem e verifique se é seguro abri-lo.
Internamente, o Unblock-File
cmdlet remove o fluxo de dados alternativo Zone.Identifier , que tem um valor de 3
para indicar que ele foi baixado da Internet.
Para obter mais informações sobre políticas de execução do PowerShell, consulte about_Execution_Policies.
Este cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1: Desbloquear um ficheiro
Este comando desbloqueia o PowerShellTips.chm
ficheiro.
PS C:\> Unblock-File -Path C:\Users\User01\Documents\Downloads\PowerShellTips.chm
Exemplo 2: Desbloquear vários ficheiros
Este comando desbloqueia todos os arquivos no C:\Downloads
diretório cujos nomes incluem "PowerShell". Não execute um comando como este até ter verificado que todos os ficheiros estão seguros.
PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File
Exemplo 3: Localizar e desbloquear scripts
Este comando mostra como localizar e desbloquear scripts do PowerShell.
O primeiro comando usa o parâmetro Stream do cmdlet Get-Item get files with the Zone.Identifier stream.
O segundo comando mostra o que acontece quando você executa um script bloqueado em uma sessão do PowerShell na qual a política de execução é RemoteSigned. A política RemoteSigned impede que você execute scripts baixados da Internet, a menos que sejam assinados digitalmente.
O terceiro comando usa o Unblock-File
cmdlet para desbloquear o script para que ele possa ser executado na sessão.
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
Parâmetros
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-LiteralPath
Especifica os arquivos a serem desbloqueados. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples ('
). Aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.
Tipo: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Path
Especifica os arquivos a serem desbloqueados. Caracteres curinga são suportados.
Tipo: | String[] |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | True |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar um caminho de arquivo para esse cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
- O suporte para macOS foi adicionado no PowerShell 7.
- O
Unblock-File
cmdlet funciona apenas em unidades do sistema de arquivos. Unblock-File
executa a mesma operação que o botão Desbloquear na caixa de diálogo Propriedades no Explorador de Ficheiros.- Se você usar o
Unblock-File
cmdlet em um arquivo que não está bloqueado, o comando não terá efeito sobre o arquivo desbloqueado e o cmdlet não gerará erros.