当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 安全地存储凭据

作者:精品下载站 日期:2024-12-14 03:37:35 浏览:14 分类:玩电脑

如何使用 PowerShell 安全地存储凭据


您必须在 PowerShell 脚本中进行身份验证并在 PowerShell 中存储密码。有时,您希望获得凭据提示来填写凭据并运行脚本。另一次,您希望自动执行任务并以加密格式安全地保存密码。在本文中,您将了解如何使用 PowerShell 安全地存储凭据。

交互式与非交互式

  • 交互式方法需要用户交互,例如提示用户输入用户名和密码。当提供必要的信息时,它会进一步进行。
  • 非交互式方法在脚本执行期间不需要用户输入,并且通常依赖于预先配置的设置、自动化流程或提前提供的数据。

重要提示:始终安全地填写密码,切勿使用纯文本。

在 PowerShell 中存储凭据以供用户交互(交互式)

如果您希望脚本提示输入用户名和密码,请按照以下方法之一中的步骤操作。

方法1.获取凭证

  1. 运行 Get-Credential cmdlet 将您的凭据安全地存储在 $Creds 变量中
$Creds = Get-Credential
  1. 将出现 Windows PowerShell 凭据请求,您必须在其中填写凭据

[玩转系统] 如何使用 PowerShell 安全地存储凭据

  1. 在 PowerShell 中运行 $Creds 变量
$Creds
  1. 输出显示用户名密码显示为安全字符串
UserName                       Password
--------                       --------
myusername System.Security.SecureString

方法 2.PSCredential

  1. 运行以下命令将您的凭据安全地存储在 $Creds 变量中
$Creds = [System.Management.Automation.PSCredential]::new((Read-Host -Prompt "Enter username"), (Read-Host -Prompt "Enter password" -AsSecureString))
  1. 输入用户名密码
Enter username: myusername
Enter password: ****************
  1. 在 PowerShell 中运行 $Creds 变量
$Creds
  1. 输出显示用户名密码显示为安全字符串
UserName                       Password
--------                       --------
myusername System.Security.SecureString

当您有一个交互式运行的脚本并且每次都可以输入凭据时,这非常有用。但是,如果您不在计算机后面,并且希望通过计划任务自动执行脚本,该怎么办?然后,你必须使用不同的方法。

在 PowerShell 中存储凭据以实现自动化(非交互式)

要将凭据存储在系统上以便每次运行 PowerShell 脚本时都会加载凭据,您需要执行以下步骤:

  1. 运行 Get-Credential cmdlet 将您的凭据安全地存储在 $Creds 变量中
$Creds = Get-Credential
  1. 输入您的凭据
  2. 将凭证导出到加密的 XML 文件
$Creds | Export-CliXml -Path "C:\creds\credential.xml"

注意:Export-Clixml cmdlet 使用 Windows 数据保护 API 加密凭据对象。加密可确保只有您的用户帐户才能解密凭证对象的内容。导出的 CLIXML 文件不能在不同的计算机上或由不同的用户使用。

  1. 导航至路径并验证 XML 文件

[玩转系统] 如何使用 PowerShell 安全地存储凭据

  1. 打开XML文件并检查密码是否已加密

[玩转系统] 如何使用 PowerShell 安全地存储凭据

  1. 在 PowerShell 脚本中,您现在可以运行 Import-Clixml cmdlet 并将其指向 XML 文件所在的路径,以便加载用户名和加密密码
$Creds = Import-CliXml -Path "C:\creds\credential.xml"

就是这样!

了解更多:为无人值守脚本配置基于 Exchange Online 证书的身份验证 »

结论

您学习了如何使用 PowerShell 安全地存储凭据。在 PowerShell 中保存凭据有多种方法。检查它是交互式脚本还是非交互式脚本并应用正确的方法。始终确保密码填写安全,而不是明文。

您喜欢这篇文章吗?您可能还喜欢如何连接到 Microsoft Graph PowerShell。不要忘记关注我们并分享这篇文章。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯