不切换账号给User权限用户安装软件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不切换账号给User权限用户安装软件相关的知识,希望对你有一定的参考价值。

参考技术A 为了信息安全,总部给普通用户只有User权限。当用户需求安装或升级软件时,Local IT不能以用户当前登入的账号来安装或升级软件。windows7也不像XP或者WIN10会弹出授权账号登入框。所以windows7 User用户要安装软件需要切换管理员账号,非常麻烦。

这个命令可以免去切换账号的麻烦,它就是“runas”。

例如:某用户安装通联插件,将安装文件复制到e盘了,运行runas /user:administrator e:\AllinpayEdge.exe 

然后输入administrator的密码回车,密码正确就会已管理员身份运行次文件。

也可以用此方法打开cmd运行更高权限命令   

欢迎评论交流!

execute as login 切换上下文


作为DBA,可能经常需要帮助Developer排除有关权限的问题。要确认某个账号是不是已经拥有了某权限,DBA并不需要使用该账号的登录名和密码进行验证,只需使用execute as语句,将当前会话的上下文切换到指定的login(登录)或者user(用户),就可以验证该账号是否拥有某权限。

 

execute as user=‘user_name‘

该语句模拟的上下文是当前数据库中的user,模拟范围仅限于当前数据库,任何对该数据库以外的资源的访问尝试都会导致失败,不管该user是否拥有相应权限。

 

execute as login=‘login_name‘

该语句模拟的上下文是一个login,模拟范围处于服务器级别,可以访问当前数据库之外的资源,只要该login拥有相应权限。

select spid,loginame from master..sysprocesses where [email protected]@spid

查看当前的登录名和用户名

SELECT SUSER_NAME(), USER_NAME();

 

 


USE AdventureWorksLT2008R2;

GO

--Create two temporary principals

CREATE LOGIN login1 WITH PASSWORD = ‘J345#$)thb‘;

CREATE LOGIN login2 WITH PASSWORD = ‘Uor80$23b‘;

GO

CREATE USER user1 FOR LOGIN login1;

CREATE USER user2 FOR LOGIN login2;

GO

--Give IMPERSONATE permissions on user2 to user1

--so that user1 can successfully set the execution context to user2.

GRANT IMPERSONATE ON USER:: user2 TO user1;

--REVOKE IMPERSONATE ON USER:: user2 TO user1;

GO

--Display current execution context.

SELECT SUSER_NAME(), USER_NAME();

-- Set the execution context to login1.

EXECUTE AS LOGIN = ‘login1‘;

--Verify the execution context is now login1.

SELECT SUSER_NAME(), USER_NAME();

--Login1 sets the execution context to login2.

EXECUTE AS USER = ‘user2‘;

--Display current execution context.

SELECT SUSER_NAME(), USER_NAME();

-- The execution context stack now has three principals: the originating caller, login1 and login2.

--The following REVERT statements will reset the execution context to the previous context.

REVERT;

--Display current execution context.

SELECT SUSER_NAME(), USER_NAME();

REVERT;

--Display current execution context.

SELECT SUSER_NAME(), USER_NAME();


--Remove temporary principals.

DROP LOGIN login1;

DROP LOGIN login2;

DROP USER user1;

DROP USER user2;

GO

以上是关于不切换账号给User权限用户安装软件的主要内容,如果未能解决你的问题,请参考以下文章

AD域用户安装软件

公司域用户无法使用已安装的软件,打开总是提示需要管理员密码,这可怎么解决?

Linux普通用户怎么安装软件

vsftp软件安装部署

域内电脑装软件打开要用管理员账号才能打开

为啥我安装软件老是要管理员权限进行安装