Windowsのログオンスクリプトの実行権限(実行ユーザー)は?スタートアップスクリプトの場合は?GPO

Windowsには

  • スタートアップスクリプト
  • シャットダウンスクリプト
  • ログオンスクリプト
  • ログオフスクリプト

が存在します。
ADに参加しているパソコンの場合は、GPOで一元管理出来て便利ですね。

image

「コンピューターの構成」GPOによって実行されるのが、スタートアップスクリプト/シャットダウンスクリプトで
「ユーザーの構成」GPOによって実行されるのが、ログオンスクリプト/ログオフスクリプトです。

image

これらのスクリプトの実行ユーザーは誰か調べました。

 

環境・前提条件

  • Windows 7
  • AD参加している

ローカルのグループポリシーで確認しましたが、ADによるグループポリシーでも同様です。

 

結論、ログオンスクリプトの実行ユーザーはログオンしたユーザー

image

上記は以下のコマンドをスタートアップスクリプトで打った結果です。

  • whoami
  • set username

まあ当然ですね。ログオンしたユーザーでログオンスクリプトが実行されていることがわかります。

ログオフスクリプトについても実行ユーザーは同じです。

結論、スタートアップスクリプトの実行ユーザーはSYSTEMユーザー

image

上記は以下のコマンドをスタートアップスクリプトで打った結果です。

  • 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権限はあることがわかりますね。

ログオンスクリプトでは一般ユーザー権限でしか実行できない場合は、スタートアップスクリプトで実行すると良いですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です