Windows新建一个标准用户[权限受限]来隔离运行微信等国产流氓软件

对付各种国产流氓软件确实没有什么好方法,很多时候又不能不用。除了忍受,还可以用虚拟机,沙箱等等直接隔离使用,只是自己觉得有点大材小用了,性能损耗,便利性也要打折扣。

看到少数派上有写新建一个账户就能隔离毒瘤应用,可能部分实在是流氓到不行,还是有可能ACL渗透提权运行,对于多数软件还是可以做到相对隔离使用的,也没有性能损耗,至少心里上是一个安慰,通过这种方法也可以实现微信多开,也是挺好的。

1.1、新建账户,打开powershell:

 netplwiz

添加——不使用 Microsoft 账户登录——本地账户

账户名称随意,比如test,设置一下密码。确认一下test用户,只属于 Users 组。

创建用户之后会在c盘生成用户文件夹:C:\Users\test

1.2、如果觉得放用户创建在c盘占用空间,毕竟一些软件还是喜欢乱创建文件的,可以在创建用户之前,其他盘创建一个用户文件夹,软连接到C盘C:\Users\用户文件夹,以管理员身份打开cmd:

#test就是用户名,D:\test就是移动到这个文件夹,自己喜欢的改。
mklink /j "C:\Users\test" "D:\test"

创建完标准用户,登录界面先不要切换到这个用户,会生成很多没有必要的文件。如果不是和别人共享电脑,没有太大必要切换到标准用户使用,太麻烦了。

自己用还是在管理员用户下简单方便,在管理员用户下创建脚本,使用标准用户去执行程序,标准用户权限有限还可以设置一些组策略规则,达到类似隔离应用的效果,被隔离的应用只能读写公共可读写的位置和隔离账户的资料库,被隔离的应用只能修改被隔离账户的设置。

当然一些病毒软件,隔离了也不一定管用,所以对于一些来路不明自己不放心的,还是虚拟机比较实在。

2、以标准用户test来安装运行软件,打开powershell:

#添加凭据支持,然后在弹出的窗口中输入用户名test和密码。
$cred = Get-Credential

#使用test的登陆凭据打开新的powershell窗口
Start-Process powershell -ArgumentList '-Command Start-Process powershell' -Credential $cred -LoadUserProfile

在新打开的powershell窗口下运行

#新的powershell查看是否是使用test用户登录,返回test就是
$env:Username

#设置环境变量以非管理员身份运行软件
$env:__COMPAT_LAYER = 'RunAsInvoker'

#安装或者运行exe
& '软件包路径'

#打开任务管理器,详细信息,查看一下有没有以test用户来运行。
taskmgr.exe

你要安装或者运行软件就这样就可以了,所有流氓软件都用这个账户去运行,让他们打架就可以了,或者多建几个账户也可以。

安装完软件,一般会在安装目录,有一个xxx.exe来运行主程序,可能很多个需要耐心测试一下了,下一次运行这个程序就可以了。

3、创建一个powershell脚本来启动程序,不然每一次运行都要在命令行中搞也是挺麻烦的,可以先创建一个xxx.ps1脚本,名称随意,放在哪里都行,比如test用户目录,C:\Users\test\xxx.ps1。

3.1、打开powershell:

#添加凭据支持,然后在弹出的窗口中输入用户名test和密码。
$cred = Get-Credential

# 保存密码并复制到剪贴板
$cred.Password | ConvertFrom-SecureString | Set-Clipboard

使用ise编辑那个xxx.ps1脚本:

#把xxx换成刚刚复杂到剪切板的加密的密码
$password = 'xxxx'

#把test用户改成你自己的用户名
$cred = [pscredential]::new('test用户', ($password | ConvertTo-SecureString))

#把xxx程序路径改成你需要运行的程序的路径即可。
Start-Process powershell -ArgumentList "-Command Start-Process 'xxx程序路径及文件名'" -Credential $cred -LoadUserProfile -WindowStyle Hidden

保存,用powershell运行这个脚本就可以用test用户运行这个程序了,可以打开任务管理器查看。

如果觉得每一次以powershell运行这个脚本,都出现一个窗口不好看,可以简单创建一个快捷方式,修改一下图标就可以了。

如果需要运行某一个离线安装的程序,只要复制一下这个脚本,修改一下程序路径即可。

3.2、在桌面或者随便什么地方,右键新建一个快捷方式:

目标:

#把C:\Users\test\xxx.ps1改成你自己的脚本位置即可
powershell -ExecutionPolicy Unrestricted -File "C:\Users\test\xxx.ps1"

然后修改一下属性,运行方式改成最小化,然后修改一下图标即可。

4、标准用户权限和组策略,当然对于一些实在是流氓的软件,标准用户也能做很多事,还可以修改一下组策略。

4.1、除了管理员文件以外,有些流氓软件其他文件夹可能也会扫,也可以拒绝标准用户的一些读写权限。右键文件夹属性,安全——高级——禁用编辑,然后返回,编辑——输入对象名称,就是你设置的标准用户test——检查名称,确定添加一下,修改一下权限,拒绝就可以了。

4.2、还可以使用“本地安全策略”限制标准用户安装软件的权限。

#本地安全策略
secpol.msc

安全设置-本地策略-安全选项中找用户帐户控制:标准用户的提升行为选自动拒绝提升请求。
用户帐户控制:检测应用程序安装并提示提升选已禁用。

其他安全策略也可以根据自己的需求修改。

4.3、使用“本地组策略编辑器”对标准用户定制组策略,如果有耐心可以慢慢去限制一些没有必要的权限。

#进入控制台
mmc.exe

点击文件;选择添加/删除管理单元选项;在可用管理单元下,选择本地用户和组;单击添加按钮。此项添加后,可以把标准帐户更改密码的权限关闭。

点击文件;选择添加/删除管理单元选项;在可用管理单元下,选择组策略对象编辑器;浏览;用户,选择标准用户test;确定,完成。

然后文件另存为,xxx.msc即可创建标准用户并完成添加Windows管理工具,下一次就可以直接打开这个文件修改组策略就可以了。

修改一些组策略,比如防止从“我的电脑”访问驱动器”:

在打开的本地组策略编辑器窗口中依次点击用户配置/管理模板/Windows组件/文件资源管理器菜单项;在右侧打开页面中找到防止从“我的电脑”访问驱动器”快捷链接,并双击打开其属性设置窗口;在打开的防止从“我的电脑”访问驱动器”编辑窗口中,选择已启用一项,最后点击确定按钮。

5、隐藏test标准用户,如果你是一个强迫症,不希望在欢迎屏幕看到这个隔离账户,这时可以通过编辑注册表把它隐藏:

新建文件,名为 Hide-IsolatedUsers.reg,输入以下内容,并将test 替换为你实际建立的用户名称:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
"test"=dword:00000000

要恢复的话,就删除这个注册表就可以了。

6、测试运行一个离线版的qq看看。

想要绿化,需要提权操作。

qq想要访问管理员目录,也需要权限。

最后视频教程:https://www.bilibili.com/video/BV1EY4y1A7gX

留言

* - 必填