0

我有一些 PowerShell 脚本来更新活动目录中的数据。现在我想从另一台加入域的计算机上运行这些脚本,但当前登录的用户没有运行这些脚本的 AD 管理员权限。如何首先传递凭据以以管理员身份连接到域,然后运行脚本?

我知道该命令get-credentials,但我不想要任何手动干预。有运行脚本的批处理文件,我想放置一次凭据。我也不想向登录用户显示密码。我们有没有可能以加密格式保存密码?

4

2 回答 2

0

希望两个域之间有信任

$Server = 'XXXXXXXXXX'

    $username = 'Domain\XXXXXXXXXX'

    $password = 'XXXXXXXXXX'

    $securepassword = ConvertTo-SecureString $Password -AsPlainText -force

    $cred = New-Object System.Management.Automation.PSCredential -ArgumentList ($username,$securepassword)

    Get-ADComputer -Identity $Server -Credential $cred

您可以使用 PowerGUI 将整个脚本更改为 exe 文件,并使用凭据将其保存以免被打开。

或者

使用 Brenton JW Blawat 的脚本进行加密,位于http://gallery.technet.microsoft.com/scriptcenter/PowerShell-Script-410ef9df

或者

使用以下文章中提到的简单脚本 http://www.interworks.com/blogs/trhymer/2013/07/08/powershell-how-encrypt-and-store-credentials-securely-use-automation-script

于 2013-10-07T20:16:59.843 回答
-1

您可以编写一个 VBS 包装器,然后使用脚本编码器将其转换为 VBE,而不是使用批处理文件。从技术上讲,Vista 或 7 不支持脚本编码器,但如果你能在某个地方找到它,它仍然可以工作。另一种选择是将所有代码放入.Net EXE。一旦编译完成,它将对普通用户隐藏密码。知道他们在做什么的人仍然可以提取它,所以要注意这一点。编码的 VBE 也是如此。

于 2013-12-05T20:24:25.263 回答