Windowsで任意のユーザーアカウントのセキュリティ識別子を見つける方法

ファイルとフォルダの権限を管理しようとしたり、レジストリを閲覧したことがある方は、「S-1-5-21-3011698416-3634052959-2884390752-500」のような長い文字列の値を見たことがあるかもしれません。これらはセキュリティ識別子(SID)と呼ばれます。各ユーザーには固有のSIDが付与されています。SID(セキュリティ識別子)を聞いたことがない場合、これが何なのか不思議に思うかもしれません。結局のところ、コントロールパネルや設定アプリなどの目に見えるところではこれらのセキュリティ識別子を見かけることはありません。

こちらもお読みください: マイクロソフトのPlutonセキュリティプロセッサとは?それが必要な理由

SIDとは?

セキュリティ識別子は、Windowsドメインコントローラーのような権限によって、すべてのセキュリティプリンシパルとセキュリティグループに発行されるユニークな文字列です。セキュリティプリンシパルやグループが作成されると、セキュリティ識別子は自動的に生成されます。SIDが作成されると、それはセキュリティデータベースに保存され、必要に応じて取得されます。

SIDとユーザー権限を組み合わせることで、Windowsはシステムにログインするたびにユーザーにアクセス トークンを提供します。このアクセス トークンは、セキュリティコンテキストを提供し、Windowsシステムを管理するために適切な権限と権利を付与します。

つまり、SIDはWindowsセキュリティモデルの重要な部分の一つです。

自動的に生成されたSIDの他にも、Windowsには全員、ローカル権限、世界、NT権限、すべてのサービスといったいくつかのユニバーサルな定義されたSIDがあります。よく知られたSIDのすべてはここにあります。

特定のユーザーまたはすべてのユーザーのSIDを見つける方法はたくさんありますが、いくつかの方法を紹介します。ニーズに合った方法を使用してください。

現在のユーザーのSIDを見つける

現在のユーザーのSIDを見つけるには、2つのコマンドのいずれかを使用できます。どちらも1行のコマンドです。

まず、スタートメニューで「コマンドプロンプト」を検索して開きます。コマンドプロンプトを開いたら、下記のコマンドを実行します。これにより、SIDに関連付けられた現在のユーザー名がきれいに表示されます。

whoami /user

find-sid-whoami

あるいは、Windows Management Interface Command(WMIC)を使用することもできます。下記のコマンドを実行すると、SIDとユーザー名が表示されます。

wmic useraccount where name='%username%' get name,sid

find-sid-wmic-current-user

こちらもお読みください: Windowsでランサムウェア保護を有効にする方法

特定のユーザーのSIDを見つける

特定のユーザーのSIDを表示したい場合は、上記のWMICコマンドの「%username%」を実際のユーザー名に置き換えるだけです。

置き換えた後、コマンドは次のようになります。

wmic useraccount where name='krishna' get name,sid

find-sid-wmic-specific-user

すべてのユーザーのSIDを見つける

作成したユーザーアカウントとは別に、Windowsはゲスト、管理者、WDAGUtilityAccountなどのデフォルトアカウントも自動的に作成します。システム上のすべてのユーザーのSIDを見つけるには、下記のコマンドを実行します。

wmic useraccount get name,sid

find-sid-wmic-all-users

同じことを達成するためのPowerShellコマンドもあります。スタートメニューからPowerShellを開きます。次に、下記のコマンドを実行すると、すべてのユーザーのSIDとユーザー名がリストされます。

Get-WmiObject win32_useraccount |Select name,sid

find-sid-powershell-wmic

こちらもお読みください: Windows Helloとは?それを使用すべきだろうか?

レジストリエディタを使用してSIDを見つける

当然のことながら、レジストリエディタを使用して、数回のクリックで任意のユーザーのSIDを見つけることができます。コマンドプロンプトやPowerShellを使用するのが好きでない場合は、これは良い代替手段です。

まず、スタートメニューで「regedit」を検索して開きます。そして、次の場所に移動します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

ProfileListキーの下には、よく知られたSIDとユーザーアカウントSIDの両方が表示されます。ユーザーアカウントのSIDは長くなります。どのSIDがどのユーザーに属しているかを見つけるには、左側のパネルでSIDをクリックすると、右側のパネルにProfileImagePathの値の隣にユーザー名が表示されます。

find-sid-registry

上記の方法を使用してWindowsのユーザーのSIDを見つけることについて、あなたの考えや経験をコメントで共有してください。

画像クレジット: John Swindells

こちらもお読みください: Windows Defenderがあれば、ウイルス対策ソフトは必要か?