パスワードを忘れてしまうという経験は誰もが一度は通る道ではないかと思う。

パスワードを忘れてしまい、Windowsにサインインできなくなってしまった場合、Microsoftアカウントであればアカウント作成時パスワード復旧のための手段が準備されているが、ローカルアカウントの場合頼れるのは自分しかいない。

幸か不幸か、Windows 10でも従来のWindows同様パスワードを忘れてしまってもなんとかできる方法が存在する。逆を返せば、誰でも自分のPCにアクセスできる手段があると言うことでもある。便利さとセキュリティの強固さはいつも反比例するのが悩ましいところである。

さて、パスワードを忘れてしまった場合にパスワードをリセットする方法は色々あり、有償のリセットツールも存在するが、今回はWindows 10のセットアップメディアを使った方法を紹介する。本手法はVista時代から存在しWindows 10でもなぜか残ったままになっている。

BIOSもしくはUEFIをDVDから起動する様設定し、Windowsのセットアップメディアから起動する。

Windowsセットアップメディアも無い場合、
ダウンロードは「Microsoft Windows and Office ISO Download Tool 」を使用する。
Windows 7/8.1/10/10 Insider Previewの各言語/各エディションに対応したISOファイルを、メニューを選択するだけで直接ダウンロードすることができます。
ダウンロードした ISO形式のファイルを DVDに焼く または 起動USBを作成する。

reset_password (1)

スタート画面をキャプチャしたい。( c:\windows\system32\SnippingTool.exe ) Snipping Toolが起動している状態で CTRL + PrintScreen で可能。

セットアップ画面が表示されたら、「Shift + F10」キーを押し、コンソール画面を呼び出す。

reset_password (2)

パスワードを忘れてしまったWindowsがインストールされているディスクを探す(適当にc:やd:など移動してみるか、diskpartを使って調べる)。

windows\system32の下にUtilman.exeというファイルがあるので、Utilman.exe.bkに名前を変更し、cmd.exeをUtilman.exeの名前にコピーする。

今回 USB から起動しているので Windows 10のシステムは E: ドライブ となるので

E:ドライブに対象のWindowsがあるとして記載します。

Microsoft Windows [Version 10.0.14393]
(c) 2016 Copyright Microsoft Corporation. All rights reserved.

X:\Sources>c:\

E:\>cd windows\system32

E:\Windows\system32>ren Utilman.exe Utilman.exe.org

E:\Windows\system32>copy cmd.exe Utilman.exe

   1 個のファイル を コピーしました。

E:\Windows\system32>

これで下準備は完了だ。メディアを取り出しPCを再起動する。

サインイン画面が表示されたら、左下のアイコンをクリックする。すると、管理者権限を持ったコンソールが立ち上がる。
通常Utilman.exeが起動するが、cmd.exeに置き換えているためこの様な動作となる。

reset_password (3)

管理者権限を持ったコンソールなので、なんでもやり放題である。netコマンドを使い、ユーザー一覧を確認する。

Microsoft Windows [Version 10.0.14393]
2016 Copyright Microsoft Corporation. All rights reserved.

C:\Windows\system32>net user
\\ユーザー名 のユーザーアカウント
-------------------------------------------------------------------------------
Administrator       DefaultAccoun       defaultuser0
Guest               win10
コマンドは正常に終了しました。

パスワードを変更したいユーザーを確認し、

net user <ユーザー名> <新しいパスワード>

を実行する。これだけで指定ユーザー名のパスワードが新しいパスワードに書き換わる。後は新しいパスワードを使ってサインインすればよい。

ログインユーザー名に半角スペースを使用している場合は、ダブルコーテーションでユーザー名をくくって下さい。

net user <"ユーザー名"> <新しいパスワード>

reset_password (5)

もしアカウントがMicrosoftアカウントの場合このコマンドではパスワード変更できないが、とりあえず別の管理者アカウントを立ち上げサインインする事は出来る。通常隠れているが、Windows 10でもAdministratorアカウントが存在する。これを有効にする。

net user Administrator /active:yes

ついでにパスワードも設定しておく

net user Administrator <新しいパスワード>

reset_password (6)

一回PCを再起動する。再起動後、ユーザー名の左側に矢印が表示されるので、クリックする。

reset_password (7)

reset_password (8)

ユーザーとしてAdministratorが表示されるので、先ほど設定したパスワードでサインインする。

reset_password (9)

reset_password (10)

reset_password (11)

後はMicrosoftのホームページに行くなどして通常ユーザーのパスワードを復旧させる。

サインインできるようになったら、元に戻しておこう。

net user Administrator /active:no

でAdministratorアカウントが再度非表示となる。

reset_password (12)

Windowsのセットアップメディアを使い、再度ファイルを戻しておく。

e:
cd \windows\system32
del Utilman.exe
ren Utilman.exe.org Utilman.exe

reset_password (13)

通常のコンソールではアクセス権限からファイルを戻す事ができない。takeownコマンドでファイルの権限を変更する事で操作できるようになるが、ここでは説明を割愛させていただく。

くれぐれも本手法を悪用しないようにして頂きたい。