有没有人知道如何在System.DirectoryServices.ActiveDirectory上下文中使用密码。密码存储在文件中。
$UserName="DomainName.com\JohnP"
$PassFile="C:\Temp\Pass.PPP"
$password = get-content $PassFile | ConvertTo-SecureString -AsPlainText -Force
$creds = new-object -typename System.Management.Automation.PSCredential("$UserName",$password)
$a = new-object System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", "MyForest.com",$UserName,$Password)
它总是返回"服务器拒绝了凭证"。如果我在$ Password变量中存储密码,它可以工作。例如,下面的代码可以工作:
$UserName="DomainName.com\JohnP"
$PassFile="C:\Temp\Pass.PPP"
$password = "MyPassword"
$creds = new-object -typename System.Management.Automation.PSCredential("$UserName",$password)
$a = System.DirectoryServices.ActiveDirectory.DirectoryContext("Forest", "MyForest.com",$UserName,$Password)
有人可以帮助了解如何使用文件中的密码,然后使用System.DirectoryServices.ActiveDirectory上下文。
非常感谢! Nratwa
答案 0 :(得分:0)
[PSCredential]
将密码存储为安全字符串,因此已加密。
获取未加密的密码值:
$creds.GetNetworkCredential().Password