Gerando Objeto de Credencial com o PSCredential

Olá Pessoal!
Neste post vou explanar um pouco sobre esse objeto que representa um conjunto de credenciais de segurança muito importante. Também deixarei no final um link para o Microsoft Docs onde você poderá encontrar informações complementares. ;)

Em posts anteriores já expliquei sobre o get-credential. Este é um cmdlet que quando executado resulta o usuário e senha.

Veja no exemplo abaixo a criação de uma credencial para acessar o SQLServer com o usuário SA e a senha Senha123!. 

Acima é a visão no MacOS e basicamente será assim em todos os sistemas Linux. Já no Windows 10, você poderá ver abaixo que o padrão muda para o da GUI do Windows.

Ainda é possível especificar o domínio e o nome do usuário utilizando os parâmetros  -Credential ou -Username. A diferença entre os dois parâmetros é que com o -Username você também passa uma mensagem. Veja exemplos abaixo:

Desta forma, executar um script manualmente fica fácil.
Contudo, quando colocamos em alguma ferramenta de automação como Jenkins ou Octopus Deploy ou até mesmo na cron do Linux ou em um pacote do SQL Server Integration Service que vai executar sem interação? Também é fácil!

Só criar um secure string utilizando o System.Management.Automation.
A sintaxe para criar pode ser resumida em convertto-securestring “senha” -AsPlainText -Force.
Os parâmetros -Force e -AsPlainText devem ser passados juntos, caso contrário você receberá um erro dizendo que não é possível passar um texto aberto como caracteres seguros. 

Depois de criar um SecureString devemos criar o objeto do PSCredential. Veja o código abaixo como exemplo:

$senha = ConvertTo-SecureString "Senha123!" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("sa", $senha)

Já em um cenário onde devemos consultar os bancos de dados de uma determinada instância do SQL Server utilizando o módulo dbaTools, criei o objeto credencial para depois utilizar no get-dbadatabase. Confere:

Espero que esse post ajude você a criar scripts mais seguros.
Conforme prometido no início do post, segue leitura complementar do PSCredential no Microsoft Docs.

Grande Abraço, Rodrigo

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.