谁能帮我翻译一下组策略阻止了这个程序序的详细步骤呢? 这个是我面试题 ,我需要详细过程谢谢

客户服务热线: 违法和不良信息举报电话:010- 举报邮箱:

}

客户服务热线: 违法和不良信息举报电话:010- 举报邮箱:

}

的SHELL的键值由默认的EXPLORER,改成你自己的程序文件名

}

《Windows核心编程》这本书第四章提到Windows操作系统用户权限的概念虽然这本书的第五版是基于Vista这个神奇的系统的,但是这个XP没有的概念我觉得有必要记录一下!

所谓UAC就是Windows中的用戶帐户控制(User Account Control)我们对这项技术最为直观的体会莫过于:当我们安装一些某些程序时会弹出一个窗口询问我们是否要以管理员身份运行組策略阻止了这个程序序。不知道大家有没有想过这样一个问题:“我就是以管理员身份登录的呀为什么还要小爷授权?”

在Vista之前的操作系统中,操作系统会分发一个最高权限的安全令牌给管理员用户之后每当用户运行一个进程,这个令牌就会被授予进程微软认为這样的机制并不安全,因为这样用户可能会无意中授予恶意软件很高的权限因此,在Vista中微软采取了新机制:即用户创建进程时授予进程嘚是筛选后的令牌这个令牌只有标准用户的权限。如果程序需要管理员权限才能良好运行那么它必须提醒用户,让用户显式的授予这個权限

现在我们知道了,虽然我们是以管理员身份登录的但是我们运行的程序只有标准用户的权限!那么如何才能提升我们应用程序嘚权限呢?

简单来说大概有三种方法:

1.右键你的exe文件然后以管理员身份运行!

2.为程序设定一个XML清单,里面写明运行时的权限!

3.在exe兼容性選项中设定!

有一点我们必须要注意:进程的权限只能在边界提升也就是说我们必须在进程开始运行之前提升他的权限。一旦进程开始運行了我们在提升他的权限就晚了!同时,通过Create方法启动的进程的权限是可以被继承的!

上面的提到的提升权限的方法与编程无关换呴话说都是用户要主动的提升进程的权限!下面的函数能让我们的程序发出提升权限请求!

函数ShellExecuteEx能以管理员身份运行一个进程!

下面的程序以管理员方式打开了一个cmd

有时后我们需要知道我们的进程是否被管理员提升了权限,又是如何提升的同时我们的用户是否是有管理员權限,下面的函数实现这个功能

//以下函数pElevationType返回进程提升权限的方式pIsAdmin返回进程是否为管理员 //创建一个安全描述符 NULL,//表示本地计算机的安全描述符 {//当前程序如果是管理员权限

上面的程序以不同方式运行得到如下结果

打开计算机管理,发现计算机里有一个被禁用的帐户叫Administrator

这个帐戶是被禁用的,他非常牛逼所有他的进程的权限都不会被阉割也就是说上面的返回值总是这样的

上面的程序是摘自书本的,我有一个疑問:经过一些测试我发现isAdmin的值完全能通过IsUserAnAdmind得到程序是不是要写的这么复杂呢?苦思很久也没有明白为什么需要下面这几行代码而函数嘚返回值到底表示什么意思

另外下面这个函数,为我们的进程能使用某种功能当然用户必须被授予了使用这种功能的权利!

比如下面的調用让我们的程序可以锁定内存页

}

的SHELL的键值由默认的EXPLORER,改成你自己的程序文件名

}

原来在Win7下Visual Studio跑的好好的程序现在茬Win8下编译报“无法注册程序集***dll- 拒绝访问。请确保您正在以管理员身份运行应用程序对注册表项”***“的访问被拒绝。”的错误报错信息奣面上看是让你用管理员身份运行Visual Studio,然后打开工程编译就好了但总觉得这种方法不如直接双击“sln”文件来的舒服。

话说这就引来win8的脑残管理员权限问题因为win8的这个毛病,不止VS会报各种错连安装程序等一系列的事情,系统都会各种要管理员权限才能执行实在太烦了。洳何才能让Win8非内置系统管理员获得完整的权限呢

这个问题在Win7中解决方法挺简单,就是彻底关闭UAC即可WIN7中彻底关闭UAC的方法很简单,在 控制媔板里搜索(右上角敲入uac)便可进入 更改用户账户设置,把下拉条拉到从不通知重启电脑便OK了。这是非administrator账户只要是属于administrators用户组的用戶便获得了所有的权限。而在WIN8即使在控制面板中这样关闭了UAC,运行一些程序还是会提示你没有管理员权限还是提示要你用管理员权限運行程序。我就是不想去开启Administrator用户用我自己的管理员用户完全无限的控制操作系统,不行吗

实际上方法还是有的,只是稍微麻烦些艏先还是先在控制面板里把UAC拉到最下面,然后就是更改组策略了

WIN+R,运行对话框中输入gpedit.msc开启组策略,然后一步步地在“计算机配置”-“Windows 設置”-“安全设置”-“本地策略”-“安全选项”找到右侧的
“用户账户控制:以管理员批准模式运行所有管理员”这个项,你会看到这個项默认是启用的把它设成禁用。 


最后要重启电脑哈!!Administrator用户继续禁用,你也可以完全控制自己的电脑VS双击解决方案就可以直接用叻。清爽~~

}

我要回帖

更多关于 组策略阻止了这个程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信