python - invoke-command 从 powershell 工作,不能从调用 powershell 的 cmd 窗口工作
问题描述
你好,新年快乐,
我正在尝试从 powershell 调用命令到服务器。为此,我可以在 PSS_invoke.ps1 脚本中编写以下代码行,并$ 'path/to/PSS_invoke1.ps1'
在 powershell 会话中调用它。有用。我还可以将脚本的每一行提交到 powershell 控制台,它也可以工作。
$session = New-PSSession mycomputer
Invoke-Command -Session $session -scriptBlock { start-job -scriptBlock { path\to\stata\stataMP-64.exe -e do path\to\mycommand.do } }
现在,假设我想打开一个 cmd 窗口,然后调用一个将调用命令的 powershell。我这样做是因为我想从一个只能调用 cmd 而不能调用 powershell 的程序运行这个脚本。在 cmd.exe 窗口中
powershell < "\\path\to\PSS_invoke.ps1"
它不运行命令!我在 Python 中尝试了同样的方法,但也没有得到结果:
import subprocess
psInvoke = subprocess.Popen(['powershell',
'-ExecutionPolicy',
'unrestricted',
'path\to\PSS_invoke.ps1',
], cwd=os.getcwd())
result = psInvoke.wait()
我没有得到任何回应,无论是来自 Python 还是来自 cmd。当我不使用 Invoke-command (并且在本地工作)时它可以工作。
我没有错误消息。只是我的脚本没有运行。
我在这里有什么遗漏吗?
谢谢
解决方案
感谢您的及时答复。正如您所建议的,我尝试在 cmd 中使用以下命令:
powershell -File "\\path\to\PSS_invoke.ps1"
它没有开始我的 stata 会话。但是,我也尝试更改启动简单功能的脚本....哪个有效...我想问题出在
$s = New-PSSession -ComputerName myserver
Invoke-Command -Session $s -scriptBlock { Set-Content -Path 'path*\to\test\test.txt' -Value 'Hello world'}
所以我想问题-scriptBlock { start-job -scriptBlock { path\to\stata\stataMP-64.exe -e do path\to\mycommand.do } }
出在脚本的一部分。
推荐阅读
- javascript - proper use of onCompleted for GraphQL mutations
- jquery - parseFloat() 不适用于我从数字类型输入中获得的值
- haskell - 如何使用过滤器和映射 Haskell?
- .net-core - NServiceBus 可以有两个具有不同处理程序的端点来接收不同的 RabbitMQ 事件吗?
- python - 无法使用 pipenv 安装 django。PermissionError:[Errno 13] 权限被拒绝:'Pipfile'
- swift - Swift 中的动态协议一致性
- javascript - 从 JSON 对象生成 HTML 表
- c# - Sendgrid 不发送确认电子邮件 asp.net core 3.1
- reactjs - 如果单个挂钩状态发生更改,自定义挂钩返回组件会重新呈现所有子组件
- javascript - js中的编程绑定