Dell Command PowerShell Provider 安全密码功能
Zusammenfassung: Dell Command | PowerShell Provider (DCPP) 安全密码功能, Dell Command | PowerShell Provider (DCPP) Secure Password feature, ConvertTo-SecureString, ConvertFrom-SecureString
Weisungen
受影响的产品:
- Dell Command | PowerShell Provider
安全密码背后的概念是,在生产脚本中,它们不应以简单视图传递重要密码。这严重缺乏安全性。因此,使用 PowerShell 可以保护密码或至少降低密码可见性。首先,让我们讨论安全字符串的一般方面,然后讨论 DCPP 如何利用 PowerShell 的固有功能来保护密码。
考虑到您想要在控制台上读取用户的用户名和密码。众所周知,用户名通常不需要任何安全性,并且所有人都可以看到。但是对于密码,您不想让陌生人知道用户的密码。可通过以下命令满足此要求:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
以上概述了如何为更安全的关键信息(如密码)添加更多安全性。在上面的示例中,变量 $pass 的类型为 System.Security.SecureString。接下来,在涉及 DCPP 的各个方面之前,将介绍 PowerShell 为促进字段安全而提供的其他两个广泛使用的 cmdlet。
这两个命令是 ConvertTo-SecureString 和 ConvertFrom-SecureString。 ConvertTo-SecureString 将纯文本转换为类型 System.Security.SecureString。下面显示了一个示例:
"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
在上面的示例中,纯文本 P@assword1 转换为类型 System.Security.SecureString。这更像是一种信息,可能会也可能不会被广泛使用。
下一个 cmdlet ConvertFrom-SecureString 是一个使用范围更广的 cmdlet,用于将安全字符串转换为加密的标准字符串。命令 ConvertTo-SecureString 的主要限制是,它的输出不能直接写入文件中以备将来使用。您必须使用 ConvertFrom-SecureString ,它会将 System.Security.SecureString 转换为加密的标准字符串,可以方便地保存到文件中,从而克服此限制。
您正在转换纯文本 P@ssword1 转换为安全字符串,然后将其输出传送到 ConvertFrom-SecureString ,以获取可以安全方便地保存到文件中的加密字符串。
例如,假设在计算机上设置了管理员密码并且必须保存到文件中。这可使用以下方法来完成:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
此命令可以将此管理员密码作为安全对象检索回变量中,例如:
$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString
现在来考虑如何利用 DCPP 的安全密码。在 DCPP 中,如果用户的计算机设置了系统密码或管理员密码,则对于所有 set 命令,您必须传递相应的密码。因此,以纯文本形式提供此密码会违反安全规定。您必须通过以下形式传递密码: System.Security.SecureString。此外,当您通过 SecureString 密码,您必须使用 -PasswordSecure 开关而不是正常的 –Password 开关。下面显示了一个示例,其中用户尝试将 AdvancedBatteryChargeCfg 重定向到 Disabled ,并传递 SecureString 密码:
Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass
在这里,$pass 保存系统密码和管理员密码,其类型为 System.Security.SecureString。与上面的讨论类似,您可以阅读 $pass 为:
$pass = Read-Host "Enter system/admin password" –AsSecureString
您可以保存 $pass 保存到文件(如果需要),如下所示:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Weitere Informationen
相关文章: