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 Senha segura do Dell Command PowerShell Provider

Summary: Dell Command | Recurso Senha segura do provedor do PowerShell, 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


Symptoms

Produtos afetados:

  • Dell Command | PowerShell Provider

Cause

Não aplicável

Resolution

O conceito por trás de senhas seguras é que, em scripts de produção, não devemos passar senhas importantes como visualização simples. Essa é uma falta grave de segurança. Usando o PowerShell, podemos proteger uma senha ou, pelo menos, reduzir a visibilidade da senha. 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. Estamos cientes de que o nome de usuário geralmente não exige nenhuma segurança e pode ser visível para todos. Mas, para senha, não devemos informar a senha do usuário. Podemos facilitar esse requisito com os comandos abaixo:

$user = Read-Host "Enter Username"

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

A visão geral acima é sobre como podemos adicionar mais 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 oferece para facilitar campos seguros antes de tocar nos 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 usado.

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

Estamos convertendo texto P@ssword1 sem formatação em string ConvertFrom-SecureString segura e, em seguida, enviar sua saída para obter uma string criptografada que pode ser salva em um arquivo com segurança e praticidade.

Por exemplo, digamos que, em um computador, se a senha de administrador tiver sido definida e precisarmos salvá-lo 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, considere como aproveitar uma senha segura para DCPP. No DCPP, se o computador do usuário tiver uma senha de sistema ou de administrador definida, set para todos os comandos, teremos que passar a respectiva senha. Portanto, fornecer essa senha como violação de texto sem formatação viola a segurança. Portanto, temos que passar a senha como System.Security.SecureString. Além disso, quando passarmos uma SecureString senha, teremos que passá-la com um -PasswordSecure switch, e não com o switch normal –Password . Um exemplo é mostrado abaixo, em que o usuário está tentando definir e AdvancedBatteryChargeCfgDisabled passar senha SecureString :

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Aqui $pass contém a senha do sistema e do 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 em 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

11 Sept 2023

Version

7

Article Type

Solution