Windowsには
- スタートアップスクリプト
- シャットダウンスクリプト
- ログオンスクリプト
- ログオフスクリプト
が存在します。
ADに参加しているパソコンの場合は、GPOで一元管理出来て便利ですね。
「コンピューターの構成」GPOによって実行されるのが、スタートアップスクリプト/シャットダウンスクリプトで
「ユーザーの構成」GPOによって実行されるのが、ログオンスクリプト/ログオフスクリプトです。
これらのスクリプトの実行ユーザーは誰か調べました。
レジュメ
環境・前提条件
- Windows 7
- AD参加している
ローカルのグループポリシーで確認しましたが、ADによるグループポリシーでも同様です。
結論、ログオンスクリプトの実行ユーザーはログオンしたユーザー
上記は以下のコマンドをスタートアップスクリプトで打った結果です。
- whoami
- set username
まあ当然ですね。ログオンしたユーザーでログオンスクリプトが実行されていることがわかります。
ログオフスクリプトについても実行ユーザーは同じです。
結論、スタートアップスクリプトの実行ユーザーはSYSTEMユーザー
上記は以下のコマンドをスタートアップスクリプトで打った結果です。
- whoami
- set username
- whoami /all
スタートアップスクリプトは、コンピューター自身(コンピューターアカウント)が実行します。
この場合、実行ユーザーはSYSTEMユーザーになります。
面白いのは、set usernameの結果が、「コンピュータ名$」アカウントということですね。
シャットダウンスクリプトについても実行ユーザーは同じです。
SYSTEMユーザーはどんなグループに所属しているのか?administrators権限か?
SYSTEMユーザーは
- 「net user」とか
- 「コンピューターの管理」の「ローカルユーザーとグループ」
とかには見えてこない、秘密のユーザーです。
そんなSYSTEMユーザーは以下のグループに一般的には所属しています。
- BUILTIN\Administrators
- Everyone
- NT AUTHORITY\Authenticated Users
- Mandatory Label\System Mandatory Level
ローカルのadministrators権限はあることがわかりますね。
ログオンスクリプトでは一般ユーザー権限でしか実行できない場合は、スタートアップスクリプトで実行すると良いですね。
SYSTEMユーザーが共有フォルダに書き込むにはどんなアクセス権を付けらた良いか?
スタートアップスクリプトは、AD上の共有フォルダにあるということは、ドメイン共有フォルダへのアクセス権があるということです。
SYSTEMユーザーは、ローカルユーザーのようなのですが、ドメインの共有フォルダに書き込むためのアクセス権は何かあるか確認しました。
- Authenticated Users
に書き込みのアクセス権があれば書き込みが可能です。(上の画像の、フルコントロール・変更チェック)