
私たちのオフィスでは、ユーザーは自分のアカウントを持つ Windows 7 コンピューターを所有しています。私は、特定のネットワーク サービスで使用するために非表示の管理者ユーザーを追加し始めました。これにより、何らかの理由でログインできなくなった場合でも (たとえば、誰かが退職し、その人のパスワードがわからないが、コンピューターを再使用する必要がある場合など)、ユーザーのコンピューターにアクセスできます。
このユーザーは非表示になっているため、ログイン画面には表示されませんが、このアカウントにアクセスする必要があるときに、ユーザー名とパスワードを手動で入力できるようにしたいと考えています。これを実現するための唯一の方法は、すべてのユーザーにユーザー名とパスワードを使用してログインするように強制することですが、この解決策は私たちのオフィスでは機能しません。
私の質問は、ログインするたびに全員に強制せずに、Windows 7 のログイン情報を手動で入力する方法を知っている人はいますか。(ログイン画面で 'ctrl+alt+del' を押して資格情報を入力できるような方法を考えていますが、その方法がわかりません。)
答え1
警告!以下は、いくつかのシステムファイルを変更/置換し、変更するものですレジストリキー香港組み込みのアクセシビリティオプションの一部が使用できなくなります。一部のウイルススキャナではこれが気に入らないようです(この方法でシステムファイルを変更する) であり、変更されたファイルをスキャンから除外する必要がある場合があります。それだけではありません...強力な SYSTEM アカウントで実行されるファイルを置き換えているため、新しいスクリプトにも同じ権限が与えられます。
[オプション]これを設定する際にどのように動作するかがわかっている場合は、TrustedInstaller
権限を変更する必要はありません。
[情報] CWD
=something
現在の作業ディレクトリを示します。
さて、最後の警告ですが、ちょっとしたタイプミスでシステムからロックアウトされる可能性があり、コントロールを取り戻すオフラインのとき(OS の実行に関して)。
まず、ログオン画面で実行中のプログラムを活用する
%windir%\System32\Utilman.exe
これを実現する簡単な方法の 1 つは、独自のプログラムに置き換えることです。この場合は、表示 / 非表示のユーザーのリストをレジストリに書き込むアプリケーションに置き換えられます。
CWD
=anything you want
表示ユーザーを切り替えるプログラムが必要です簡単なプログラムを書く簡単な方法の一つはnotepad
、バッチコンパイラ。 (リンクされたコンパイラにはエディタが組み込まれている)
この方法を使用する場合は、内部に配置するコードも必要になります。
@echo off
IF EXIST "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state" (
del %SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state
regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\displayusers.reg"
) ELSE (
echo "1" > "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state"
regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\hideusers.reg"
)
wmic process where (name="LogonUI.exe") delete
上記のスクリプトが何をするのかを説明します。
Let's break above code down, do not copypaste this!
First line checks if status file exists, filename quoted:
1| IF EXIST "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state" (
If file exists then delete file that we cheked:
2| del %SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state
And write displayusers.reg contents to registry:
3| regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\displayusers.reg"
4| ) ELSE (
If status file does not exist then create it:
5| echo "1" > "%SYSTEMROOT%\System32\SwitchVisibleUsers\hidden.state"
And write contents of hideusers.reg to registry:
6| regedit /s "%SYSTEMROOT%\System32\SwitchVisibleUsers\hideusers.reg"
7| )
Registry values written, kill LogonUI.exe to reload (LogonUI restarts)
8| wmic process where (name="LogonUI.exe") delete
システムファイルを置き換える
その後、ファイルを として保存しUtilman.cmd
、コンパイルして にします。Utilman.exe
バッチをコンパイルして.exe
ファイルが動作している場合は成功です。新しいファイルをutilman.exe
クリップボードにコピーします。
CWD
=%SYSTEMROOT%\System32\
ここで、マイクロソフトのものをutilman.exe
自分の新しいものに置き換えますutilman.exe
。所有権を得るファイルと権限を設定するsystem32 でファイルを変更できるようにします。
特別なユーザーを定義します (変更するレジストリ キー/値):
新しいディレクトリを作成しますSwitchVisibleUsers
。
CWD
=%SYSTEMROOT%\System32\SwitchVisibleUsers\
および
という名前の 2 つのファイルを作成します。これらの 2 つのファイルは、ログオン画面でどのユーザーを非表示/表示するかを定義します。設定に応じて内容を編集します。hideusers.reg
displayusers.reg
の内容hideusers.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Administrator"=dword:00000000
"ChuckNorris"=dword:00000000
"JonSkeet"=dword:00000000
内容displayusers.reg
:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"Administrator"=dword:00000001
"ChuckNorris"=dword:00000001
"JonSkeet"=dword:00000001
これで完了です。どうやってテストしますか?
高速ユーザー切り替えが有効になっている場合は、ログアウトするかユーザーを切り替え、ログオン画面でアクセシビリティオプション(左下隅の小さなボタン)を使用してください。管理者、チャック・ノリスまたはジョン・スキートが近くにある場合、この魔法のボタンをクリックしている間、それらが表示されたり消えたりします。