Partilhar via


Unblock-File

Desbloqueia ficheiros que foram descarregados da Internet.

Sintaxe

ByPath (Predefinição)

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

ByLiteralPath

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

Description

Este cmdlet só funciona nas plataformas Windows e macOS.

O cmdlet Unblock-File permite abrir arquivos que foram 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 Zone.Identifier fluxo de dados alternativo, que tem um valor de 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

Este comando desbloqueia o ficheiro PowerShellTips.chm.

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

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 de RemoteSigned impede que você execute scripts baixados da Internet, a menos que sejam assinados digitalmente.

O terceiro comando usa o cmdlet Unblock-File 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 confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LiteralPath

Especifica os arquivos a serem desbloqueados. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como está digitado. Nenhum caractere é interpretado como carta curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples ('). Aspas simples indicam ao PowerShell para não interpretar quaisquer caracteres como sequências de escape.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:PSPath, LP

Conjuntos de parâmetros

ByLiteralPath
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Path

Especifica os arquivos a serem desbloqueados. Caracteres curinga são suportados.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:True
NãoMostrar:False

Conjuntos de parâmetros

ByPath
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

String

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 cmdlet Unblock-File 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 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.