Como armazenar credenciais com segurança com PowerShell

Existem scripts do PowerShell onde você precisa autenticar e armazenar senhas no PowerShell. Às vezes, você deseja obter um prompt de credencial para preencher as credenciais e executar o script. Outra vez, você deseja automatizar a tarefa e salvar a senha com segurança em formato criptografado. Neste artigo, você aprenderá como armazenar credenciais com segurança com o PowerShell.

Interativo vs. Não Interativo

  • InterativoO método requer interação do usuário, como solicitar que o usuário insira um nome de usuário e uma senha. Ele prossegue quando as informações necessárias são fornecidas.
  • Não interativoO método não requer entrada do usuário durante a execução do script e normalmente depende de configurações pré-configuradas, processos automatizados ou dados fornecidos antecipadamente.

Importante:Sempre preencha as senhas de forma segura e nunca em texto simples.

Armazene credenciais no PowerShell para interação do usuário (interativo)

Se quiser que o script solicite um nome de usuário e uma senha, siga as etapas de um dos métodos abaixo.

Método 1. Obter credencial

  1. Execute oObter credencialcmdlet para armazenar com segurança suas credenciais no$Créditosvariável
$Creds = Get-Credential
  1. Uma solicitação de credencial do Windows PowerShell aparece onde você deve preencher ocredenciais
  1. Execute o$Créditosvariável no PowerShell
$Creds
  1. A saída mostra onome de usuárioe osenhamostra como uma string segura
UserName                       Password
--------                       --------
myusername System.Security.SecureString

Método 2. PSCredencial

  1. Execute o comando abaixo para armazenar com segurança suas credenciais no$Créditosvariável
$Creds = [System.Management.Automation.PSCredential]::new((Read-Host -Prompt "Enter username"), (Read-Host -Prompt "Enter password" -AsSecureString))
  1. Digite onome de usuárioesenha
Enter username: myusername
Enter password: ****************
  1. Execute o$Créditosvariável no PowerShell
$Creds
  1. A saída mostra onome de usuárioe osenhamostra como uma string segura
UserName                       Password
--------                       --------
myusername System.Security.SecureString

Isso é excelente quando você tem um script executado interativamente e pode inserir as credenciais sempre. Mas e se você não estiver atrás do computador e quiser automatizar o script com uma tarefa agendada? Então, você tem que usar um método diferente.

Armazene credenciais no PowerShell para automação (não interativo)

Para armazenar as credenciais no sistema para que ele carregue sempre que você executar um script do PowerShell, siga as etapas abaixo:

  1. Execute oObter credencialcmdlet para armazenar com segurança suas credenciais no$Créditosvariável
$Creds = Get-Credential
  1. Insira suas credenciais
  2. Exporte as credenciais para um arquivo XML criptografado
$Creds | Export-CliXml -Path "C:credscredential.xml"

Observação:OExportar-Clixmlcmdlet criptografa objetos de credenciais usando a API de proteção de dados do Windows. A criptografia garante que somente sua conta de usuário possa descriptografar o conteúdo do objeto de credencial. O arquivo CLIXML exportado não pode ser usado em um computador diferente ou por um usuário diferente.

  1. Navegue até o caminho e verifique o arquivo XML
  1. Abra o arquivo XML e verifique se a senha está criptografada
  1. No seu script do PowerShell, agora você pode executar oImportar-Clixmlcmdlet e aponte para o caminho onde o arquivo XML está presente para que carregue o nome de usuário e a senha criptografada
$Creds = Import-CliXml -Path "C:credscredential.xml"

É isso!

Veja também:Como remover credenciais salvas para conexão de área de trabalho remota

Conclusão

Você aprendeu como armazenar credenciais de forma segura com o PowerShell. Existem diferentes métodos para salvar credenciais no PowerShell. Verifique se é um script interativo ou não interativo e aplique o método correto. Certifique-se sempre de que as senhas sejam preenchidas com segurança e não em texto não criptografado.

Você gostou deste artigo? Você também pode gostar de Como se conectar ao Microsoft Graph PowerShell. Não se esqueça de nos seguir e compartilhar este artigo.

Related Posts