Windows system >> Windowsの知識 >  >> Windows XPシステムチュートリアル >> XPシステムの基本 >> Windows 2000 /NT /XP管理者パスワード紛失解決方法

Windows 2000 /NT /XP管理者パスワード紛失解決方法

  
1:samファイルの消去:WinNTシリーズのシステムアカウント情報は、レジストリファイル%systemroot%\\ system32 \\ config \\ samに保存されています。システムに重要なアカウントがない場合、またはアカウントが比較的小さい場合、%systemroot%\\ system32 \\ config \\ samメソッドを削除するのは比較的簡単ですが、システムは管理者(パスワードが空)とguest 2アカウントにのみ復元されるため、そのため、IISのように依存しているアカウントのためにいくつかのプログラムが失われ、vmwareを起動できません。この方法はntワークステーションシリーズ(2kpro)にのみ適用でき、サーバーには適用できないことがわかりました。私は2000professionalおよび2000 advanced serverで成功しています。なぜそのような記述があるのか​​私にはわかりません、それはActive Directory広告の下では不可能かもしれません。もちろん、最初にシステムパーティションにアクセスしてsamファイルの名前を変更するか削除する必要があります。 fat32、fatパーティションの場合は、98ブートディスクを使用してください。 NTFSパーティションの場合は、DOS用のWinter NTFS、98用のNTFS、またはNTFSをサポートするブートCDを使用するか、他のWin2000、Linuxおよび他のマシンでハングアップするか、新しいWin2000を再インストールします。 2:特別なツール:Windowsの管理者パスワードが失われた別の解決策は、Petter Nordahl-HagenのThe Offline NT PassWord Editor(http://home.eunet.no/~pnordahl/ntpasswd/)を使うことです。パスワードを設定するためのレジストリファイルsam。時々、システムエラーが発生することがあり、著者は定期的に彼のプログラムを更新するが、私はまだ彼の直接の操作上の安全性のSAMファイルを心配し、次に、イメージファイルを起動するNTFSパーティションにアクセスするためのパスワードをリセットするために彼のブートディスクを使用するようにする必要があります。他の同様のツールがあるかもしれません、私は無知です。 3:もう1つの考えは、システムの起動に必要なプログラムをパスワードを変更する小さなプログラムに置き換えることで、起動時にシステムがパスワードを置き換え、復元されたプログラムを復元することです。もちろん、最初にシステム区画にアクセスして、そのシステムで開始されるプログラムを置き換えることができなければなりません。私は、管理者パスワードをクリアするには、小さなプログラムを書いたシステムを置き換えるために必要な手続きを開始するための一つの方法は、(CleanPwdがします。http://www.BingleSite.Net/myprog/CleanPwd/CleanPwd.rar)は、彼は管理者パスワードが作られ空です。 1):デュアルシステムまたはブートディスクを使用するか、他のシステムでハングアップするNTFSパーティションの場合、他のシステムまたはブートディスクはNTFSパーティションを読み書きできる必要があるので、Windowsインストールディレクトリのsystem32 \\ svchost.exeをsvchostに変更します。 .bak.exeをバックアップし、CleanPwd.exeをsvchost.exeにコピーします。 2):システムを起動し、管理者のパスワードがクリアされ、あなたは直接ログインすることができます。 3):svchost.bak.exeを復元します(代わりにsvchostを使用する場合は、rpcサービスを開始するのが最善です)。他のプログラムの代わりにsvchost.exeを使用するのはなぜでしょうか。各Windows 2000システムには、System(kernel Executiveおよびkernel)、smss(セッションマネージャ)、csrss(win32サブシステム)、winlogon(ログオンプロセス)、services(プロセス)があります。サービスコントロールマネージャ)、lsass(ローカルセキュリティ認証サーバー)どれか1つでも強制終了されるか失敗すると、システムは再起動します。ただし、lsassを起動する前にパスワードを変更することはできないため、これらのプログラムを使用することはできません。さらに、一般的にシステムにいくつかのプログラムがあります。svchost.exe(リモートプロシージャコール(RPC)とその他のサービス)、WBEM \\ WinMgmt.exe(Windowsの管理インストルメンテーション)、mstask.exe(タスクスケジューラ)、regsvc.exe( RPC以外の他のサービスを無効にしても、rpcを無効にしないと、システムが正常に動作しなくなります。だから私はsvchostを選んだ、あなたが他のサービスが自動的に開始することを知っていれば、あなたはそれを選ぶこともできる。もちろん、システムにアンチウイルスソフトウェアがインストールされている場合は、アンチウイルスソフトウェアを交換することもできます。一般的なアンチウイルスソフトウェアは、ウイルスを駆除するためにアンチウイルスファイアウォールを起動するためです。 4):その他:このアイデアは数ヶ月前だったが、私はこのプログラムを書いたことがない:(プログラムはc:\\ CleanPwd.txtに簡単なログを記録するでしょう、私はまたソースコードを添付します、あなたはそれを自由に変更できます)。そのようなユーザーを追加するのではなく、管理者のパスワード変更など独自の要件、(または管理者の名前を変更した)4を満たすために:私はまだ、サイト上で、このような方法を参照しています。%SystemRoot%\\ system32には\\ログオンがあります.scrをcmd.exeまたはexplorer.exeに置き換えてシステムログインを待つと、しばらくするとlogon.scrスクリーンセーバーが実行されますが、これはスクリーンセーバーファイルを置き換えたため、実際にはcmdが実行されるためです。 Exeまたはexplorer.exe、およびローカルシステムのアクセス権なので、そのまま使用できます。最も簡単な方法はcmd.exeでネットユーザー管理者 ""を実行することです。成功した後は管理者パスワードも消去されます。空のパスワードがログインされています。実際、この方法は上記の考え方と一致しています。 =========== #includeの#includeの#includeの#includeの#includeの#pragmaコメント(libに、 "Netapi32.lib")の#define LOF_FILE "C:\\\\ cleanpwd.txt" DWORD値SetUserPwd(CHAR *ユーザー、のchar *のパス);無効バナー(FILE * fp){if(NULL == fp)return; fprintf(fp、 "パスワードが紛失した場合の管理者用パスワードツール1aのクリーンアップ。\\ n"); fprintf(fp、 "by [email protected] \\ n"); fprintf(fp、 "Webサイト:www.BingleSite.Net \\ n");} int main(int argc、char * argv []){banner(stderr); FILE * fp = fopen(LOF_FILE、 "a"); if(fp){fprintf(stderr、 "ログインファイル%s \\ n"; LOF_FILE);} if(!fp)fp = stderr; char buff [256]; fprintf(fp、 "%s :きれいな管理者のパスワード "_strtime(バフ)); DWORD値のn = SetUserPwd(" 管理者 "" ");場合(NERR_Success == n)の関数fprintf(fpは、"。OK \\ nを ");他の関数fprintf(fpの、"失敗、エラー:%d \\ n 」、N); FCLOSE(FP)-1を返す;}のDWord SetUserPwd(CHAR *ユーザのchar *パス){wchar_tのWUSER [PWLEN]、[PWLEN] wpass; USER_INFO_1003 UIは、mbstowcsは(WUSER、ユーザ、strlenを(ユーザ)+1); mbstowcsは(wpass、通過、strlenを(パス)+1); ui.usri1003_passWord = wpass;} =====、UI、NULL); NetUserSetInfo(NULL、WUSER、1003(LPBYTE)&#038を返します=========コード終了========
Copyright © Windowsの知識 All Rights Reserved