Database Support Blog

  • Oracle Cloud
2020.12.25

OCIに構築したWindowsサーバの管理者ユーザーのパスワードリセット方法

弊社サポートセンターへ、「Windowsサーバへ接続できない」というお問い合わせをいただくことがあります。例えば以下のようなパスワードに起因するケースです。

・管理者ユーザーのパスワードを忘れてしまった
・管理者ユーザーのパスワード期限が切れてしまった
・管理者ユーザーのパスワードを100日ごと(デフォルト)に変えるのが面倒

本記事では同じようなケースでお困りの方に向けて「Windowsサーバ管理者ユーザーのパスワードをリセットする方法」をご紹介します。


今回使用する環境と注意事項

今回パスワードを変更するWindows環境と注意事項は以下のとおりです。

▽Computeの情報
・シェイプ: VM.Standard.E3.Flex
・OCPU数:1
・メモリー:16GB
・ネットワーク帯域幅:1Gbps
・ストレージ:256GB

※注意事項※
・Windowsのブートボリュームバックアップを事前に取得ください。
・手順内で新たなインスタンスを作成するため、追加課金が発生します。

手順

1. Windowsサーバの停止

パスワードをリセットしたいWindowsサーバを停止します。

インスタンスの停止ができました。

2. ブートボリュームのデタッチ

Windowsサーバに紐づいているブートボリュームをデタッチします。

デタッチできました。

3. Ubuntuインスタンスの作成

Ubuntuインスタンスを用いて、ブートボリュームの情報を書き換えます。
今回は、Ubuntu 20.04を選択します。スペックは影響しないため、小さいサイズでの作成でも構いません。

今回は、シェイプ:VM.Standard.E3.Flex、メモリ:16GBで作成します。
後述の手順で、aptパッケージを最新にする際、インターネット接続を使用します。そのため、ここで作成するUbuntuインスタンスは、パブリックサブネット上に作成します。

10分ほどでUbuntuインスタンスが作成できました。

4. WindowsサーバのブートボリュームをUbuntuインスタンスにアタッチ

「2. ブートボリュームのデタッチ」で、Windowsサーバからデタッチしたブートボリュームを、Ubuntuインスタンスのブロックボリュームとしてアタッチします。

「ブロック・ボリュームのアタッチ」を選択すると、以下の画面が表示されます。
Windowsサーバからデタッチしたブートボリュームを選択してください。
その他の項目は、以下の画面と同様に設定します。

数秒でアタッチできました。

5. Ubuntuインスタンスへの接続

Tera Termなどを用いて、「3. Ubuntuインスタンスの作成」で作成したUbuntuインスタンスに接続します。ユーザー名はubuntuと入力します。また、インスタンス作成時に指定した鍵も選択します。

6. Ubuntuインスタンスへのアタッチを完了させる

コンソール上ではブロック・ボリュームのアタッチが完了していますが、OSレベルではまだ完了していません。
ISCSIコマンドを用いて、OSレベルでも認識させます。
ISCSIコマンドは、コンソールから取得することが可能です。

コピーしたコマンドをubuntuユーザーで実行します。
末尾に出力される「successful.」という記載をご確認ください。

 
 
 ubuntu@kka-ubuntu:~$ sudo iscsiadm -m node -o new -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260
 sudo iscsiadm -m node -o update -T iqn.2015-02.oracle.boot:uefi -n node.startup -v automatic
 New iSCSI node [tcp:[hw=,ip=,net_if=,iscsi_if=default] 169.254.2.2,3260,-1 iqn.2015-02.oracle.boot:uefi] added
 ubuntu@kka-ubuntu:~$ sudo iscsiadm -m node -o update -T iqn.2015-02.oracle.boot:uefi -n node.startup -v automatic
 ubuntu@kka-ubuntu:~$ sudo iscsiadm -m node -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260 -l
 Logging in to [iface: default, target: iqn.2015-02.oracle.boot:uefi, portal: 169.254.2.2,3260] (multiple)
 Login to [iface: default, target: iqn.2015-02.oracle.boot:uefi, portal: 169.254.2.2,3260]  successful.
 

7. ubuntuインスタンスのディスクを確認する

ルートユーザーにスイッチし、以下のコマンドでUbuntuインスタンスのディスクを確認します。

「Microsoft basic data」が後述の手順で使用するディスクとなります。
「Microsoft basic data」は、/dev/sdb4 として、Ubuntuインスタンスが認識していることが分かります。

 
 ubuntu@kka-ubuntu:~$ sudo -s
 root@kka-ubuntu:/home/ubuntu# fdisk -l
 Disk /dev/loop0: 29.91 MiB, 31342592 bytes, 61216 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
  
       :
       :
       :
 
 
 Device       Start       End   Sectors   Size Type
 /dev/sdb1     2048    616447    614400   300M Windows recovery environment
 /dev/sdb2   616448    821247    204800   100M EFI System
 /dev/sdb3   821248   1083391    262144   128M Microsoft reserved
 /dev/sdb4  1083392 536868863 535785472 255.5G Microsoft basic data
 root@kka-ubuntu:/home/ubuntu#
 

8. 各パーティションをマウントする

Ubuntu上でブロックボリューム内のファイルを操作するため、/test1ディレクトリを作成し、
手順7で確認した、/dev/sdb4をマウントします。

 
 root@kka-ubuntu:/home/ubuntu# mkdir /test1
 root@kka-ubuntu:/home/ubuntu# cd /
 root@kka-ubuntu:/# ls | grep test1
 test1
 root@kka-ubuntu:/# mount /dev/sdb4 /test1
 root@kka-ubuntu:/# cd /test1
 root@kka-ubuntu:/test1# ls -al
 total 8389037
 drwxrwxrwx  1 root root          0 Oct  1 00:37 '$Recycle.Bin'
 drwxrwxrwx  1 root root       4096 Sep 30 08:39  .
 drwxr-xr-x 20 root root       4096 Oct  1 01:13  ..
 -rwxrwxrwx  1 root root          1 Jul 16  2016  BOOTNXT
 lrwxrwxrwx  2 root root         12 Aug 25 22:58 'Documents and Settings' -> /test1/Users
 drwxrwxrwx  1 root root          0 Sep 30 08:17  OracleCloudAgent
 drwxrwxrwx  1 root root          0 Aug 26 07:14  PerfLogs
 drwxrwxrwx  1 root root       4096 Sep 30 08:17 'Program Files'
 drwxrwxrwx  1 root root       4096 Aug 26 08:14 'Program Files (x86)'
 drwxrwxrwx  1 root root       4096 Aug 25 22:58  ProgramData
 drwxrwxrwx  1 root root          0 Sep 30 08:16  Recovery
 drwxrwxrwx  1 root root          0 Aug 26 12:57 'System Volume Information'
 drwxrwxrwx  1 root root       4096 Oct  1 00:37  Users
 drwxrwxrwx  1 root root      24576 Sep 30 08:16  Windows
 -rwxrwxrwx  1 root root     384322 Jul 16  2016  bootmgr
 drwxrwxrwx  1 root root       4096 Sep 30 08:39  oracle_unified_agent
 -rwxrwxrwx  2 root root         22 Sep 30 08:39 'oracle_unified_agent.2020-09-30 083928 UTC.zip'
 -rwxrwxrwx  1 root root 8589934592 Oct  1 00:11  pagefile.sys
  
 

※注意※
mountコマンドで以下のエラーが発生するケースがあります。
以下のエラーが発生した場合は、後述する対処方法を実施してください。

 
 # mount /dev/sdb4 /test1
 The disk contains an unclean file system (0, 0).
 Metadata kept in Windows cache, refused to mount.
 Falling back to read-only mount because the NTFS partition is in an
 unsafe state. Please resume and shutdown Windows fully (no hibernation
 or fast restarting.)
 Could not mount read-write, trying read-only
 
  
 

▽対処方法
ntfsfixコマンドを使用することで、一般的なエラーを修復します。以下のコマンドを実行してください。

 
 
 # ntfsfix /dev/sdb4
 (実行例)
 Mounting volume... The disk contains an unclean file system (0, 0). 
 Metadata kept in Windows cache, refused to mount.
 FAILED Attempting to correct errors... 
 Processing $MFT and $MFTMirr... 
 Reading $MFT... OK 
 Reading $MFTMirr... OK
 Comparing $MFTMirr to $MFT... OK
 Processing of $MFT and $MFTMirr completed successfully.
 Setting required flags on partition... OK
 Going to empty the journal ($LogFile)... OK
 Checking the alternate boot sector... OK
 NTFS volume version is 3.1. NTFS partition /dev/sda1 was processed successfully.
 
 
 

9. chntpwパッケージのインストール

後述の手順で使用する、chntpwパッケージをインストールします。
※インターネット接続が必要となります。

 
 root@kka-ubuntu:/test1# apt update
 Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
 Hit:2 http://ap-tokyo-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal InRelease
 Get:3 http://ap-tokyo-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
 
 :
 :
 :
 
 
 Fetched 16.3 MB in 1min 10s (232 kB/s)
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 52 packages can be upgraded. Run 'apt list --upgradable' to see them.
 root@kka-ubuntu:/test1#
 root@kka-ubuntu:/test1#
 root@kka-ubuntu:/test1# apt install chntpw
 Reading package lists... Done
 Building dependency tree
 Reading state information... Done
 The following NEW packages will be installed:
   chntpw
 0 upgraded, 1 newly installed, 0 to remove and 52 not upgraded.
 Need to get 85.6 kB of archives.
 After this operation, 408 kB of additional disk space will be used.
 Get:1 http://ap-tokyo-1-ad-1.clouds.archive.ubuntu.com/ubuntu focal/universe amd64 chntpw amd64 1.0-1.1 [85.6 kB]
 Fetched 85.6 kB in 1s (100 kB/s)
 Selecting previously unselected package chntpw.
 (Reading database ... 68325 files and directories currently installed.)
 Preparing to unpack .../chntpw_1.0-1.1_amd64.deb ...
 Unpacking chntpw (1.0-1.1) ...
 Setting up chntpw (1.0-1.1) ...
 Processing triggers for man-db (2.9.1-1) ...
 
 
 

10. 管理者パスワードのリセット

chntpwコマンドを用いて、管理者ユーザーのパスワードをリセットします。
chntpwコマンドを実行すると、対話式でオプションを指定できるようになります。

オプションは、以下の数字を順に入力してください。

▽指定するオプションの内容と順番
  1 - ユーザーパスワードをクリア
  2 - ユーザーアカウントのロックを解除にして有効にする
  q - ユーザーの編集を終了し、ユーザー選択に戻る
  y - 変更を保存する

"y"を入力した後、以下の出力だった場合は正常に処理が完了したと判断できます。
</test1/Windows/System32/config/SAM> - OK

 
 root@kka-ubuntu:/test1/Windows/System32/config# chntpw /test1/Windows/System32/config/SAM -u opc
 chntpw version 1.00 140201, (c) Petter N Hagen
 Hive  name (from header): <\SystemRoot\System32\Config\SAM>
 ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c 
 File size 65536 [10000] bytes, containing 9 pages (+ 1 headerpage)
 Used for data: 370/34672 blocks/bytes, unused: 24/18288 blocks/bytes.
  
 ================= USER EDIT ====================
  
 RID     : 1001 [03e9]
 Username: opc
 fullname:
 comment :
 homedir :
  
 00000220 = Administrators (which has 6 members)
  
 Account bits: 0x0010 =
 [ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
 [ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
 [ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
 [ ] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
 [ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |
  
 Failed login count: 0, while max tries is: 8
 Total  login count: 2
  
 - - - - User Edit Menu:
  1 - Clear (blank) user password
 (2 - Unlock and enable user account) [seems unlocked already]
  3 - Promote user (make user an administrator)
  4 - Add user to a group
  5 - Remove user from a group
  q - Quit editing user, back to user select
 Select: [q] > 1
 Password cleared!
 ================= USER EDIT ====================
  
 RID     : 1001 [03e9]
 Username: opc
 fullname:
 comment :
 homedir :
  
 00000220 = Administrators (which has 6 members)
  
 Account bits: 0x0010 =
 [ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
 [ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
 [ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
 [ ] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
 [ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |
  
 Failed login count: 0, while max tries is: 8
 Total  login count: 2
 ** No NT MD4 hash found. This user probably has a BLANK password!
 ** No LANMAN hash found either. Try login with no password!
  
 - - - - User Edit Menu:
  1 - Clear (blank) user password
 (2 - Unlock and enable user account) [seems unlocked already]
  3 - Promote user (make user an administrator)
  4 - Add user to a group
  5 - Remove user from a group
  q - Quit editing user, back to user select
 Select: [q] > 2
 Unlocked!
 ================= USER EDIT ====================
  
 RID     : 1001 [03e9]
 Username: opc
 fullname:
 comment :
 homedir :
  
 00000220 = Administrators (which has 6 members)
  
 Account bits: 0x0210 =
 [ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
 [ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
 [ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
 [X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
 [ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |
  
 Failed login count: 0, while max tries is: 8
 Total  login count: 2
 ** No NT MD4 hash found. This user probably has a BLANK password!
 ** No LANMAN hash found either. Try login with no password!
  
 - - - - User Edit Menu:
  1 - Clear (blank) user password
 (2 - Unlock and enable user account) [seems unlocked already]
  3 - Promote user (make user an administrator)
  4 - Add user to a group
  5 - Remove user from a group
  q - Quit editing user, back to user select
 Select: [q] > q
  
 Hives that have changed:
  #  Name
  0  </test1/Windows/System32/config/SAM>
 Write hive files? (y/n) [n] : y
  0  </test1/Windows/System32/config/SAM> - OK
 
  
 

11. レジストリ設定を編集する

以下のchntpwコマンドを用いてレジストリ設定を編集し、空白のパスワードでログインできるようにします。

▽入力するコマンド
> ls Select
> cd ControlSet001¥Control¥Lsa¥
¥ControlSet001¥Control¥Lsa> ed LimitBlankPasswordUse
-> 0x0
¥ControlSet001¥Control¥Lsa> q
Write hive files? (y/n)[n]:y

 
 root@kka-ubuntu:/test1/Windows/System32/config# chntpw -e /test1/Windows/System32/config/SYSTEM
 chntpw version 1.00 140201, (c) Petter N Hagen
 Hive  name (from header): 
 ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c 
 File size 15990784 [f40000] bytes, containing 3537 pages (+ 1 headerpage)
 Used for data: 275929/15692880 blocks/bytes, unused: 244/106896 blocks/bytes.
  
 Simple registry editor. ? for help.
  
 > ls Select
 Node has 0 subkeys and 4 values
   size     type              value name             [value if type DWORD]
      4  4 REG_DWORD                            1 [0x1]
      4  4 REG_DWORD                            1 [0x1]
      4  4 REG_DWORD                             0 [0x0]
      4  4 REG_DWORD                      2 [0x2]
  
 > cd ControlSet001\Control\Lsa\
  
 \ControlSet001\Control\Lsa> ed LimitBlankPasswordUse
 EDIT:  of type REG_DWORD (4) with length 4 [0x4]
 DWORD: Old value 1 [0x1], enter new value (prepend 0x if hex, empty to keep old value)
 -> 0x0
 DWORD: New value 0 [0x0],
 \ControlSet001\Control\Lsa> q
  
Hives that have changed:
 #  Name
 0  </test1/Windows/System32/config/SYSTEM>
Write hive files? (y/n) [n] : y
 0  </test1/Windows/System32/config/SYSTEM> - OK
   
 

12. ブロックストレージをデタッチする

ブロックストレージ(Windows Serverのブートボリューム)をubuntuインスタンスからデタッチするために、iscsiadmコマンドを実行します。コマンドは、手順6と同様に、コンソールから取得します。

取得したコマンドを、Ubuntuインスタンスで実行します。

 
 root@kka-ubuntu:/test1/Windows/System32/config# sudo iscsiadm -m node -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260 -u
 sudo iscsiadm -m node -o delete -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260Logging out of session [sid: 1, target: iqn.2015-02.oracle.boot:uefi, portal: 169.254.2.2,3260]
 Logout of [sid: 1, target: iqn.2015-02.oracle.boot:uefi, portal: 169.254.2.2,3260] successful.
 root@kka-ubuntu:/test1/Windows/System32/config# sudo iscsiadm -m node -o delete -T iqn.2015-02.oracle.boot:uefi -p 169.254.2.2:3260
   
 

iscsiadmコマンドを実行したら、今後の手順でUbuntuインスタンスは使いません。
コンソールからインスタンスを停止しておきます。

インスタンスが停止しました。

コンソールからWindowsサーバのブートボリュームをデタッチします。

デタッチが完了し、「アタッチされたブロック・ボリューム」からなくなりました。

13. Windowsインスタンスにブートボリュームをアタッチする

パスワードをリセットしたWindows Serverにブートボリュームをアタッチします。
現状は、ブート・ボリュームの状態がデタッチになっているため、アタッチし直します。

アタッチが完了しました。

14. パスワード無しでログインできることを確認

Windowsサーバを起動し、パスワード無しでログインできることを確認します。

ログイン画面に接続したところ、パスワード無しで「Sign in」が表示されるようになりました。
接続した先で、新たなパスワードを指定することも可能です。

まとめ

今回は、Windowsサーバのパスワードをリセットする方法をご紹介しました。

管理者ユーザーのパスワードを忘れてしまったり、パスワードの期限切れになってしまった場合に今回ご紹介した手順が参考になれば幸いです。


執筆者情報

さはし たくま プロフィール画像

愛知県の文系大学を卒業し、2019年アシストに新卒で入社。
幼いころから社内SEである父を見て育ち、同じ業界に進むことを決意。
配属後は、主にOracle CloudとAWSのフィールド業務を担当している。
新人の頃から主にクラウドを担当し、アシスト内ではオンプレミスを
触れていない"クラウド世代"の先陣を切っている。

保有資格
・Oracle Cloud Infrastructure 2019 Certified Architect Associate
・AWS Certified Solutions Architect - Associate


■商標に関して
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
2021.01.20

Storage GatewayでObject Storageを有効活用!~その1:モジュールインストール~

OCIにはファイル保存や共有利用が可能な安価なストレージサービスとしてObject Storageが提供されています。本記事では、ローカルストレージを操作する感覚でObject Storageを利用できるStorage Gatewayのインストール方法をご紹介します。

  • Oracle Cloud
2021.01.19

Oracle Cloud上にコマンドラインでRACを構築する方法

「OCI CLI」を利用すると、管理コンソールを利用せずにOracle Cloud上にサービス・インスタンスを作成することが可能です。今回は「OCI CLI」を利用して、RAC構成のDatabase Systemのサービス・インスタンスを作成する方法をご紹介します。

  • Oracle Cloud
2021.01.18

OCI上にWebサーバを作成してみよう!

OCIはコストメリットの面で非常に優れたクラウドサービスです。本記事では、OCI上に仮想クラウドネットワーク(VCN)を作成後、その中で起動させた仮想マシンをWebサーバとして構成し、ブラウザからアクセスする手順をご紹介します。

ページの先頭へ戻る