我们知道Windows的shell是explorer,有了它你才能使用桌面和开始菜单。但由于一些原因,我们不希望用户使用桌面环境,而是登录后直接出现应用程序界面,那就需要修改用户的shell。
Windows用户shell的修改没有Unix那么简单(Unix/Linux下只要修改/etc/passwd即可),下面我就来说明一下如何修改Windows用户的shell。
首先我们要获得用户的SID,可以用Sysinternals的psgetsid.exe工具(可以从http://technet.microsoft.com/en-us/sysinternals/default.aspx这里获得)。 用psgetsid.exe USERNAME命令获得用户的SID,如下:
此处获得用户daban的SID为S-1-5-21-3088978941-3052887697-1948503001-1006。
接下来的一步很重要,我们要以用户的身份来执行一个程序,如:runas /profile /user:daban notepad.exe
我们已用户的身份打开一个notepad,请不要将这个notepad关闭,直到所有操作注册表修改完成才关闭。
然后打开注册表编辑器regedit,在HKEY_USERS下面找到名称为用户SID的Key,展开后在SoftwareMicrosoftWindows NTCurrentVersionWinlogon下面新建一个String值,键名为Shell,内容为cmd.exe。
这样用户登录时只能看到一个cmd窗口,而没有开始菜单和桌面。