本文出自 “叶俊生” 博客,请务必保留此出处http://yejunsheng.blog.51cto.com/793131/175814

set:捕捉当前环境设定的详细信息,简单实用   出处:Windows操作系统自带
2003469                                                   在命令提示符里面输入set按回车键  set其实就是把你当前登录的用户所有的环境设定全部显示出来  比如你能看到你的用户配置文件在那里-->ALLUSERSPROFILE=C:\Documents and Settings\All Users   OU就是PROFILE   下面有二项 USERDNSDOMAIN=YEJUNSHENG.COM   USERDOMAIN=YEJUNSHENG  当你的计算机加入域了之后  如果是Windows 2000之后 每个域有二个域名  一个是域的DNS名   一个是域的NetBIOS名  WindowsNT4.0里面只有NetBIOS名  那么这两个域名在默认情况下  NetBIOS名称是DNS名称前面那一部分  是一样的 你也可以设置成不一样  在很多时候就是因为这两个域名不一样  比如说它的DNS名是YEJUNSHENG.COM  而NetBIOS名变成YEJUNSHENG01  比如在安装的时候管理员设置的  这样就会造成很大的困扰 用户在登录输入用户名的时候 需要输入domainname\username这样的格式   对着我的电脑右键--选择属性--按计算机名也能看到域名(yejunsheng.com) 有的时候在图形页面里面看到的东西不一定是正确的 set这个工具有什么作用呢? set作为一个命令行工具 它能够看到隐藏在图形页面之后的一些真实的东西
2003470
  我现在来到一台计算机 这台计算机名称也是叫做Windowsxp   但是这台计算机是没有加入域中  它是属于工作组模型  我已经创建了2个用户了   一个叫做good   一个叫做ttt  我现在先用good这个用户登录吧  
2003472
使用set这个工具 你会发现set能做到很多图形页面做不到的东西  我先来看一下我的环境   在命令提示符里面输入set按回车键 现在可以看到USERNAME=Good   USERDOMAIN=WINDOWSXP 从这里面可以看到这台计算机的名称就叫做WINDOWSXP  没什么问题
2003471
  现在我把用户名修改一下   通过开始--设置--选择控制面板--双击用户账户  按Good这个用户--按更改我的名称  在为Good键入一个新名称里面输入Bad   我把Good修改成Bad了   按改变名称就可以了   注意:如果你的是username administrator  那么在单机环境下 就是说你没有域的情况下  有可能你改不了你的用户名  在这个页面里面你改不了你的用户名  
2003473
   看到了吗? 以前那个用户名Good已经变成Bad了  我现在就用Bad这个用户名登录
2003474
在命令提示符里面输入set按回车键   你会发现很奇怪的事情  怎么USERNAME仍然是Good呢  没有改过来  那最后造成什么问题呢? 假设说我要从另一台计算机去访问这台计算机的话  当你要输入用户名的时候  仍然需要输入Good  这是为什么呢?   对着我的电脑右键--选择管理  展开本地用户和组--按用户  你会发现刚才我改的只是用户的全名  而用户登录的USERNAME其实在背后是没有做任何修改的 当我们在网络上去访问这台计算机的时候 使用的用户名还是原来的用户名  简单来说  当你在一个图形页面里面看到的东西 可能并不是你所看到的 有很多人说眼见为实  但是很多时候给你看到的只是一个假像   但这一点你把这台计算机加入域了之后就没有这个问题了 这只是说在一个工作组环境下 为了简化用户的使用  它没有做太多的修改 另外还有一个好处是使用set这个工具能够看到Windows操作系统安装的路径 
2003475
如果你想看得看清楚的话  怎么样去看呢  比如输入set w按回车键后就可以看到windir=C:\WINDOWS  你加windir第一个字母就可以看到很清楚了  还有输入set l按回车键后就可以看到LOGONSERVER=\\WINDOWS了  加l也是一个很有用的功能  就是LOGONSERVER  这个功能重要的是什么呢 在域环境下 你可以知道你这个用户是找那一台域控制器去做身份验证的 这是非常重要的一点  就是很多时候在域控制器下  比如有两台域控制器  这两台域控制器由于某种原因  它们的复制出现了问题 那么用户有可能上A这台域控制器 它会应用一些组策略  上B这台域控制器有些组策略就不会应用  那么用户就会很奇怪 为什么有的时候我是正常的  有的时候就不正常了 那么每一次登录的时候都能够非常方便用set可以看到它这一次登录是在那一台计算机上做LOGONSERVER
 2003477
通过开始--设置--选择控制面板--双击任务计划--双击添加任务计划   你可以选择里面那些程序设置它们什么时候开始执行  添加的时候会有一系列命令行帮助你去做这些事情
2003478
我在C盘里面创建一个文本文件叫做AT.txt  在里面输入Administrator cannot see me  按文件--选择保存   然后我来修改它的权限  对着AT.txt右键--选择属性  按安全--按高级--把从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目的沟去掉  按确定  按复制 按确定  我把AT.txt属性的安全选项里面的所有Administrator都删除掉  只留一个SYSTEM账号  那么SYSTEM账号就是你的本地的所有service默认用的账号 其实也是你这台计算机里面的计算机账号 在你的计算机上应该是可以拥有Full Control权限的  按确定  我双击AT.txt这个文本文档  看到拒绝访问 什么都看不到
2003479
我现在来运行AT命令 AT命令作为权限提升把我自己从管理员变成系统账号 注意:这个AT命令除了管理员 其他的用户是不能运行的 现在的时间是14:01 我让它在14:02就开始运行  在Command Shell里面输入at 14:02 /interactive cmd.exe按回车键  interactive就表示放到桌面上  等到时间为14:02的时候就自动强出一个命令行  这个命令行的权限比较高  其实这个命令行和其他命令行有一些不一样的  在强出的命令行里面输入输入at.txt按回车键后就可以看到AT.txt这个文本文件里面的内容了  因为现在我运行的时候是用系统的权限 
2003481
我现在打开userenv2.log这个文本文件   可以看到里面的内容很多  如果我现在想找出所有关于failed to怎么找呢? 在C:\WINDOWS\System32\svchost.exe命令行里面输入findstr /I /L /C:"failed to" c:\userenv2.log > c:\result.txt按回车键 你再在C:\WINDOWS\System32\svchost.exe命令行里面输入result.txt按回车键后就可以看到每一行都有Faied to  其实它做的事情就是把刚才userenv2.log里面所有包含Failed to命令行把它筛选出来   当你对log做分析的时候  这是一个非常好的工具
2003483
我现在对着C盘里面的test文件夹右键--选择属性--按添加--按高级--按立即查找--找到Exchange Domain Servers这个组 按确定
2003484
  我在Command Shell命令行里面输入xcopy c:\test  c:\xcopytest /O /X /E /H /K按回车键    打开C盘对着xcopytest这个文件夹右键--选择属--按安全--按Exchange Domain Servers可以看到权限已经复制过来了
2003486
我把test这个文件夹共享出来  按权限--把Authenticated Users这个组添加在里面  按确定  我再把xcopytest这个文件夹共享出来  按权限--只能看到Everyone  按确定   怎么样看这台计算机的名称呢?在Command Shell里面输入hostname按回车键  可以知道我这台计算机的名称是DC1   输入permcopy \\DC1 test \\DC1 xcopytest按回车键  对着xcopytest右键--选择属性--按共享--按权限--可以看到已经把Authenticated Users这个组复制过来了并且也把它的权限复制过来了 
2003488
我现在已经进入活动目录还原模式了   在命令提示符里面输入ntdsutil按回车键  输入files按回车键  输入recover按回车键  recover是做软恢复的  就是说你的数据库没有任何损坏的  输入integrity按回车键  你可以看到一个进入条  它是对你的数据库文件做一个根据jet数据库的语法对它做一个分析  分析这个数据库 针对这个数据库隐情有没有错误 
2003489
在命令提示符里面输入quit按回车键  把它退出来  输入sem dat ana按回车键  其实我现在是输入缩写的 你也可以输入全写  什么叫做semantic database analysis呢?它就是对数据库里面的内容针对AD的语法去做检测  输入go按回车键 就可以看到完成的结果了 在windows server 2000里面有一个repair命令  这个命令是强制修复的  但是在windows server 2003里面已经没有repair这个命令了  
2003491
  我现在已经进入正常模式了  怎么样重新设置活动目录还原模式管理员账户密码呢?  如果你用的是windows server 2000打了SP2或更高版本的话  你就在命令提示符里面输入SetPwd按回车键来重新设置活动目录还原模式管理员账户密码   如果你用的是windows server 2003就使用ntdsutil这个命令来重新设置活动目录还原模式管理员账户密码  在命令提示符里面输入ntdsutil按回车键  输入set DSRM Password按回车键  在重置 DSRM 管理员密码里面输入你的新密码按回车键就ok了  注意:重新设置活动目录还原模式的密码必需是AD里面的管理员  普通用户是没有权限去做这个东西的  
2003493
  在那里能查到事件查看器里面的错误呢? 首先在IE地址里面输入support.microsoft.com按回车键  在查找帮助里面输入userenv 1000按搜索就可以看到所有关于USERENV 1000的事件了 
2003494
什么是Source?  Source就是来源  什么是ID?  在命令提示符里面输入eventvwr按回车键来打开事件查看器  比如我现在对着Userenv右键--选择属性  可以看到来源(Source)是Userenv   事件ID是1054  
 2003497
  创建用户账号的模板怎么样做呢? 在命令提示符里面输入csvde -f c:\export.csv按回车键   打开C盘 双击export.csv  可以看到里面有很多个 如果你想创建账号的话 输入你要创建用户账号的名称 就只留几个属性就可以了 把其他的属性都删除了  按保存  然后在命令提示符里面输入csvde -i -f c:\export.csv按回车键  这个时候你到AD里面就可以看到现在创建的用户账号了