Python 2.7.7 を使用して、IP アドレスに ping を実行し、その PC の電源がオンかオフかを判断し、それに応じてそのシステムの電源状態を変更する小さなスクリプトを作成しようとしています。私は Python モジュールsubprocessとwakeonlan. ping や WOL の使用に問題はありませんが、シャットダウン機能が非常に奇妙な動作をしています。
コマンド プロンプトからコマンドを使用するshutdown -s -t 0 /m \\XXX.XXX.X.Xだけでなく、cmd で Python インタラクティブ シェルから次のコマンドを使用しても問題なく動作します。
import subprocess
ip = 'XXX.XXX.X.X' # use for example
subprocess.call('shutdown -s -t 0 /m \\\\%s' % ip)
しかし、Python スクリプトから同じコマンドを実行すると、次のエラーが返されます。
XXX.XXX.X.X: 入力されたコンピューター名が無効であるか、ターゲット コンピューターでリモート シャットダウンがサポートされていません。名前を確認してから再試行するか、システム管理者に連絡してください。(53)
私が考えていないバックグラウンドの動作はありますか? おそらくサブプロセスモジュールと何か関係があるのでしょうか? 前もって感謝します!