2014-03-04 31 views
2

所以我试图让脚本从另一台服务器上的服务器远程运行脚本。由于cmdlet,此会话必须是32位。脚本必须以管理员身份运行。 我已经试过这样:使用提升的权限执行远程32位PSSession

Invoke-Command -ComputerName isg108-81 -FilePath C:\inetpub\scrip\ConvertAppvPackages.ps1 -ConfigurationName microsoft.powershell32 -credentials Admin 

所以这个开始的PowerShell的32位版本,但只要剧本到达那里需要提升权限的壳告诉我的一部分:

You must run this cmdlet using a Windows PowerShell elevated command prompt . To run 
an elevated command prompt, right-click the Windows PowerShell or Command Prompt Start 
menu object that you are using to start your Windows PowerShell sessions, and then 
Select Run as administrator. 

有人有什么想法吗?

Thnx很多为您的帮助!

+3

这很奇怪,因为远程处理会话通常已经提升,这就是为什么您需要管理员凭据来启动远程处理会话。 –

+0

在脚本运行时,有没有办法切换到提升模式? @KeithHill – Matt

+0

切换到提升模式的唯一方法是使用'开始 - 进程powershell.exe -arg'c:\ blah \ script.ps1'-verb runas'。假设用户具有管理员权限,但在UAC中使用标准用户令牌运行。您也可以使用-Credentials参数而不是'-Verb runas'作为具有管理权限的不同用户运行。 –

回答

0

事实证明,ConverFrom-AppvLeagcyPackage cmdlet不知何故被破坏,无法远程执行。作为解决方案,我使用Psexec程序远程运行脚本,但只有在以系统用户身份运行脚本时才能使用。

非常感谢您的帮助!

0

如果服务器是64位操作系统,则必须调用32位powershell.exe。如果你调用服务器来运行32 exe并运行脚本呢?由于你调用它,程序将不会显示,脚本将不得不输出一些文件来查看任何结果。