ホームページ  >  記事  >  バックエンド開発  >  管理者権限で PowerShell プロセスを起動し、標準入力 (os.exec) をリダイレクトする方法

管理者権限で PowerShell プロセスを起動し、標準入力 (os.exec) をリダイレクトする方法

王林
王林転載
2024-02-10 19:03:19425ブラウズ

如何使用管理员权限启动 powershell 进程并重定向 stdin (os.exec)

#php エディター Zimo は今日、管理者権限で PowerShell プロセスを開始し、標準入力をリダイレクトする方法を共有します。場合によっては、管理者権限で PowerShell スクリプトを実行する必要がありますが、直接実行すると権限の問題が発生する可能性があります。現時点では、os.exec 関数を使用してこれを実現できます。 os.exec 関数はプロセスを開始し、入力をスクリプトにリダイレクトします。これにより、スクリプト内で管理者権限でコマンドを実行し、入力を受け取ることができます。この記事では、この方法を使用して権限の問題を解決する方法を詳しく紹介しますので、皆様のお役に立てれば幸いです。

質問内容

PowerShellプロセスを管理者権限で起動し、標準入力をライターにリダイレクトしたいのですが、管理者として実行する方法以外は全て行いました 作業。

リーリー

「runas」に設定できる process.verb のようなものはないようなので、PowerShell コマンド start-process ... - を使用して PowerShell を作成してみました。動詞 runas プロセスとプロセスの pid の取得は成功しましたが、後でその pid を使用して stdin と stdout を操作することはできないようです。

解決策

@jeroen-mostert のおかげで、なんとなくわかりました。管理者として go 実行可能ファイルを起動し、StartProcess powershell.exe -verb RunAs を使用しましたが、そもそも希望どおりに動作しませんでしたが、少なくとも PowerShell UAC では開かなくなりました。

以上が管理者権限で PowerShell プロセスを起動し、標準入力 (os.exec) をリダイレクトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。