Přeskočit na hlavní obsah

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

Shrnutí: Dell Command | Característica de contraseña segura de 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

Productos afectados:

  • Dell Command | PowerShell Provider

El concepto detrás de las contraseñas seguras es que en los scripts de producción no debemos dejar contraseñas importantes a simple vista. Se trata de una falta de seguridad grave. Por lo tanto, con PowerShell podemos proteger una contraseña o, al menos, reducir su visibilidad. En primer lugar, analizaremos los aspectos generales de la cadena segura y, luego, cómo Dell Command PowerShell Provider (DCPP) aprovecha la característica inherente de PowerShell para proteger la contraseña.

Tenga en cuenta que deseamos 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 no debemos permitir que extraños conozcan la contraseña del usuario. Podemos facilitar este requisito con los comandos que se indican a continuación:

$user = Read-Host "Enter Username"

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

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

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

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

En el ejemplo anterior, el texto sin formato P@assword1 se convierte al tipo System.Security.SecureString. Esto es informativo y puede o no ser ampliamente utilizado.

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

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

Por ejemplo, en una computadora, si se ha establecido la contraseña de administrador y debemos guardarla en un archivo. Podemos hacer esto usando:

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, como:

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

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

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

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

$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

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.