如何替换Windows的Shell(即explorer.exe)

时间:2023-01-16 22:10:03
  1. 下载一个可以查看用户的SID的软件,如SysInternals套装中的PsGetsid.exe(地址:http://www.ithome.com/html/soft/84134.htm )
  2. 使用你自己的账号(最好是管理员权限的账号)登录Windows,然后添加一个给其他人使用的账户(假设为other),注意一定要为other设置密码。
  3. 运行命令提示符(Win键+R,输入cmd回车),进入到psgetsid.exe所在的目录,输入:psgetsid.exe other,将会显示一串SID代码:
    如何替换Windows的Shell(即explorer.exe) 
  4. 然后输入runas /profile /user:other notepad.exe,请保持这个记事本窗口直到完成注册表的修改:
    如何替换Windows的Shell(即explorer.exe)
  5. 打开注册表(Win键+R,输入regedit回车),打开HKEY_USERS/{SID}/Softwares/Microsoft/Windows NT/CurrentVersion/Winlogon,{SID}为刚才用psgetsid.exe查到的SID,即上图的S-1-5-21-1307335497-2136014575-3338971420-1006,在该键中添加一个字符串型的值为cmd.exe的项,名称为Shell,即登录到Windows后启动的程序,由于默认启动的是explorer.exe,这里修改为cmd.exe,则登录后启动的是命令提示行(可选择其他程序作为启动Shell,注意使用绝对路径):
    如何替换Windows的Shell(即explorer.exe)
  6. 然后切换到other用户登录,即可看到默认的Shell——explorer.exe没有启动,取而代之的是“桌面”上只有一个cmd.exe。

       管理员用户admin一样可以按照此完成,如果替换回来,回到注册表删除刚建立的shell项,注销用户即可。
总结:cmd.exe可以替换为我们自己写的Shell。另外,图书馆机器上的Shell估计也是用的这种方法实现的。