前提・実現したいこと
コンピュータA(クライアント)のPowerShellから,コンピュータB(サーバー)にアクセスし,コンピュータBのディレクトリに存在するpythonファイル(.py)を実行したい.
これは,リモートデスクトップなどの手段を使わずに,PowerShell上のみで完結する方法を実現したいという意味です.
<これまで実行したこと>
- コンピュータBの実行ポリシーをRemoteSignedに変更し,
Enable-PSRemoting
コマンドレットを実行した. - コンピュータAで
net start WinRM
でWinRM環境を開始し,Set-Item
コマンドレットでコンピュータBのホスト名を登録した.
発生している問題・エラーメッセージ
コンピュータAから,コンピュータBに
PowerShell
1Enter-PSSession -ComputerName <server-host-name> -Credential <user-name>
でアクセスし,コンピュータBにリモート接続できたのですが,python
と入力しても対話型のpythonが開かず,python sample.py
と入力してもカレントディレクトリにあるsample.py
が実行されませんでした.
その際,PowerShellはエラー文をはくわけでもなく,何事もなかったようにコマンドの入力待ち状態に戻ります.
(コンピュータB上でpython
コマンドは普通に動作します)
また,環境変数をシステム環境変数に変更したり,python
をフルパスで入力したりしましたが,どちらも変わりませんでした.
その他のpip
やPowerShellコマンドレットは入力すると問題なく動作するので,何が問題となっているのかわからず,困っています.
PowerShellに詳しい方,ご教授お願い致します.
試したこと
Invoke-Command
を用いて,
PowerShell
1Invoke-Command -ComputerName <server-host-name> -ScriptBlock{ python sample.py }
で実行しても,python
からの返り値はなく,またタスクマネージャーを見たところ,実行もされていませんでした.
補足情報(FW/ツールのバージョンなど)
- コンピュータA
name | value |
---|---|
OS | Windows 10 Home |
PowerShell Version | 5.1.18362.752 |
PowerShell RemotingProtocolVersion | 2.3 |
- コンピュータB
name | value |
---|---|
OS | Windows 10 Pro |
Python Version | 3.8.2 |
PowerShell Version | 5.1.18362.752 |
PowerShell RemotingProtocolVersion | 2.3 |
回答3件
あなたの回答
tips
プレビュー