・「概要(Overview)」ページの「ログインしているユーザー(Logged in users)」が「-1」の件
・管理対象のシステムロケールが「日本語(日本)」だと、1人以上のユーザー、何人ログオン中でも「ログインしているユーザー」が「0」の件
「概要」ページの「ログインしているユーザー」が「-1」の件
quser.exe の標準エラー出力(* に対するユーザーは存在しません。)を参照する前にプロセスを終了しちゃってるから?
function Get-NumberOfLoggedOnUsers {
$process.WaitForExit()
$process.Dispose()
if (!$process.StandardError)
{
# quser does not return a valid ps object and includes the header.
# subtract 1 to get actual count.
$count = $result.count - 1
}
$process.WaitForExit()
$process.Dispose()
@{Count = $count}
}
Hyper-V の PowerShell Direct でやってみた。
管理対象のシステムロケールが「日本語(日本)」だと、1人以上のユーザー、何人ログオン中でも「ログインしているユーザー」が「0」の件
システムロケールを「英語(米国)」にすると正しいユーザー数に。日本語環境で1人以上が常に「0」なのは、quser.exe の標準出力の 1 行目「 アイドル」しか読み取ってないから、1-1=0 ?
日本語の標準出力(1ログオンユーザーの場合5行)
アイドル
(Nullまたは空の行)
ユーザー名 セッション名 ID 状態 時間 ログオン時刻
(Nullまたは空の行)
>user01 console 1 Active 14+04:38 2021/05/19 7:53
英語環境の標準出力(1ログオンユーザーの場合2行)
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME>user01 console 1 Active 14+08:32 2021/05/19 7:53
こちらの問題は管理対象のシステムロケールを 「英語(米国)」にするか、「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」は正しいユーザー数になるけど、「-1」問題もあるし、ロケール変更が他のところに影響するかもしれないのでお勧めしない。
この件で一日を無駄にした感じ。
関連:
Windows Admin Center 2103.2 へのアップデートで RDP 接続がぁぁぁ(真犯人は今朝の Edge の更新か?)
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。