Recurso de senha segura do Dell Command | PowerShell Provider

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Produtos afetados:

  • Dell Command | PowerShell Provider

O conceito por trás de senhas seguras é que, em scripts de produção, elas não devem passar senhas importantes como visualização simples. Trata-se de uma grave falta de segurança. Portanto, usar o PowerShell pode proteger uma senha ou, pelo menos, reduzir a visibilidade da senha. Primeiro, vamos discutir aspectos gerais da cadeia de caracteres segura e, em seguida, discutir como o DCPP aproveita o recurso inato do PowerShell para proteger a senha.

Considere que você deseja ler o nome de usuário e a senha do usuário no console. Sabe-se que o nome de usuário geralmente não requer nenhuma segurança e pode ser visível para todos. Mas para senha você não quer que estranhos saibam a senha do usuário. Esse requisito pode ser facilitado com os comandos abaixo:

$user = Read-Host "Enter Username"

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

A seção acima é uma visão geral de como mais segurança pode ser adicionada para obter informações críticas mais seguras, como uma senha. No exemplo acima, a variável $pass é de tipo System.Security.SecureString. Em seguida, você obtém 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. Você deve 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.

Você está 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.

Por exemplo, digamos em um computador se a senha de administrador foi definida e deve ser salva em um arquivo. Isso é feito usando:

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

Esse comando pode 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 comandos Você deve passar a respectiva senha. Portanto, fornecer essa senha como texto sem formatação viola a segurança. Você deve passar a senha como System.Security.SecureString. Além disso, quando você passa um SecureString senha você deve passá-la com um -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, você pode ler $pass como:

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

Você pode salvar $pass para um arquivo, se necessário, como:

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

Additional Information

Affected Products

Dell Command | Powershell Provider
Article Properties
Article Number: 000146459
Article Type: How To
Last Modified: 09 Jun 2026
Version:  10
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.