web-dev-qa-db-ja.com

ルーン文字とシステムアカウントの問題

Windows XPマシンのローカルシステムアカウントで実行されているプロセスがあります。このプロセスは、システム上の別のユーザー(Maxなど)としてデフォルトのアプリケーションでファイルを開こうとします。 Maxはログインしていて、デスクトップを持っています。

ファイルは、vbscriptでShellExecuteを使用して次のコマンドで開きます。

runas /user:Max "cmd.exe /C start \"path_to_file\""

上記で実行されたローカルシステムアカウントでプロセスが実行された後、Maxはパスワードの入力を求められます。 (したがって、runasコンポーネントは明らかに少なくとも開始されます。)

ただ、正しいパスワードを入力した後でも、runasは次のエラーを生成します。

RUNAS ERROR: Unable to run - cmd.exe /C start "path_to_file"
5: Access is denied.

どのアクセスが拒否されているのかわかりません。 cmd.exe/Cを実行すると、Maxが完全に正常に機能するため、「path_to_file」が開始されます。したがって、Maxは明らかに「path_to_file」にアクセスできます。

3
ARF

これは同じように見えます PSExecで発生した問題 。編集:RunasとPSExecは、CreateProcessWithLogonWを呼び出すことにより、異なる資格情報で新しいプロセスを生成します。ただし、「LocalSystem」アカウントを使用している場合:

関数は呼び出し元トークンでログオンSIDを使用し、「LocalSystem」アカウントのトークンにはこのSIDが含まれていないため、「LocalSystem」アカウントで実行されているプロセスからCreateProcessWithLogonWを呼び出すことはできません。

http://msdn.Microsoft.com/en-us/library/ms682431%28VS.85%29.aspx

3
ARF

パスワードを自動的に入力するsanurツールを試してみたときにも同様の経験をしました。アカウントを使用している限り、スクリプトは正常に機能します。 SCCM)で実行すると、systenアカウントで機能しますが失敗しました。

私は回避策を見つけられませんでした。私の結論は、システムアカウントでrunasを開始することはできないということです。

0
Max