本地系统帐户和Windows凭据管理器

因此,我有一个Powershell脚本,该脚本使用Windows凭据管理器来存储凭据。当我使用我的帐户时,我可以访问这些凭据,但是当我尝试使用本地系统帐户(尝试不使用我的帐户来运行脚本)时,它似乎不会从凭据管理器中提取。有什么作用?

if (Get-Module -ListAvailable -Name CredentialManager) {
    Import-Module CredentialManager
}

else {
    Install-Module CredentialManager
}

$service_fqdn = '<SERVER-FQDN>'

$creds = Get-StoredCredential -Target '<SERVICE accOUNT>'
$oauth_client_id = $creds.username
$oauth_client_secret = $creds.GetNetworkCredential().Password

当我尝试获取$ oauth_client_secret的密码时出现空错误

kao10000 回答:本地系统帐户和Windows凭据管理器

问题在于,所有凭据只能由当前登录用户存储和访问。

即如果您创建以user1登录的凭据,则不能以user2甚至Local System Account的身份访问它们。

  

这是有道理的,无法解决。你不要随机   登录的人/用户可以访问其他人的   凭据。

“解决方法”是创建一个具有最小权限的新用户/服务帐户,该帐户专用于运行服务/脚本。然后,您可以将新凭据创建为该新用户/服务帐户:

New-StoredCredential -Target "Server1" -Username "SA-Username" -Password "Password123"

然后以该用户身份运行脚本,您将有权访问该凭证。

注意:您不能使用Local Service Account来运行脚本,因为您不能将本地服务帐户明确指定为有效用户来创建新的存储凭据。

本文链接:https://www.f2er.com/3156413.html

大家都在问