Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Recurso de senha segura do Dell Command | PowerShell Provider

Summary: O Dell Command | Recurso de senha segura do provedor do PowerShell (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Instructions

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 visualização simples. 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 para 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 é do 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 digitar System.Security.SecureString. Um exemplo é mostrado abaixo:

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

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

O próximo cmdlet ConvertFrom-SecureString é um cmdlet mais amplamente usado que é usado para converter cadeias de caracteres seguras em cadeias de caracteres padrão criptografadas. A principal limitação do 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 prender a string e, em seguida, canalizar sua saída para ConvertFrom-SecureString para obter uma cadeia de caracteres criptografada que pode ser salva com segurança e conveniência em um arquivo.

Por exemplo, digamos que em um computador se a senha de administrador foi definida e devemos 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 set comandos 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 por um SecureString senha temos que passá-lo com um -PasswordSecure switch e não o normal –Password interruptor. Um exemplo é exibido abaixo em que o usuário está tentando definir AdvancedBatteryChargeCfg para Disabled e de passagem SecureString senha:

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 economizar $pass para um arquivo, se necessário, como:

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

Additional Information

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

18 Jul 2024

Version

8

Article Type

How To