Unblock-File

Desbloqueia arquivos que foram baixados da internet.

Syntax

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

Description

Esse 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 diretiva de execução do PowerShell é RemoteSigned. Por padrão, esses arquivos são bloqueados para proteger o computador contra arquivos não confiáveis.

Antes de usar o Unblock-File cmdlet, revise o arquivo e sua origem e verifique se ele é seguro para abrir.

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 arquivo

Este comando desbloqueia o PowerShellTips.chm arquivo.

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

Exemplo 2: Desbloquear vários arquivos

Este comando desbloqueia todos os arquivos no C:\Downloads diretório cujos nomes incluem "PowerShell". Não execute um comando como esse até que tenha verificado se todos os arquivos sã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 para obter arquivos com o fluxo Zone.Identifier .

O segundo comando mostra o que acontece quando você executa um script bloqueado em uma sessão do PowerShell na qual a diretiva de execução é RemoteSigned. A diretiva RemoteSigned impede que você execute scripts que são baixados da Internet, a menos que eles 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 sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Especifica os arquivos que serão desbloqueados. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere 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.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Especifica os arquivos que serão desbloqueados. Há suporte para caracteres curinga.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

String

Você pode canalizar um caminho de arquivo para esse cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.

Observações

  • O suporte para macOS foi adicionado no PowerShell 7.
  • O Unblock-File cmdlet funciona somente 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 Arquivos.
  • Se você usar o Unblock-File cmdlet em um arquivo que não está bloqueado, o comando não terá efeito no arquivo desbloqueado e o cmdlet não gerará erros.