現在、さまざまな通常のタスクのユーザーアカウントとしてLOCAL SERVICE
を使用していますが、代わりに 仮想アカウント を使用できるかどうか疑問に思っていました。
タスクスケジューラは、NT SERVICE\
スタイルのアカウント名を拒否しているようです。
仮想ユーザーアカウントとして実行することはできません。ただし、仮想groupアカウントで実行できます。 (ただし、その "group"はタスクと1:1の関係にあるため、事実上ユーザーです)。
スケジュールされたタスクをローカルサービスユーザーとして実行するとします。そのグループのトークンには一連のSIDがあります。
ローカルサービス:
S-1-1-0
)S-1-2-0
)S-1-5-11
)S-1-5-32-535
)タスクスケジューラは、タスクの名前から計算された追加のSIDを使用してタスクを実行します。
次のコマンドを実行して、タスク名をSIDに手動で「ハッシュ」することができます。
>schtasks /showsid /TN "The quick brown fox jumped over the lazy dog"
SUCCESS: The SID "S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331" for the user name "The quick brown fox jumped over the lazy dog" has been computed successfully.
タスクは存在する必要はありません。その名前のタスクが実行されるときにが使用するSIDが表示されます。
The quick brown fox jumped over the lazy dog
S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
これは、スケジュールされたタスクが実行されると、セキュリティトークンに新しいSIDが含まれることを意味します。
ローカルサービス:
S-1-1-0
)S-1-2-0
)S-1-5-11
)S-1-5-32-535
)S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331
)トークンにこの新しいグループSIDのタグを使用すると、ファイルとフォルダーのアクセス許可を編集して、スケジュールされたタスクのみがアクセスできるようにすることができます。
>icacls icacls yellow.png /grant "*S-1-5-87-2312335432-65297056-3549082870-2589977271-250352331:(M)"
いいえ、あなたがすることはできません。仮想サービスアカウントは、Windowsサービスを実行するように設計されています。それだけです。仮想サービスアカウントには独自のSIDとWindowsがあり、セキュリティのためにVSAのパスワードを定期的かつ自動的に変更します。アカウントには、ACLでアクセス制御エントリを割り当てることができます。ただし、アカウントはSAMレジストリHiveにも保存されないため、ほとんどの管理ツールにアカウントが表示されません。
Windows Internals、Sixth Ed。、のChatter 6から、Mark Russinovich、David Solomon、AlexIonescuによる。
編集:Windowsサービスを実行している仮想サービスアカウントがネットワークリソースにアクセスしようとすると、SERVER01 $ @ domain.comなどの実行しているコンピューターのアカウントを使用してアクセスすることにも注意してください。
編集:実際には、それはあなたが本当に達成したいことによって異なります。タスクがACLを使用してアクセスしているリソースを保護する場合、次の方法があります。
Windows7およびWindowsServer 2008 R2で、スケジュールされたすべてのタスクにSIDを適用し、そのSIDを使用してオペレーティングシステムの他の場所にアクセス許可を適用する機能。- http://blogs.technet.com/b/craigf/archive/2011/03/15/using-delegation-in-scheduled-tasks.aspx
スケジュールされたタスクには特定のSIDがあります
編集:リンクの説明を追加しました。