ローカルシステム(nt authority\system
)として実行されるpowershellスクリプトを指定します。
現在ログインしているユーザーとしてコマンドを実行する方法はありますか(もちろんユーザーパスワードは指定しないでください)。
これまでに試したことから、-User
パラメーターを取るRegister-ScheduledTask
コマンドレットがあります。タスクはスケジュールされ、正常に実行されました。それを考えると、もっと直接的なやり方があるはずです。現在ログインしているユーザーとしてpowershellコマンドを実行します。
答えて
私はschtasks.exeを使用します。これが純粋なPSでできるかどうかはわかりません。
$user = Get-WmiObject -Class win32_computersystem | % Username
$computer = $env:COMPUTERNAME
$time = (Get-Date).AddMinutes(1).ToShortTimeString()
schtasks /create /s $computer /tn "RunCMD" /sc once /tr "cmd.exe" /st $time /ru $user
正確にこれを行うための複雑な方法があります。 API関数CreateProcessAsUser
が必要です。これを呼び出すには、WTSQueryUserToken
API関数を使用して現在のコンソールセッションに関連付けられたTOKEN
を取得する必要があります。これには、WTSGetActiveConsoleSessionId
API関数で取得されたセッションIDが使用されます。 (多くの例では、トークンが重複していることが示されていますが、私が読んだことからは、WTSQueryUserToken
はすでにプライマリトークンを返しているので不要です)。
また、作成します。そのためには、CreateEnvironmentBlock
API関数を使用します。 CREATE_UNICODE_ENVIRONMENT
フラグを指定してください。
もちろん、PowerShellではこれらの関数を直接呼び出すことはできません。そのため、C#ヘルパーコードを動的にコンパイルしてPowerShell環境に読み込む必要があります。
トークンの操作はまったく単純なトピックではなく、とにかくさらに多くのドキュメントを使用する可能性があるので、この例を見てみたいと思います。 – DeepS1X
- 1. 現在ログインしているユーザーとしてシェルスクリプトが実行されるときにシェルスクリプトが実行される
- 2. タグヘルパーの現在ログインしているユーザー
- 3. Codeigniter現在ログインしているユーザー
- 4. クエリで現在ログインしているユーザーを使用します。
- 5. 現在ログインしているアクティブディレクトリとdbユーザーを比較していますか?
- 6. 現在ログインしているユーザーの電子メールアドレスがタイムアウトしています
- 7. Passport.jsで現在ログインしているユーザーとのリンクFacebookのデータ
- 8. 他のユーザーとしてログインしているときに、PowershellコマンドをPSSessionの管理者として実行できますか?
- 9. 現在ログインしているFBユーザーのIDを取得する
- 10. 現在のログインしているユーザーをspring + angularにする
- 11. JHipsterで現在ログインしているユーザーを取得する
- 12. 現在ログインしているユーザーSIDを取得する方法
- 13. 現在ログインしているユーザー名を取得するには?
- 14. スプリングセキュリティを使用して現在ログインしているユーザーを取得する
- 15. 現在ログインしているユーザーのWordPressブログデータにアクセスするAPI
- 16. powershellスクリプト内でdifferendユーザーとしてバッチスクリプトを実行します。
- 17. Bashスクリプト。ユーザーとしてログインし、コマンドを実行してサインアウトしてください。
- 18. MVC 6で現在ログインしているユーザーの役割を取得します
- 19. Djangoのクラスビューで現在ログインしているユーザーを取得しますか?
- 20. モバイルアプリの現在ログインしているユーザーにシングルトンを使用
- 21. Symfony2 - 現在ログインしているユーザーをリスナーに挿入
- 22. 現在ログインしているユーザーを取得asp.net
- 23. ログインしている現在のユーザーのデータを取得
- 24. 現在ログインしているユーザーを取得
- 25. 現在ログインしているユーザー/管理者は自分自身を削除してはなりません(現在ログインしています)
- 26. pythonでコマンドを書いて、powershellで実行します。
- 27. PowershellからVisual Studioコマンドを実行しています
- 28. 現在ログインしているユーザーのCAS番号
- 29. MVC3 +現在ログインしているユーザーのユーザー名を取得する方法
- 30. 現在ログインしているユーザーのユーザーIDをDjangoで取得するには?
私は 'Register-ScheduledTask'はちょうど同じもので、$ env:USERNAMEと同じだと思います。スクリプトはシステムとして実行されているので、現在ログインしているユーザの名前はあなたに与えられません。 – Bax
タスク全体がSYSTEMとして実行されている場合でも、常にWMIを使用してユーザー名を取得します。私の更新された答えを見てください。 –