如何从计算机到不受信任的域运行PowerShell脚本?

时间:2013-10-07 08:28:23

标签: powershell active-directory

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

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

2 个答案:

答案 0 :(得分: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 J.W.的脚本。 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

答案 1 :(得分:-1)

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