Get-Credential 未通过域

Get-Credential 未通过域

我不确定这是否是询问的正确地方,所以如果不适合的话,请原谅。

我在使用 Get-Credential 将凭据传递给脚本时遇到问题。此 cmdlet 打开一个窗口,我在其中输入以下格式的凭据:域\用户名,然后是密码。但是,查看事件查看器中的日志后发现域似乎未分开,域\用户名被视为用户名:

尝试使用显式凭据登录。

主题:
安全 ID:domain\user1
帐户名称:user1
帐户域:domain

使用了凭证的帐户:
帐户名称:domain\username
帐户域:

有谁遇到过类似的问题吗?

答案1

根据脚本中凭据对象的使用方式,您可能需要使用方法.GetNetworkCredential()。格式为“DOM\Username”的用户名称为下级登录名,将整个用户名称为用户名并不准确。因此,PSCredential 对象上的 .UserName 属性是完整的“DOM\Username”字符串:

c:\> $Credentials.UserName
DOM\User

但是,各个部分是分开存储的,可以通过以下方法访问.GetNetworkCredential()

c:\> $Credentials.GetNetworkCredential().UserName
User
c:\> $Credentials.GetNetworkCredential().Domain
DOM

如果将凭据传递给您未编写的函数,请查找用于分离域和 SamAccountName 的参数。

相关内容