Programming Field

Schtasks /ShowSid - DOS/コマンドプロンプト コマンド一覧

[Windows Vista以降] 指定されたタスク名に対応するセキュリティ識別子(SID)を計算します。Schtasksのコマンド(オプション)の1つです。

構文

schtasks[.exe] /ShowSid /TN <task-name> [/HRESULT]

オプション一覧

/TN <task-name>

タスク名を指定します。タスク名にスペース文字が含まれている場合は「" "」で括ります。タスクがフォルダー階層内に存在する場合はそのパスも含めて指定します。

なお、タスク名は存在しないタスクでも構いません。

/HRESULT [Windows 10?以降] Schtasksコマンドの終了コードを HRESULT にします。エラー発生時に詳細なハンドリングを行いたい場合に使用します。

解説

タスクに対応するセキュリティ識別子(SID)は、厳密には「NT TASK\<converted-task-name>」グループ(<converted-task-name> はタスク名のうちユーザー名に使えない「\」文字を「-」に置き換えたもの)に対応するSIDとなります。このSIDは、タスクがグループ「NT AUTHORITY\NETWORK SERVICE」または「NT AUTHORITY\LOCAL SERVICE」で実行するように設定され、かつ「ProcessTokenSidType」が指定なしまたは「unrestricted」となっている場合に、プロセスが属するグループとして使用されます。
これは、タスク実行時、/ShowSid で計算されたSIDに対してアクセス権が付与されたオブジェクト(ファイルなど)にアクセスできることを示しています。例えば、タスク「Piyo」を「LOCAL SERVICE」で実行するように設定されている場合は、ファイルのアクセス権にSID「S-1-5-87-3647662311-3586884399-309657888-2945673006-409376041」を追加しておけば、タスク「Piyo」で実行されるプログラムはそのファイルに(設定されたアクセス権の範囲で)アクセスできるようになります。なお、アクセス権の付与にはIcaclsコマンドを使うのが便利です。

参考:

/ShowSid で計算されるSIDは名前ごとに一意です。どのコンピューターで /ShowSid を実行しても、同じタスク名からは同じSIDが得られます。(その際、タスクは存在する必要はありません。)

サンプル

schtasks /showsid /tn "Hoge Piyo"

タスク「Hoge Piyo」に対応するSIDを出力します。(この場合、SID「S-1-5-87-792629802-3193705368-3856631695-2842567315-2114608075」が得られます。)

関連項目