先日お客様より、Windows10のローカルアカウントにログインできないという問い合わせがありました。電話では管理者でログインして、対象ユーザのパスワードを変更する手順をお伝えしましたが、何度やってもログインできないということで、調査のため現地にお伺いしました。
作業の流れは以下のとおりです。
①PCのローカル管理者権限で、コンピュータの管理から対象ユーザのパスワードを変更
⇢NG
②PCのローカル管理者権限で、PowerShellを使用し、対象ユーザのパスワードを変更
⇢NG
ただし、この際対象アカウントのアカウント名からオブジェクトを正常に検索できない事が判明
$userinfo=(Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -eq "user1" })
そこで、正規表現へ変更
$userinfo=(Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -match "user*" })
ここで初めて、ユーザが検索できました。
③対象アカウント名が表示と実態が違う可能性を考え、以下のように実施。
$userinfo=(Get-WmiObject Win32_UserAccount | Where-Object { $_.Name -match "user*" })
$userinfo.name + "xxx"
user1 xxx
つまり、ユーザ名の後ろ側に半角スペースが2つはいっているように見えます。
④ユーザ名の後ろから空白スペースを削除する
⇢NG
いろいろ試しましたが、コマンドでは正常に空白スペースを認識できません。
レジストリの変更も検討しましたが、PCへ全くログインできなくなるリスクを勘案し、作業を中断しました。
⑤コントロールパネルのユーザ管理から、該当ユーザのユーザ名を変更
⇢OK
"user1 "となっていたところを、"user1"へ変更し、想定していたパスワードでのログインが可能なことを確認しました。
よくよく見てみると空白スペースは全角スペースでした(汗)
結論
Windows 10において、なんらかの更新処理があり、それによってログイン名に全角が入っているにも関わらず、PCログイン時に自動的に表示されるアカウントから空白スペースが消えた状態であった可能性が高いと推測しています。
エンタープライズではこういったケースは少ないかもしれませんが、比較的小さい企業では無意識にローカルアカウント荷全角文字や空白文字を使用しているケースがあるので、注意が必要かもしれません。
Comments