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

Función de contraseña segura de Dell Command PowerShell Provider

Summary: Dell Command | Función de contraseña segura del proveedor de 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

Productos afectados:

  • Dell Command | PowerShell Provider

Cause

No corresponde

Resolution

El concepto detrás de las contraseñas seguras es que en los scripts de producción no debemos pasar contraseñas importantes como una vista simple. Esta es una falta grave de seguridad. Por lo tanto, con PowerShell podemos proteger una contraseña o al menos reducir la visibilidad de la contraseña. Primero, analizamos los aspectos generales de la cadena segura y luego analizamos cómo Dell Command PowerShell Provider (DCPP) aprovecha la función innata de PowerShell para proteger la contraseña.

Tenga en cuenta que queremos leer el nombre de usuario y la contraseña del usuario en la consola. Sabemos que el nombre de usuario generalmente no requiere ninguna seguridad y puede ser visible para todos. Pero para la contraseña no debemos dejar que los extraños conozcan la contraseña del usuario. Podemos facilitar este requisito con los siguientes comandos:

$user = Read-Host "Enter Username"

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

Lo anterior es una descripción general de cómo podemos agregar más seguridad cuando debemos asegurar información importante como una contraseña. En el ejemplo anterior, la variable $pass es de tipo System.Security.SecureString. Obtenemos una introducción a otros dos cmdlets ampliamente utilizados que Proporciona PowerShell para facilitar los campos seguros antes de tocar los aspectos de DCPP.

Los dos comandos son ConvertTo-SecureString y ConvertFrom-SecureString. ConvertTo-SecureString convierte un texto sin formato para escribir System.Security.SecureString. A continuación, se muestra un ejemplo:

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

En el ejemplo anterior, el texto P@assword1 sin formato se convierte al tipo System.Security.SecureString. Esto es más bien una información y puede o no ser ampliamente utilizada.

El siguiente cmdlet es un cmdlet ConvertFrom-SecureString más ampliamente utilizado que se utiliza para convertir cadenas seguras en cadenas estándar cifradas. La principal limitación de ConvertTo-SecureString es que su salida no se puede escribir directamente en un archivo para su uso futuro. Tenemos que usar ConvertFrom-SecureString lo que se convierte System.Security.SecureString en una cadena estándar cifrada que se puede guardar cómodamente en un archivo, para superar esta limitación.

Estamos convirtiendo texto P@ssword1 sin formato a cadena segura y luego canalizando su salida para ConvertFrom-SecureString obtener una cadena cifrada que se puede guardar de manera segura y conveniente en un archivo.

Por ejemplo, digamos en una computadora si se estableció la contraseña de administrador y debemos guardarla en un archivo. Podemos hacer esto mediante:

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

Podemos recuperar esta contraseña de administrador en una variable como un objeto seguro de la siguiente manera:

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

Ahora, considere cómo aprovechar una contraseña segura para DCPP. En DCPP, si la computadora del usuario tiene configurada la contraseña del sistema o de administrador, entonces para todos los set comandos tenemos que pasar la contraseña respectiva. Proporcionar esta contraseña como texto sin formato vulnera la seguridad. Por lo tanto, tenemos que pasar la contraseña como System.Security.SecureString. Además, cuando pasamos una SecureString contraseña, tenemos que pasarla con un -PasswordSecure switch y no con el switch normal –Password . A continuación, se muestra un ejemplo en el que el usuario intenta configurar AdvancedBatteryChargeCfgDisabled y pasar SecureString la contraseña:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Aquí $pass contiene la contraseña del sistema y de administrador, y es de tipo System.Security.SecureString. De manera similar a la discusión anterior, podemos leer $pass lo siguiente:

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

Podemos guardar $pass en un archivo, si es necesario, como:

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

Additional Information

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sep 2023

Version

7

Article Type

Solution