[玩转系统] PowerShell SecretManagement 模块:安全地管理凭据和秘密
作者:精品下载站 日期:2024-12-14 23:07:45 浏览:14 分类:玩电脑
PowerShell SecretManagement 模块:安全地管理凭据和秘密
微软最近发布了一个非常有用的SecretManagement PowerShell 模块。您可以使用它在 PowerShell 脚本中安全地存储和使用保存的密码(机密)。该模块由两个组件组成:SecretStore 保管库(默认密码存储)和SecretManagement(访问不同密码保管库的引擎)。支持内置 SecretStore 保管库和第三方秘密保管库(如 KeePass、LastPass、HashiCorp Vault、Azure Key Vault、Bitwarden、Windows Credential Manager 等)。使用 SecretManagement,您可以将任何密码(凭据)保存到秘密保险库并随时检索它们。您还可以存储许可证密钥、访问密钥和其他敏感信息(
Hashtable
,
Byte
,
String
,
SecureString
, 和
PSCredential
支持对象类型)。
在本文中,我们将展示如何在 PowerShell 脚本中使用 SecretManagement 模块来存储和检索凭据,以及 KeePass 集成的示例。
安装保密管理模块
SecretManagement 模块需要 Windows PowerShell 版本 5.1 或 PowerShell Core 6.x、7.x。
要使用 NuGet 包管理器安装 SecretManagement,请运行以下命令:
Install-Module -Name Microsoft.PowerShell.SecretManagement
要安装 Microsoft 提供的默认 SecretStore 保管库,请运行以下命令:
Install-Module -Name Microsoft.PowerShell.SecretStore
要显示模块中可用 cmdlet 的列表,请使用以下命令:
Get-Command -Module Microsoft.PowerShell.SecretManagement
Get-Command -Module Microsoft.PowerShell.SecretStore
通过 PowerShell 创建密码存储 (SecretStore Vault)
首先,创建一个本地秘密库。我将其命名为 MyDomainPassdb 并使其成为默认密码存储。
Register-SecretVault -Name MyDomainPassdb -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
如果 PowerShell 脚本执行策略的设置阻止模块运行,您可以更改当前会话的设置,如下所示:
Set-ExecutionPolicy -Scope Process Unrestricted
您可以创建和使用本地和远程密码保管库。
下面的命令显示当前用户注册的密码库列表:
Get-SecretVault
创建主密码以访问您的 SecretStore Vault:
Get-SecretStoreConfiguration
如果您忘记 SecretStore Vault 主密码,您将无法访问其中存储的数据。
默认情况下,以下设置确定谁以及如何访问密码存储:
Scope- CurrentUser(只有当前用户可以访问SecretStore)
Authentication密码(使用主密码访问保管库)
PasswordTimeout- 900 - 会话持续时间(以秒为单位),在此期间您不需要重新输入主密码,您可以延长会话长度:
Set-SecretStoreConfiguration -PasswordTimeout 1200
Interaction- 提示(更改时是否输入主密码)
要禁用主密码访问秘密保管库的请求(不推荐),请设置
Authentication = None
Set-SecretStoreConfiguration -Authentication None
要更改主密码,请使用
Set-SecretStorePassword
cmdlet。
在 Windows 中,本地密码存储位于用户配置文件文件夹中
%LOCALAPPDATA%\Microsoft\PowerShell\secretmanagement
。
遗憾的是,您无法使用托管服务帐户 (MSA/gMSA) 的机密管理模块,因为没有为它们创建配置文件。
使用秘密管理模块管理保存的凭证
这
Set-Secret
cmdlet 用于将 SecureString 类型的机密添加到密码库中。指定保管库名称和条目名称:
Set-Secret -Vault MyDomainPassdb -Name user1
输入您想要保存在商店中的密码(秘密)。
或者,您可以按如下方式保存受保护的值(例如 GitHub 密钥):
Set-Secret -Vault MyDomainPassdb -Name MY_GITHUB_TOKEN -Secret 'GitHub_AUTH_API_Token'
在 PowerShell 控制台中以纯文本形式输入私人信息时要小心,因为它保存在 PowerShell 命令历史记录中。
您可以显示秘密保管库中的条目列表:
Get-SecretInfo
在 PowerShell 7.x 中,您可以使用 -AsPlainText 选项以纯文本形式显示密码库中受保护的值(如果需要,请更新您的 PowerShell 版本):
Get-Secret -Vault MyDomainPassdb -Name user1| ConvertFrom-SecureString -AsPlainText
在大多数情况下,您必须同时保存用户名和密码,而不是仅在 Windows 网络中工作时才保存密码。在这种情况下,请将凭据保存为 PSCredential 对象。您还可以添加元数据以及已保存条目的描述。
Set-Secret -Vault MyDomainPassdb -Name adm_maxbak -Secret (Get-Credential) -Metadata @{description = "AD enterprise admin a-d.site"}
如果您不想在“获取凭据”窗口中输入帐户名,可以这样指定:
Set-Secret -Vault MyDomainPassdb -name adm_maxbak -Secret (get-credential a-d\adm_maxbak)
以下是显示已保存密码及其描述的列表的方法:
Get-SecretInfo | Ft Name, Metadata
在 PowerShell 脚本中使用 Secret Vault 中保存的密码
现在,您可以在 PowerShell 脚本和命令中使用保存的密码。例如,出于安全和管理帐户保护的原因,我的一位客户为每个管理员使用十几个帐户和不同的服务/任务。禁止使用相同的密码,密码会定期审核。管理员发现不断输入不同的密码很乏味。
使用 SecretManagement 模块,您可以安全地将密码存储在本地保管库中,并在必要时获取它们。
例如,要连接到远程计算机并通过 PowerShell Remoting 运行命令,可以使用以下代码:
Enter-PSSession -ComputerName mun-dc01 -Credential (Get-Secret -Vault MyDomainPassdb -Name adm_maxbak)
以同样的方式,您可以更轻松地连接 Exchange 或 Microsoft 365(前 Office 365):
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://mun-exch1.a-d.site/PowerShell/ -Authentication Kerberos -Credential (Get-Secret -Vault MyDomainPassdb -Name adm_ex_maxbak)
或者连接您的 Azure AD 租户:
Connect-AzureAD -Credential (Get-Secret -Vault MyDomainPassdb -Name azadm_ maxbak)
或者只是获取凭据并将其存储在 PowerShell 变量中:
$Cred = Get-Secret -Vault MyDomainPassdb user1
使用 PowerShell 管理 KeePass 密码和机密
您可以使用 SecretManagement 模块访问其他流行的密码库。让我们看看如何访问 KeePass 文件 (*.kdbx) 中保存的密码。
首先,安装SecretManagement模块来与KeePass交互:
Install-Module -Name SecretManagement.KeePass
然后注册位于您的用户配置文件中的 KeePass 保管库文件:
Register-SecretVault -Name "KeePassDB" -ModuleName "SecretManagement.Keepass" -VaultParameters @{
Path = "C:\Users\maxbak\Documents\personal_creds.kdbx"
UseMasterPassword = $true
}
要检查对 KeePass 文件的访问,请运行以下命令:
Test-SecretVault -Name KeePassDB
输入主密码以访问 KeePass 保管库。如果您输入的密码正确,该命令将返回True。
然后显示 KeePass 数据库中保存的密码列表:
Get-SecretInfo -Vault KeePassDB
要在 KeePass 中保存新密码:
Set-Secret -Vault KeePassDB -Name "ILO_adm" -Secret (Get-Credential a-d\ILO_adm)
以同样的方式,您可以连接任何其他流行的密码存储解决方案并在 PowerShell 中使用它。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag