検索
連載

真夏の怪異、ログオン中のユーザーが1人少ない! それは「Shift-JIS」の呪い?その知識、ホントに正しい? Windowsにまつわる都市伝説(189)

先日、Windows Server用のWebベースの管理ツール「Windows Admin Center」を操作していて、おかしな表示に気が付きました。「概要」ページにある「ログインしているユーザー」が「-1」だというのです。サーバに1人以上のユーザーがログオンしている場合、今度は「0」だというのです。一体どういうことでしょうか。なぜこんな凡ミスにこれまで誰も気が付かなかったのかと疑問に思っていたら、実は日本語環境特有の「Shift-JIS」の呪いだったのです。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

「ログインしているユーザー」が「-1」は仕様? 「0」はバグ?

 「Windows Admin Center」の「概要」ページにある「ログインしているユーザー」の数が実際とは異なる問題に気が付いたのは、2021年5月末にリリースされた最新バージョン「2103.2」に更新してすぐのことでした。

 管理対象のサーバにログオン中のユーザーがいないときには「-1」と報告し(画面1)、1人のユーザーがログオン中のときには「0」を報告します。さらに、ローカルログオンとリモートデスクトップ接続で同時に複数のユーザーでログオンしてみても、「0」を報告するのです(画面2)。

画面1
画面1 Windows Admin Centerの「概要」ページを開くと、「ログインしているユーザー」が「-1」というおかしな表示に気が付く
画面2
画面2 管理対象に1人以上のユーザーがログオン中の場合、「ログインしているユーザー」は「0」を報告。これもおかしい

 まだ最新版に更新していないバージョン「2103」で確認しても同様です。UIの言語設定の問題かと思い、「設定」の「言語/地域」を「日本語/日本語(日本)」から「English/English(United States)」に変更してみましたが、状況は変わりません。

 Azureポータルに統合された「Windows Admin Center(プレビュー)」でも確認してみました。管理対象のサーバにログオン中のユーザーがいないときに「-1」と報告するのは同じでしたが(画面3)、1人以上のユーザーのログオン数は正しく報告しているように見えます(画面4)。

画面3
画面3 AzureポータルのWindows Admin Center(プレビュー)でも「ログインしているユーザー」が「-1」という表示は同じ
画面4
画面4 AzureポータルのWindows Admin Center(プレビュー)の方は、1人以上のログオン中のユーザー数は正しい

 ログオン中のユーザーがいないときに「-1」を報告するのは、どうやら仕様のようです。1人以上のログオンユーザーがいる場合に「0」を報告する問題の原因は、管理対象のサーバの言語環境、それも日本語環境固有の問題のようです。

 オンプレミスのWindows Admin Centerの接続先は日本語版「Windows Server 2019評価版」でシステムロケールはそれぞれ「日本語(日本)」、AzureポータルのWindows Admin Center(プレビュー)の接続先は英語版「Windows Server 2019 Datacenter:Azure Edition」でシステムロケールは「English(United States)」という違いがあります。

誰もいないときの「-1」は言語に関係ない初歩的なバグ

 Windows Admin Centerには現在、表示中のツール(ページ)で使用されているPowerShellスクリプトを表示する機能があります(※Azureポータルに統合されたWindows Admin Center《プレビュー》にこの機能はありません)。

 「概要」ページの「ログオンしているユーザー」の情報は、「Get-NumberOfLoggedOnUsers」ファンクションとして実装されていました(画面5)。コードを追いかけてみると、システムにログオンしているユーザーの情報を表示する「quser.exe」コマンドを実行し、その標準出力の行数からヘッダ行の「1」を引いたものをログオン中のユーザー数としていました。

画面5
画面5 「Get-NumberOfLoggedOnUsers」ファンクションでは、quser.exeの標準出力の行数からヘッダ行分の「1」を引いてユーザー数を得ている

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る