How To Check If All The Computers Running On Network Are Using Default Windows Shell.

The following knowledgebase explains the method you can use to check if the user or computer is using the Windows default Explorer Shell. The Windows Default Shell is Explorer.exe for computer (it will apply to all the users who have logged on to the computer successfully). The user shell is Userinit.exe (This shell will apply to users who have logged on to the computer successfully).

Windows default Shell and Users Shell reside in the following registry entry:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.

In the right pane you can see the following entries:

Shell REG_SZ Explorer.exe

Userinit REG_SZ C:\WINDOWS\system32\userinit.exe,

You can use the following script to check whether all the computers in your network are using default shell or not:

@echo off

Srvlist=C:\Temp\Srvlist.txt

Echo Computer Name, Windows Default Shell?, User Shell? >> Result.csv

SET Win_Def=

SET Usr_Def=

For /F “Tokens=*” %%a In (%srvlist%) Do (

Set Comp_name=%%a

Set RegQry=”\\%%a\HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon”

REG.exe Query %RegQry% > CheckShell.txt

Find /i “Explorer.exe” < CheckShell.txt > StringCheck.txt

If %errorlelvel% == 0 (

SET Win_Def=Yes

) ELSE (

SET Win_Def=No

)

Find /i “userinit.exe” < CheckShell.txt > StringCheck.txt

If %errorlelvel% == 0 (

SET Usr_Def=Yes

) ELSE (

SET Usr_Def=No

)

Echo %Comp_name, %Win_Def%, %Usr_Def% >> Result.csv

)

*** End ***

The above script will run the Reg.exe command on all the computers specified in ComputerList.txt and will save the result in Result.csv for computers who have Windows Default Shell and user default shell specified in registry.

Leave a Reply

Your email address will not be published. Required fields are marked *