Como Desbloquear Arquivos Usando PowerShell

Como Desbloquear Arquivos Usando PowerShell

Se estivermos usando um sistema operacional baseado em Windows, você pode ter encontrado a mensagem:

This file came from another computer and might be blocked to help protect this computer.

Por exemplo, um aviso pode aparecer quando você tenta abrir um arquivo que baixou da internet. Este artigo discutirá como desbloquear e permitir arquivos baixados da internet usando o PowerShell.

Desbloquear Arquivos Usando PowerShell

Para este artigo, usaremos o cmdlet nativo do PowerShell, Unblock-File, introduzido no PowerShell 3.0.

O cmdlet Unblock-File nos permite abrir arquivos que baixamos da internet. Além disso, ele desbloqueia arquivos de script do Windows PowerShell que baixamos da internet para que possamos executá-los, mesmo quando a política de execução do Windows PowerShell está definida como RemoteSigned.

Esses arquivos são bloqueados por padrão para proteger o computador de arquivos não confiáveis.

Sintaxe Básica:

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

Internamente, o cmdlet Unblock-File remove o fluxo de dados alternativo Zone.Identifier, que tem um valor de 3 para indicar que o baixamos da internet. Para mais informações sobre políticas de execução do Windows PowerShell, consulte about_Execution_Policies.

Parâmetros

Aqui estão alguns dos parâmetros que podemos usar com o cmdlet Unblock-File:

  • -Confirm: Este parâmetro solicita confirmação antes de executar o cmdlet.

  • -LiteralPath: Especifica os arquivos a desbloquear. Ao contrário de Path, o valor do parâmetro LiteralPath é usado conforme está digitado; nenhum caractere é interpretado como um curinga.

    Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples informam ao Windows PowerShell para não interpretar os caracteres como sequências de escape.

  • -Path: Especifica os arquivos a desbloquear. Caracteres curinga são suportados.

  • -WhatIf: Isso mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Exemplos

Podemos usar o cmdlet Unblock-File especificando o caminho do arquivo bloqueado:

Unblock-File -Path C:\Downloads\SampleFile.exe

Principalmente, estamos usando o PowerShell porque precisamos automatizar processos ou processar coisas em massa. Como podemos usar o comando Unblock-File em um pipeline, podemos usar o referido comando após consultar todo o conteúdo em uma pasta.

Uma vez consultados, processaremos todos os arquivos no comando Unblock-File.

dir -Path "C:\Downloads" -Recurse | Unblock-File

Além disso, o cmdlet Unblock-File funciona apenas em unidades de sistema de arquivos. O cmdlet Unblock-File realiza a mesma operação que o botão Desbloquear na caixa de diálogo Propriedades no File Explorer.

Portanto, se você usar o cmdlet Unblock-File em um arquivo que não está bloqueado, o comando não afeta o arquivo desbloqueado, e o cmdlet não gera erros.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artigo relacionado - PowerShell File