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

[玩转系统] 将密码存储在 Windows 凭据管理器中以避免 PowerShell 提示

作者:精品下载站 日期:2024-12-14 08:33:21 浏览:15 分类:玩电脑

将密码存储在 Windows 凭据管理器中以避免 PowerShell 提示


PowerShell 通过自动化需要重复的流程,从而减少出现错误的可能性,从而使管理员的工作变得更加轻松。管理员在使用 PowerShell 时每天都会遇到一个常见问题。作为 Microsoft 365 管理员,在连接到多个租户、SharePoint 网站或各种 Office 365 服务时,很难持续键入用户名和密码。为了避免在这种情况下提示输入用户名和密码,有几种方法。让我们来看看吧!

如何绕过 PowerShell 提示?

运行 PowerShell 脚本时,需要保存凭据,以便将它们输入到自主运行的脚本中。

在脚本中对密码进行硬编码——常见的方法之一是将用户名和密码以纯文本形式直接写入 PowerShell 脚本中,然后创建 PowerShell 凭证对象进行传递。该方法确实可以绕过 Get-Credential cmdlet 运行 PowerShell 脚本。但它非常不安全,因为 PowerShell 脚本以纯文本形式存储字符串变量。硬编码的密码很容易被黑客利用来劫持高级管理员帐户。

将凭据存储在文件中 - 在少数情况下,管理员可能会将密码以纯文本形式存储在文件中,以便在没有提示的情况下运行 PowerShell。但将密码存储在文件中通常不是一个好主意。即使文件已加密,仍然存在加密被破坏的风险,从而允许攻击者访问密码。

由于将密码存储在文件中以及在脚本中对密码进行硬编码的相关风险远远超过任何潜在的好处,因此使用凭据管理器已成为一种实践。

使用证书 - 当您不想多次输入凭据来访问网络时,证书是最佳选择。您可以轻松创建自签名证书并将其用于内部和测试目的。对于生产和面向外部的环境,您需要使用 CA 证书,这是昂贵的。但是,只有少数服务支持基于证书的身份验证。

Windows 凭据管理器 - Windows 凭据管理器是一个用户友好的密码管理器,您可以在其中保存用于访问网络资源、网站和应用程序的凭据。它允许保留 4 种类型的凭据,其中包括 Windows 凭据、基于证书的凭据和 Web 凭据。除了保存您的登录用户名和密码之外,凭证管理器还允许您查看、删除、添加、备份和恢复凭证。

让我们深入了解 Windows Credential Manager 如何帮助绕过 PowerShell 脚本而不提示输入密码。

如何从 PowerShell 访问 Windows 凭据管理器?

了解如何使用 PowerShell 提供的 Windows 凭据管理器管理保存的凭据。

要在 PowerShell 中访问凭据管理器,第一步是安装凭据管理器模块。

Install-Module -Name CredentialManager

如何在凭据管理器中保存密码?

New-StoredCredential cmdlet 有助于存储不同用户、租户或应用程序的凭据。

New-StoredCredential -Target Contoso -UserName [email protected] -Password XXX -Type Generic -Persist LocalMachine

上面的示例存储 Office 365 租户 Contoso 的管理员凭据。当您通过 persist as local machine 时,您可以在 UI 中查看存储的通用凭据。

[玩转系统] 将密码存储在 Windows 凭据管理器中以避免 PowerShell 提示

您可以通过运行以下 cmdlet 来检索凭据管理器中存储的所有凭据。

Get-StoredCredential

如何使用 PowerShell 访问 Windows 凭据管理器?

使用Get-StoredCredential,您可以检索存储的凭据并在 PowerShell 脚本中使用它。
要获取凭据并将其存储在变量中,请运行以下 cmdlet。

$Cred=Get-StoredCredential -Target Contoso 

$Cred

要连接到多个 Office 365 服务而不提示弹出凭据,您可以在创建会话时传递 $Cred。

例如,要连接到 Exchange Online PowerShell,您可以通过传递 Credential 参数来调用 Connect-ExchangeOnline cmdlet。

Connect-ExchangeOnline -Credential $Cred

要检查连接是否成功,您可以使用 Get-Mailbox等cmdlet。

如果要从 Windows 保管库中删除凭据,请运行以下命令:

Remove-StoredCredential -Target Contoso

因此,这就是使用 Windows 凭据管理器避免 PowerShell 凭据提示的方法。

在 Windows 凭据管理器中存储密码

除了 PowerShell 之外,您还可以了解如何将密码存储在 Windows 凭据管理器中。稍后,您可以检索它并在 PowerShell 脚本中使用。

第 1 步:在系统中搜索凭据管理器
第 2 步:点击Windows 凭据
第 3 步:导航至添加通用凭据
第 4 步:然后系统将提示您进入新页面,您必须在其中输入 URL、用户名和密码。

[玩转系统] 将密码存储在 Windows 凭据管理器中以避免 PowerShell 提示

例如,假设您使用 Windows 凭据管理器存储 Office 365 Contoso 租户用户的凭据。

在互联网或网络地址部分,您需要输入目标。然后分别输入用户名和密码。

[玩转系统] 将密码存储在 Windows 凭据管理器中以避免 PowerShell 提示

为什么管理员更喜欢凭证管理器来进行高效的密码管理?

以下是管理员可能更喜欢使用凭据管理器来存储凭据的几个原因。

  1. 用户友好的方法 - 在 Windows Vault 中存储凭据不需要任何硬 cmdlet。用户可以手动输入凭据,并可以轻松在 PowerShell 脚本中运行它们。
  2. 计划任务不再是痛苦 - 考虑作为计划任务或自动化框架的一部分运行的自动化脚本的情况。在这些情况下,没有人可能会监视控制台来输入用户名和密码。 Get-StoredCredential 函数还可以轻松集成到您作为计划任务运行的脚本中。
  3. 多服务兼容性 - 作为 Windows 的内置功能,凭据管理器与各种应用程序和服务兼容。因此,它是定期存储凭证的便捷选择。
  4. 加密存储 - 使用凭据管理器,您的所有凭据都会被加密,确保它们安全并防止未经授权的访问。

尽管凭据管理器可以方便地存储密码,但也存在一些与之相关的安全风险。

  1. 您的密码确实以加密格式存储在凭据管理器中。但是,一旦您的计算机受到威胁,黑客就可以轻松访问您存储在 Windows Vault 中的所有凭据。
  2. 事实上,Credential Manager 中存储的密码不适用于 MFA 帐户,这一点非常无趣。众所周知,需要强大的 MFA 实践来让您的用户远离著名的身份攻击,例如网络钓鱼、MFA 疲劳、SIM 交换、重放等。
  3. 由于凭据管理器是一个基本的密码管理器,因此它不提供专用密码管理器中可能提供的许多高级功能。

总之,对于定期使用 PowerShell 的任何人来说,凭据管理器都是必不可少的工具。无论您是管理员还是只是需要自动执行任务并避免出现提示,凭据管理器都可以帮助您存储和管理凭据,从而节省您的时间并提高工作效率。

我希望这篇博客可以帮助您了解如何使用 Windows 凭据管理器来存储凭据并避免在运行 PowerShell 脚本时出现提示。请随意在下面发表评论,表达您对此主题的想法以及您遵循的用于存储凭据的任何其他有效方法。

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

取消回复欢迎 发表评论:

关灯