适用于开启与WinXP/2003兼容的标准用户的Win7/2008R2 UAC设置

题目有点绕。需求是这样的:在WinXP/2003下,标准用户组Users具有一般的使用权,但不能对系统进行更改,在那个没有UAC的时代,合理配合使用Users组和手动提权到Administrator,其实也是可以做到和现在有UAC时同等安全地裸奔的(但很可惜那个时代我修电脑的认知还停留在Win98的水平,对NT系统的强大了解甚少,一度认为XP系统很不安全,连自己都装过卡巴死机和360,黑历史不堪回首)。

在标准用户组下,所有程序本身都能运行的,但进行需要权限的操作会直接Access Denied失败。使用标准用户的case还是有使用的地方的,适合于非IT工作单位或家庭、有网管的情况。例如豆子每次回家都会表示自己家中的电脑被装了各种全家桶,考虑到豆子并不能随时向豆爸普及正确使用电脑的知识(这点和我家情况不一样,我爸本来电脑水平并不弱,我是真IT所以多年来一直在黑国产软件而且我爸还是注重隐私的。但最近也有点hold不住,因为我妈,最近回家电脑上都会多了TB浏览器啊,文件默认关联变成QQ音乐啊,至于为什么不是全家桶估计因为阿里没做杀软吧),我建议他直接给受限帐户,常用软件弄好,不允许新软件的安装。

然而豆子配置后表示,不给力啊。在Win7/2008R2下,标准用户遇到需要提权的情况时还是会蹦安全桌面,要求输入管理员的密码,这不是等于明摆着告诉豆爸我把你电脑锁了请打电话找我要密码。好的我们有组策略,组策略里可以设置标准用户的提权操作为拒绝提权。结果这样一来任何要求提权的软件均不能启动,包括计算机管理、配置了manifest的exe以及文件名中带有setup字样的exe,提示组策略禁止了该软件启动请与管理员联系。好吧软件都没法启动了还用个毛啊。

我们需要的是像WinXP/2003那样,软件还能用但是干不了啥流氓事。这个问题我当时实验了不少设置没有成功,后来一度搁置了,主要是网上没有搜索到类似的案例,也许是这个问题描述不好总结出关键词搜索。UAC是在程序运行前的,显然我们没法去把所有程序的manifest去掉。三个月前因为这个问题把家里的电脑换回了xp。

今天帮忙优化工作室的电脑,那种ghost win7的版本,默认administrator帐户,试着开一个普通的受限用户,结果需要提权的时候uac并没有蹦出来弄的反而提不了,所有程序右下角也没有小盾牌,需要权限的程序也能以受限权限运行,点任务管理器里的显示所有用户进程怎么点都会重启任务管理器,但是还是受限权限,计算机管理也能以受限权限打开(但打不开磁盘管理)。这很奇怪,和我当时做实验时不一致。

一度以为是ghost win7直接把uac阉割了,但没查到具体怎么做的,但无论如何,这说明我想要的这个功能在win7中还是能实现的。自己再做实验时无意中按照一篇文章中说的把HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System中EnableLUA设为0,然后重启,居然成功了。后来再进一步看,发现这货就是组策略中的“管理员审批模式”设为禁用或者控制面板中UAC设置中最低一级的完全关闭嘛。当时做实验时应该也有试过这样的操作,但为什么没成功现在不得而知。

总之,结论是如果需要在Win7/2008R2中使用WinXP/2003中的受限用户,则应将UAC彻底关闭,否则所有带有manifest的程序均无法直接运行而是会弹UAC密码框。关闭UAC后,右键的管理员权限运行还在,但是不起作用,若想避免切换用户提权,需要按住shift右键选择以指定用户运行,然后输入管理员的用户名和密码,但这时程序实际运行的帐户也将是另外的帐户,环境变量也是另外的帐户的,例如AppData不再指向当前帐户的目录。

毁三观的win8

一年前,好像还是win8 RTM刚出来的时候,受Forest同学怂恿,重装系统时装了win8。结果用了一小时果断换掉——太TM毁三观了,比当年第一次看到vista时有过之而无不及,简直就像上学期我第一次去听斯克里亚宾的奏鸣曲的感受。于是win8成为了迄今以来我用的最短命的系统。

这两天系统华丽丽地寿终正寝了,目测是因为频繁dump core最终不幸运地破坏到了注册表。因为手上没找到英文版的win7 x64镜像,就打算去msdn订阅下一个(呃,我可不是正版订阅用户,只是去看下文件信息,然后根据文件名bt或emule一个,表拍我)。然后无意看到今年微软有发布win8.1,就突然起意想看看8.1的毁三观情况有没有得到改善。

结果是——没有!不过这次没有去年那么抵触,因为我这一年变得更爱理性思考,看待事物会尽力排除掉自己的主观感情,也就没有像上次那样玩了一小时就匆匆卸掉。

不过一天的体验后,还是决定放弃,继续观望下个版本有无改进。

放弃的理由是,metro不适合将计算机作为工作站的开发者用户,或者说,metro适合手机和平板应用(App),而不适合二十年来已经形成的windows桌面软件(Software)文化。我在日记本上列举了几个大的问题:

首先还是毁三观的开始菜单。经典的开始菜单是基于文件夹结构的,安装一个软件后开始菜单中会出现这个软件的程序、设置与工具、文档、以及卸载。而现在的开始菜单是基于应用的,却直接把以前的内容照搬过去,先不说flat后没有文件夹分级结构的菜单找东西不方便,这样照搬在文化上是说不通的——设想以下场景,你在android上安装了一个软件,结果这个软件在桌面上弄了三个图标:启动软件、软件说明、卸载软件,你会有什么感受。这种错误是来至于社会文化习惯的,和个人习惯和感情无关,所以是真的错误。

到开始菜单中并给个右键头提供打开最近的文档的功能。metro强制界面也使得经典主题没了。对于我这种习惯从win98以来的简约不喜欢花哨的开发者来讲稍微有点失落。

win8还有个不方便之处是,默认是中文输入法。不管打开什么窗口,explorer也好cmd也好都是中文输入法。作为开发者,我习惯在explorer中打首字母定位文件夹,所以每次都很不爽。cmd就更不说了。

win8.1有个新的bug,宋体、新宋体字库有点问题。9号的英文与数字,本来已经是点阵显示的标准之一(12x6px),在先前几十年的windows下都没问题,结果在8.1中出了毛病,不知是truetype渲染问题还是字本来就有毛病,看上去很扎眼。这使我这个常年用9号新宋体做编程等宽字体的同学不得不临时把visual studio字体改成courier new。

总结一下,就是我认为微软的战略是失误的,metro适合App不适合传统窗口应用。如果让我做决定,我会让两个桌面共存,但绝不会做出取消开始菜单这种让不同的文化起冲突的2b事情。

准备换回NT 6.1的系统。望微软继续努力。

Windows小技巧笔记

主要是为了方便自己重装系统后查看。

Win7 Wifi热点

从XP时代就开始使用wlan让一台机子拖另外台机子上网。设置就是三步——1,创建一个computer to computer的无线连接,2,开启Internet共享,3,设置双方的静态IP地址。

现在有了手机,还用这种办法,但总是不成功。主要是因为这种方法似乎不支持DHCP,而我这手机设静态IP怎么都不能正常上网。今天无意发现Win7的一项隐藏的新功能,就是将无线网卡虚拟成一个AP!!!以前从来不知道有木有!!!

直接贴方法吧。注意cmd是管理员权限。

1、netsh wlan set hostednetwork mode=allow ssid=GMSJ0001 key=password
或者更简洁地写:netsh wlan set hostednetwork allow [ssid] [password]

2、打开Internet共享。在网络连接里可以看到一个新的虚拟无线网卡,将本地连接属性中共享一栏设到这个网卡上。

3、netsh wlan start hostednetwork

完毕,就这么简单,这是个可以直接DHCP的AP有木有,还支持多用户连接有木有!!!

Win7默认共享

然后是文件共享的问题。在网络与共享中心中设置了一通后发现不能像原来一样用本机的帐号登录D$这样的默认共享。所以又查了一通,发现是因为原来机子是在域里,而现在重做了系统还是默认的工作组,工作组模式下默认共享登陆有UAC作怪,而域计算机不受此限制。解决方案是——关闭UAC?行自然可行,可惜不敢这么做。官方给了个关闭UAC的这个feature的方法:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System下新建一个dword LocalAccountTokenFilterPolicy=1

Everything Win+F

HKCR\search\shell\open\command
@=”D:\Program Files\Everything\Everything.exe”
DelegateExecute=””

VirtualBox虚拟机不自动同步主机时间

VBoxManage setextradata “WinXP” “VBoxInternal
/Devices/VMMDev/0/Config/GetHostTimeDisabled” “1”

重新载入生效。也可以直接编辑虚拟机文件。

Win7关闭桌面效果

1、个性化——Windows经典主题。桌面的默认颜色为58,110,165。

2、系统属性——高级——性能——调整为最佳性能,主要时为了是窗口最大最小化的速度。另外要选中“使用平滑字体渲染”,否则——所有的TrueType会变成点阵的,请自行脑部效果。。

IIS7 PHP支持

1、控制面板里安装IIS时要选中应用程序中的CGI支持。

2、处理程序映射——添加模块映射——*.php,FastCgiModule,路径。

 Win2003终端连接限制

1、如果因为不正常的断开把自己墙在外面,运行mstsc /admin可强制连接到session 0,然后将另一个session的administrator踢下线即可。

2、可以在终端服务配置——服务器设置中设置“限制每个用户使用一个会话”,这样后连接的用户会自动踢掉先连接的用户。

Win7 vs Win2008R2与可关闭的服务

刚刚将使用了一年的Win2008R2换回Win7。表示有些东西还是Win7略好。TODO:这部分会单开一篇文章。

服务器的问题:

1、NTFS压缩性能可能没有桌面系统高,这个是在MSDN一篇文章上写到的。不过这个结果存疑,我使用的情况来看,似乎NT6系统对NTFS压缩的处理和NT5并不一样。在NT5的PE系统中,System进程对文件的写入是同步的透明压缩,大规模的拷贝不会产生碎片,但NT6是先写入未压缩数据,然后系统空闲时压缩,拷贝后64K被压缩的部分会产生碎片。

2、服务器没有默认开启Superfetch。这个性能影响我再测试一段时间。另外磁盘碎片整理的计划任务最好是开启。

3、Users权限无法动电源设置,调整平衡和节能比较不方便。

Win7按需可关闭的服务:

HomeGroup Listener、HomeGroup Provider
Windows Search、Windows Defender
Diagnostic Policy Service、Diagnostic Service Host
Windows Media Player Network Sharing
Microsoft Device Health Machine Service
Program Compatibility Assistant Service
Application Experience不能关,否则删除EXE文件时会出现问题
Windows Firewall不能关,否则似乎默认封所有端口

关闭休眠:powercfg -h off
关闭系统还原

关于激活

一定要在彻底装完驱动后重启后再激活。否则相当于更换硬件,会浪费一次激活次数。KMS同样是3次次数限制,长时间过期一段时间后系统会禁止续期而必须重置激活而浪费次数。

 

 

【转】域控需要开放的端口

转载自http://yoozhu.com/?p=1727

 

在域环境里面,如果两个DC之间启动防火墙,就会出现无法同步的现象。

从服务器日志看到:文件复制服务有困难启用复制: 从 PDC 到 BDC 为 c:\windows\sysvol\domain 用 DNS 名称 pdc.xin***.com。FRS 将继续重试。

以下是您看到此警告的一些原因。

[1] FRS 不能从此计算机正确解析此 DNS 名称 pdc.xin****.com。

[2] FRS 不在 pdc.xin***.com 上运行。

[3] Active Directory 里此副件的拓扑信息还没有复制到所有域控制器。

这个事件纪录消息将每个连接出现一次。问题解决后,您将看到另一个事件日志消息, 它表明连接被建立。

譬如:在主域控制器以外的域控制器里面建用户,提示,windows无法验证用户名的唯一性,因为在全局编录联系下发生下列错误:该服务器不可操作

解决办法:

1、关闭域控制器的防火墙

2、或者开放域控制器所需端口

用户登录与验证身份时会用到的连接端口
用户登录时会用到以下的服务,因此如果用户的计算机与域控制器之间被防火墙隔开,就必须在防火墙开放这些服务的连接端口。
Microsoft-DS traffic: 445/TCP、445/UDP
Kerberos: 88/TCP、 88/UDP
LDAP ping: 389/UDP
DNS: 53/TCP、53/UDP
计算机登录与验证身份时会用到的连接端口
计算机登录到域控制器时会用到以下的服务,因此如果域的成员计算机与域控制之间被防火墙隔开,就必须在防火墙开放这些服务的连接端口。
Microsoft-DS traffic: 445/TCP、445/UDP
Kerberos: 88/TCP、 88/UDP
LDAP ping: 389/UDP
DNS: 53/TCP、53/UDP

建立域信任时会用到的连接端口
位于不同林的域在建立“显性信任(explicit trust)”关系时,会用到以下的服务,因此如果这两个域的域控制器之间被防火墙隔开,就必须在防火墙开放这些服务的连接端口。
Microsoft-DS traffic: 445/TCP、445/UDP
Kerberos: 88/TCP、 88/UDP
LDAP:389/TCPAK 636/TCP(如果使用SSL)
LDAP ping: 389/UDP
DNS: 53/TCP、53/UDP
验证域信任时会用到的连接端口
两个域内的域控制器在验证信任关系时会用到以下的服务,因此如果这两台域控制器之间被防火墙隔开,就必须在防火墙开放这些服务的连接端口。
Microsoft-DS traffic: 445/TCP、445/UDP
Kerberos: 88/TCP、 88/UDP
LDAP:389/TCPAK 636/TCP(如果使用SSL)
LDAP ping: 389/UDP
DNS: 53/TCP、53/UDP
Net Logon service 无法被锁定在固定的一个RPC连接端口,也就是它是使用动态的RPC连接端口,此时我们如何开放连接端口呢?还好动态的RPC连接端口可以被限制在一个范围内

AD数据复制需要的端口- –
RPC 终结点影射器:135/TCP,135/UDP
NetBIOS 名称服务:137/TCP,137/UDP
NetBIOS 数据文报服务:138/UDP
NetBIOS 会话服务:139/TCP
RPC 动态分配:1024-65535/TCP
Microsoft-DS:445/TCP,445/UDP
LDAP:389/TCP
SSL 上的LDAP:636/TCP
全局编录 LDAP:3268/TCP
SSL 上的全局编录 LDAP:3269/TCP
Kerberos:88/TCP,88/UDP
DNS:53/TCP,53/UDP
WINS解析(如果需要):1512/TCP,1512/UDP
WINS复制(如果需要):42/TCP,42/UDP
AD用户密码修改:464/TCP
详细内容参见:Windows 服务器系统的服务概述和网络端口要求

有趣的UAC判断规则~

刚刚编译LZMA SDK,结果其中的一个项目编译后没法调试,一看编译出来的EXE右下角打了个小盾牌。。

于是感到非常的莫名其妙。SDK是纯C写的,根本没有添加资源,不可能靠写manifest文件来加UAC的。于是怀疑是导入表导入了某些函数?查了下导入表也没发现个所以然来。

最后很无语地发现,原来是因为。。编译的EXE文件名叫SfxSetup。。。

UAC会很弱智地从文件名判断是否启用UAC,文件名中带有setup、update、install等字样的都会被开启uac,这些文件名的程序反而要用manifest文件来取消默认添加的uac才行。。