Přeskočit na hlavní obsah

Recurso de senha segura do Dell Command | PowerShell Provider

Shrnutí: Recurso de senha segura do Dell Command | PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString

Tento článek se vztahuje na Tento článek se nevztahuje na Tento článek není vázán na žádný konkrétní produkt. V tomto článku nejsou uvedeny všechny verze produktu.

Pokyny

Produtos afetados:

  • Dell Command | PowerShell Provider

O conceito por trás de senhas seguras é que, em scripts de produção, não devemos passar senhas importantes como se fossem de domínio público. Trata-se de uma grave falta de segurança. Usando o PowerShell, podemos proteger uma senha ou, pelo menos, reduzir a visibilidade dela. Primeiro, discutimos aspectos gerais da string segura e, em seguida, discutimos como o Dell Command PowerShell Provider (DCPP) aproveita o recurso inato do PowerShell para proteger a senha.

Considere que queremos ler o nome de usuário e a senha do usuário no console. Sabemos que o nome de usuário geralmente não requer nenhuma segurança e pode ser visível para todos. Mas no caso da senha, não devemos deixar estranhos saberem a senha do usuário. Podemos facilitar esse requisito com os comandos abaixo:

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

O texto acima traz uma visão geral de como podemos aumentar a segurança quando precisamos proteger informações críticas, como uma senha. No exemplo acima, a variável $pass é de tipo System.Security.SecureString. Temos uma introdução a dois outros cmdlets amplamente usados que o PowerShell fornece para facilitar campos seguros antes de abordar aspectos do DCPP.

Os dois comandos são ConvertTo-SecureString e ConvertFrom-SecureString. ConvertTo-SecureString converte um texto sem formatação para tipo System.Security.SecureString. Um exemplo é mostrado abaixo:

"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force

No exemplo acima, o texto sem formatação P@assword1 é convertido para tipo System.Security.SecureString. Isso é mais uma informação e pode ou não ser amplamente utilizado.

O próximo cmdlet ConvertFrom-SecureString é um cmdlet mais amplamente usado para converter strings seguras em strings padrão criptografadas. A principal limitação de ConvertTo-SecureString é que sua saída não pode ser gravada diretamente em um arquivo para uso futuro. Temos que usar ConvertFrom-SecureString que converte System.Security.SecureString em uma string padrão criptografada que pode ser convenientemente salva em um arquivo, para superar essa limitação.

Estamos convertendo texto sem formatação P@ssword1 para proteger a string e, em então, canalizar sua saída para ConvertFrom-SecureString para obter uma string criptografada que pode ser salva com segurança e conveniência em um arquivo.

Como exemplo, digamos que em um computador a senha de administrador tenha sido definida e que seja necessário salvá-la em um arquivo. Podemos fazer isso usando:

Read-Host "Enter Admin Password" -AsSecureString |
ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"

Podemos recuperar essa senha de administrador em uma variável como um objeto seguro, como:

$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString

Agora, vamos considerar como aproveitar uma senha segura para DCPP. No DCPP, se o computador do usuário tiver a senha do sistema ou de administrador definida, para todos os comandos set temos que passar a respectiva senha. Portanto, fornecer essa senha como texto sem formatação viola a segurança. Temos que passar a senha como System.Security.SecureString. Além disso, quando passamos uma senha SecureString temos que passá-la com um switch -PasswordSecure e não o switch normal –Password . Um exemplo é exibido abaixo em que o usuário está tentando definir AdvancedBatteryChargeCfg para Disabled e passar a senha SecureString .

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Aqui $pass contém a senha do sistema e de administrador e é do tipo System.Security.SecureString. Semelhante à discussão acima, podemos ler $pass como:

$pass = Read-Host "Enter system/admin password" –AsSecureString

Podemos salvar $pass para um arquivo, se necessário, como:

$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt

Další informace

Dotčené produkty

Dell Command | Powershell Provider
Vlastnosti článku
Číslo článku: 000146459
Typ článku: How To
Poslední úprava: 18 čvc 2024
Verze:  8
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.