私はソフトウェアの名前でインターネットトラフィックを取得する必要があるPythonでコードを書いています。仰角が必要なコマンドnetstat -nb
を使用する必要があります。私はそれを単純なもの、1行ほどのもの、長いバッチやPowerShellスクリプトなしで保つ必要があります。サブプロセスpythonライブラリのみを使用するのが望ましいです。PowershellとPython - 管理者としてコマンドを実行する方法
私は途中で私は必要なものの仕事の2行のコードを持っている:
subprocess.check_output('powershell Start-Process netstat -ArgumentList "-nb" -Verb "runAs"', stdout=subprocess.PIPE, shell=True)
このいずれかで問題が新しいウィンドウが、それが開かれていますし、私が必要とするすべてのデータが失われることです。別のウィンドウを開いたり、新しいウィンドウから出力を保存したりしない方法がありますか?
subprocess.check_output('powershell Invoke-Command {cmd.exe -ArgumentList "/c netstat -nb"}', stdout=subprocess.PIPE, shell=True)
私は同じウィンドウに出力を持っていますが、私はどんな結果を得ることはありませんので、私は標高を持っていないこの1つは...たぶん、新しいウィンドウを開いたり、そうせずに高度を得るための方法があります?
ご協力いただきありがとうございます。私の質問が十分に明確であることを願っております。
これらのコマンドを直接呼び出すことができるときに、なぜpowershellを使用していますか? – TheIncorrigible1
PowerShellを使っているのではなく、Python自体を昇格させてみませんか?詳細については、[これ](https://stackoverflow.com/a/41930586/3245749)の別のSOの質問への答えをチェックしてください。 – TheMadTechnician
あなたは 'RUNAS'コマンドを見ましたか? – lit