Windows管理者パスワード裏技【悪用厳禁】Administratorのパスワードを忘れてしまった時の対処法
管理者パスワード(Administratorユーザー)を忘れてしまって設定ができない時や中古パソコンのユーザ設定が残っていてリセットしたい時など、管理者パスーワードが必要な時にこの方法で解除や再設定が可能です。TrustedInstallerから所有権を奪う方法も記載しています。
Windows OSのインストールセットアップメディアが手元にあればPC1台でパスワードリセット、解除が可能です。
セットアップメディアがない場合はPC2台あればパスワードリセットと解除が可能です。
この記事はコマンドを利用したり、PCにある程度詳しい人向けに書いたものなので、文章の意味がわからなければ、ググるかTwitterから私へ質問すると詳しい解説が分かります。
本手法はVista時代から存在しWindows でなぜか残ったままになっている脆弱性とも言える穴を突く方法である。
TrustedInstallerからファイル所有権を奪う方法も記載しているので
ファイルの所有権の問題で変更が出来なかった場合のみ、簡単なので試してください。
所有権を奪った後にOSファイルを正しい状態へ修正する方法も説明する。
まずは
BIOSもしくはUEFIの起動方法をDVDから起動するように設定します。BIOSの画面に入るには「自分のPCの型番」「BIOS起動」でググれば出てきます。すでにDVD起動が有効になっている場合はそのままでOK。
DVDドライブにWindowsOSインストールのセットアップメディアを入れてセットアップメディアから起動する。
セットアップ画面が表示されたら、「Shift + F10」キーを押し、コンソール画面を呼び出す。
パスワードを忘れてしまったWindowsがインストールされているディスクを探す(適当にc:やd:など移動してみるか、diskpartを使って調べる)コマンドは以下を参考にしてください。
Windows OSにはファイル名windows\system32の下にUtilman.exeというファイルがあるので、Utilman.exe.bkに名前を変更し、cmd.exeをUtilman.exeの名前にコピーする。コマンドは以下を参考にしてください。
c:ドライブに対象のWindowsがある場合
cmd.exeから実行
c:
cd \windows\system32
ren Utilman.exe Utilman.exe.bk
copy cmd.exe Utilman.exe
これで下準備は完了。メディアを取り出しPCを再起動する。
サインイン画面が表示されたら、左下のユーティリティアイコンをクリックする。すると、管理者権限を持ったcmd.exeコンソールが立ち上がる。
通常Utilman.exeが起動するが、cmd.exeに置き換えているためこの様な動作となる。
管理者権限を持ったコンソールなので、なんでもやり放題である。netコマンドを使い、ユーザーの一覧を確認する。
cmd.exeから実行
net user
コマンドでパスワードを変更したいユーザーを確認
cmd.exeから実行
net user <ユーザー名> <新しいパスワード>
コマンドを実行する。これだけで指定ユーザー名のパスワードが新しいパスワードに書き換わる。後は新しいパスワードを使ってサインインすればよい。
もしアカウントがMicrosoftアカウントの場合このコマンドではパスワード変更できないが、とりあえず別の管理者アカウントを新しく立ち上げサインインする事は出来る。通常隠れているが、Windows 8でもAdministratorアカウントが存在する。これを有効にする。
cmd.exeから実行
net user Administrator /active:yes
ついでにパスワードも設定しておく
cmd.exeから実行
net user Administrator <新しいパスワード>
一回PCを再起動する。再起動後、ユーザー名の左側に矢印が表示されるので、クリックする。
ユーザーとしてAdministratorが表示されるので、先ほど設定したパスワードでサインインする。
後はMicrosoftのホームページに行くなどして通常ユーザーのパスワードを復旧させる。
サインインできるようになったら、元に戻しておこう。
1
net user Administrator /active:no
でAdministratorアカウントが再度非表示となる。
Windowsのセットアップメディアを使い、再度ファイルを戻しておく
cmd.exeから実行
c:
cd \windows\system32
del Utilman.exe
ren Utilman.exe.bk Utilman.exe
PC1台でOSのロックを解除する手順は完了です。 net userで設定したパスワードでログインできます。
使用可能なPCが2台ある場合や1台のみの手順で上手くいかない場合の対処法
使用可能なPCが別にある場合は使用できないPCのHDDを取り出し
使用可能なPCでリネームを行うのでOSインストールメディアがなくても作業可能です。
「このファイルを変更するには、TrustedInstallerからアクセス許可を得る必要があります」の対策
通常cmd.exeなどの
「このファイルを変更するには、TrustedInstallerからアクセス許可を得る必要があります」
と表示されAdministratorでも削除変更できないようになっているが、このアラートの回避も可能です。
takeownコマンドにより、ファイルの所有者を自分に変更し、caclsコマンドでファイルへのアクセスをフルコントロールに設定する。
これで、notepad.exeなど通常変更できない所有権のファイルを変更することも削除することも可能となる。
なのでこの2つのコマンドを使うことで、OS、システムファイルの改ざんが可能になる。しかも、システムファイルの改ざんはsfcコマンドを使うことで、検知や変更する前に修復ができる。
takeownコマンド、sfcコマンド解説は一番下に記載します。
Utilman.exeをUtilman.bkupにリネーム失敗した時
cd \windows\system32
del Utilman.exe
ren Utilman.exe.bk Utilman.exe
cmd.exeから所有権変更
C:\>takeown /f C:\Windows\System32\Utilman.exe
C:\>cacls C:\windows\system32\Utilman.exe /G Administrator:F
※cd コマンドでCドライブの外をカレントとしたい場合は
C:\> cd /d D:
D:\> cacls D:\windows\system32\Utilman.exe /G Administrator:F
D:\> takeown /f C:\Windows\System32\Utilman.exe
※cd コマンド説明
最後の/G Administrator:Fは
F フルコントロール。すべての操作が対象となる
W 書き込み可能
R 読み出しのみ可能
C 変更(書き込み)可能
N アクセス権なし
実行するとフォルダが所有権の取得の対象となる。
passwordを再設定し、cmd.exeの所有権を元に戻したい場合は
権限変更の画面表示はこのようになります
C:\Data>takeown /F Folder1 /R …user01で、指定フォルダ以下の所有権を取得する
成功: ファイル (またはフォルダ): “C:\Data\Folder1” は現在ユーザー “EXAMPLEDOM1\user01” によって所有されています。
成功: ファイル (またはフォルダ): “C:\Data\Folder1\file1.txt” は現在ユーザー “EXAMPLEDOM1\user01” によって所有されています。
C:\Data>
この例では、ファイルの新しい所有者は、現在のユーザー(ログオンしているユーザー)になるが、「/A」オプションを指定することにより、「Administratorsグループ」にすることもできる。
C:\Data>takeown /F Folder1(←所有権を取得したいパス) /R /A …所有者をAdministratorsにする
成功: ファイル (またはフォルダ): “C:\Data\Folder1” は現在 Administrators グループによって所有されています。
成功: ファイル (またはフォルダ): “C:\Data\Folder1\file1.txt” は現在 Administrators グループによって所有されています。
C:\Data>
この手順をすればファイルのコントロール所有権のロックを解除できる。解除した後、ファイルを下の権限に戻す手順を説明する。
ファイル所有権を正常な所有権の状態に戻す
コマンド画面
C:\>del c:windows\system32\Utilman.exe
C:\>sfc /VERIFYFILE=\windows\system32\Utilman.exe
Windows リソース保護により、整合性違反が見つかりました。
C:\>sfc /SCANFILE=c:\windows\Utilman.exe
Windows リソース保護により、破損したファイルが見つかり、それらは正常に
修復されました。
sfcコマンドの詳しい解説
オプション名 機能
/SCANNOW保護されているすべてのシステム・ファイルを直ちにスキャンし、不整合などがあった場合は正しいファイルに置き換える
/SCANONCE
保護されているすべてのシステム・ファイルを次回の起動時に1回スキャンするように設定する
/SCANBOOT
保護されているすべてのシステム・ファイルを、コンピュータが起動するたびにスキャンする
/REVERT
スキャンをデフォルトの設定に戻す
/PURGECACHE
ファイル・キャッシュを削除して、保護されているすべてのシステム・ファイルを直ちにスキャンする
/CACHESIZE=<キャッシュ・サイズ>
ファイル・キャッシュのサイズを指定した容量(単位:Mbytes)に設定する(デフォルトは50Mbytes)
takeownコマンドの詳しい解説
オプション名 機能
/s[コンピュータ]
リモート・コンピュータの名前またはIPアドレスを指定する。既定はローカル・コ ンピュータ
/u[ユーザー]
指定したユーザー・アカウントのアクセス許可でコマンドを実行する
/p[パスワード]
/uオプションで指定したユーザーのパスワードを指定する
/f[パス]
ファイル名またはフォルダ名を指定する。ワイルド・カード文字“*”を使って複数 のファイル/フォルダを指定することもできる
/a
現在のユーザーではなく管理者グループ(Administrators)に所有権を与える
/r
指定したフォルダおよびサブフォルダにあるすべてのファイルに対して再帰的に 操作を実行する
/d{Y|N}
指定したフォルダ内のサブフォルダを表示するアクセス許可を,現在のユーザー が持たない場合の既定の動作を指定する。所有権を取得する場合はYを,処理 をスキップする場合はNを指定する
caclsコマンドの詳しい解説
オプション名 機能
ファイルのアクセス制御リスト(ACL) を表示または変更します。
CACLS ファイル名 [/T] [/E] [/C] [/G ユーザー名:アクセス権]
[/R ユーザー名 […]] [/P ユーザー名:アクセス権 […]]
[/D ユーザー名 […]]
ファイル名 ACL を表示します。
/T 現在のディレクトリとすべてのサブディレクトリにある
指定されたファイルの ACL を変更します。
/E ACL を置き換えずに、ACL を編集します。
/C アクセス拒否エラーを無視して、ACL の変更を続行します。
/G ユーザー名:アクセス権
指定されたユーザーにアクセス権を与えます。
アクセス権: R 読み取り
W 書き込み
C 変更 (書き込み)
F フル コントロール
/R ユーザー名 指定されたユーザーのアクセス権を失効させます。
(/E オプションと共に使用)。
/P ユーザー名:アクセス権
指定されたユーザーのアクセス権を置き換えます。
アクセス権: N なし
W 書き込み
R 読み取り
C 変更 (書き込み)
F フル コントロール
/D ユーザー名 指定されたユーザーのアクセスを拒否します。
複数のファイルを指定するには、ワイルドカードを使用できます。
複数のユーザーを指定できます。