关于用其它用户运行程序(同时以管理员权限运行)

有这个一个需求:

1、不允许当前用户访问某个文件夹

2、但是程序可以访问(新增、编辑、删除等操作)

结论是这样:创建一个管理员用户对指定文件夹有操作权限,同时拒绝其它用户的访问请求

步骤一:

net user 用户名 密码 /add
net localgroup administrators 用户名 /add

步骤二:将之前的用户授权允许访问指定文件夹,其他用户拒绝(需要用到icacls命令,net user命令)

@echo off

set user=%1
set dir=%2

echo y|icacls %dir% /setowner %user% /t /c /l

for /f "skip=4 tokens=1-3" %%i in ('net user') do (
	if not "%%i"=="命令成功完成。" call :setright %%i
	if not "%%j"=="" call :setright %%j
	if not "%%k"=="" call :setright %%k
)

:setright
if "%1"=="%user%" @echo y|cacls %dir% /e /t /p "%1":F
if not "%1"=="%user%" @echo y|cacls %dir% /e /t /p "%1":N

OK,用户准备好之后可以用runas命令来执行,大概是这个样子

runas /user:用户名 待执行命令

需要说明的是这个runas命令需要手工输入用户密码,可以加/savecred参数保存,但这毕竟不方便

通过一番查找,发现有这样的工具可以替换runas,即CPAU.exe和lsrunase.exe

这两个工具都可以完成runas的操作,而且可以在命令行参数中加密码,密码还可以加密

 

But,我的目标程序必须使用管理员权限执行,所以直接通过以上两个程序运行时,会提示:“740 请求的操作需要提升”

反正就是没法以管理员权限运行

记得好像在命令行下执行需要管理权限的程序是可以的,会弹出UAC提示框,那么先以其它用户名密码运行一个命令行然后在命令行中运行目标程序如何呢?答案是:可以,我了个去!

下载地址:CPAU程序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值