0

我在一家应用程序开发公司工作,但我在支持方面。我希望在远程主机(logmein Rescue Technician Pro)上运行脚本。我们的客户都运行windows机器,我们支持的最旧的操作系统版本是XP SP3和最新的win8。我需要一种 Windows 原生的脚本语言,不需要任何下载或解压缩。这些脚本是 Powershell 脚本,但我们都知道执行策略需要设置为不受限制。我需要一种脚本语言来自动化鼠标单击和击键,例如在键盘上按 Enter 或在 cmd/Powershell 中输入单词,然后按 Enter。我正在尝试以另一种语言运行脚本以禁用 Powershell 中的执行策略,然后从这一点启动 powershell 脚本。我希望我已经解释了自己。

更新:

我不擅长我想解释的事情。我需要运行一个脚本来通过 LOGMEIN RESCUE TECHNICIAN 对远程用户禁用 ExecutionPolicy。Logmein 有一个名为“SCRIPTS”的选项卡,当您连接到远程会话时会自动启动。问题是 PowerShell 默认设置为执行策略受限。那将不允许我的脚本运行,我必须从我的机器上手动运行它们,我相信它们是一种只运行脚本并将结果输出给我的方法,而无需启动远程用户 GUI,所有这些计算机是它们自己的独立机器,而不是在域中。我需要在远程会话启动时在远程计算机上不受限制地运行脚本。这就是为什么我要绕圈子试图弄清楚这一点。我能够从 cmd 禁用 powershell,但我需要按回车键,我需要编写回车键击的脚本,但我再次遇到块,只需运行我的脚本。在这一点上,我现在对此感到恼火。

4

3 回答 3

1

您可以像这样运行 powershell 脚本:

powershell -executionpolicy unrestricted -file "C:\Myscript.ps1" 

这不会改变整台机器的全局执行策略,而只是运行该脚本。

于 2013-07-15T21:05:28.587 回答
0

两种选择:

1.坚持使用PowerShell。启动 PowerShell 时,不要从快捷方式启动,而是运行以下命令(从 cmd 提示符或运行命令):

powershell.exe -ExecutionPolicy ByPass 

这将在执行模式设置为 ByPass 的情况下运行 PowerShell。

2.使用适用于所有版本的Windows、VB脚本的旧脚本编写方式。(虽然,使用 PowerShell 后,VB 脚本很难返回)

于 2013-07-15T21:07:35.660 回答
0

老实说,我会使用 JScript(或 VBScript,但 JScript 是一种更好的语言恕我直言),因为您不想在远程机器上安装任何东西。XP 不包含 PowerShell,因此您必须在某个时候安装它。

VBScript 和 JScript 等 WSH(Windows 脚本宿主)语言和 PowerShell 都可以模拟鼠标点击和击键,但如果您想要一个可以在所有这些平台上开箱即用的脚本,您需要坚持使用 WSH 语言。

但是,如果您对远程系统上安装的内容有任何控制权,请使用 PowerShell,或者 - 至少 - 确保 Windows Scripting Host 组件与平台可用的最新版本保持同步。我不确定这是否会作为典型 Windows 更新的一部分出现。

只是我的 0.02 美元。

于 2013-07-15T21:18:33.090 回答