Partilhar via


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

O cmdlet Unblock-File permite abrir arquivos baixados da Internet. Ele desbloqueia os 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 estiver RemoteSigned. Por padrão, esses arquivos são bloqueados para proteger o computador de arquivos não confiáveis.

Antes de usar o cmdlet Unblock-File, examine o arquivo e sua origem e verifique se é seguro abri-lo.

Internamente, o cmdlet Unblock-File remove o fluxo de dados alternativo Zone.Identifier, que tem um valor "3" para indicar que 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

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

Este comando desbloqueia o arquivo PowerShellTips.chm.

Exemplo 2: Desbloquear vários ficheiros

PS C:\> dir C:\Downloads\*PowerShell* | Unblock-File

Este comando desbloqueia todos os arquivos no diretório C:\Downloads cujos nomes incluem "PowerShell". Não execute um comando como este até ter verificado que todos os ficheiros estão seguros.

Exemplo 3: Localizar e desbloquear scripts

The first command uses the *Stream* parameter of the Get-Item cmdlet get files with the Zone.Identifier stream.Although you could pipe the output directly to the **Unblock-File** cmdlet (Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue | ForEach {Unblock-File $_.FileName}), it is prudent to review the file and confirm that it is safe before unblocking.
PS C:\> Get-Item * -Stream "Zone.Identifier" -ErrorAction SilentlyContinue
   FileName: C:\ps-test\Start-ActivityTracker.ps1

Stream                   Length
------                   ------
Zone.Identifier              26

The second command shows what happens when you run a blocked script in a PowerShell session in which the execution policy is **RemoteSigned**. The RemoteSigned policy prevents you from running scripts that are downloaded from the Internet unless they are digitally signed.
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

The third command uses the **Unblock-File** cmdlet to unblock the script so it can run in the session.
PS C:\> Get-Item C:\ps-test\Start-ActivityTracker.ps1 | Unblock-File

Este comando mostra como localizar e desbloquear scripts do PowerShell.

Parâmetros

-Confirm

Solicita 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 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
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

Mostra o que aconteceria se o cmdlet fosse executado. 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

String

Você pode canalizar um caminho de arquivo para Unblock-File .

Saídas

None

Este cmdlet não gera nenhuma saída.

Notas

  • O cmdlet Unblock-File funciona apenas em unidades do sistema de arquivos.
  • Desbloquear Arquivo executa a mesma operação que o botão Desbloquear na caixa de diálogo Propriedades no Explorador de Arquivos.
  • Se você usar o cmdlet Unblock-File 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.