我不确定这是否是询问的正确地方,所以如果不适合的话,请原谅。
我在使用 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 的参数。