标题: [系统相关] 如何以管理员身份运行批处理文件执行添加共享打印机 [打印本页]
作者: 王小锤 时间: 2016-8-16 22:43 标题: 如何以管理员身份运行批处理文件执行添加共享打印机
在域中,普通用户没有管理员权限,在添加其他电脑的“共享打印机”时,出现“拒绝访问”,
切到管理员的桌面上,添加共享机却可以成功添加。
[求助]如何在CMD中使用runas命令,切换到管理员的CMD添加共享打印机?
作者: Batcher 时间: 2016-8-17 08:11
- runas /user:administrator "%systemroot%\System32\cmd.exe"
复制代码
作者: citygun 时间: 2016-8-17 15:30
本帖最后由 citygun 于 2016-8-17 15:33 编辑
我刚好也写了个安装打印机的批处理,在win10环境下安装批处理要提权后才可以,可以参考软媒魔方的代码进行提权操作。域环境没有测试,你可以试试。- ::::::::::::::::::::::::::::::::::::::::::::::::::::
- :: 软媒魔方自动添加批处理文件管理员权限::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::
-
- @echo off
- CLS
- ECHO.
- ECHO ================================
- ECHO 软媒魔方获取批处理文件管理员权限
- ECHO ================================
- CLS & COLOR 4F
- :init
- setlocal DisableDelayedExpansion
- set "batchPath=%~0"
- for %%k in (%0) do set batchName=%%~nk
- set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
- setlocal EnableDelayedExpansion
- :checkPrivileges
- NET FILE 1>NUL 2>NUL
- if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
- :getPrivileges
- if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
- ECHO.
- ECHO ********************************
- ECHO 请求 UAC 权限批准……
- ECHO ********************************
- ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
- ECHO args = "ELEV " >> "%vbsGetPrivileges%"
- ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
- ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
- ECHO Next >> "%vbsGetPrivileges%"
- ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
- "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
- exit /B
- :gotPrivileges
- setlocal & pushd .
- cd /d %~dp0
- if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
复制代码
提权后下面就可以写自己的代码了。
作者: 王小锤 时间: 2016-8-17 21:29
回复 2# Batcher
首先,谢谢您回复我,
我的问题是:要在“普通用户”中桌面上,切到管理员的cmd,再用cmd命令安装共享打印机,
作者: 王小锤 时间: 2016-8-17 21:31
回复 3# citygun
谢谢大神,看不懂这个bat,
到时候我试下行不行。
作者: GNU 时间: 2016-8-17 22:10
把你安装共享打印机的命令发出来看看
作者: yu2n 时间: 2016-8-17 22:19
推荐 pstools 中的 psexec.exe
作者: 王小锤 时间: 2016-8-18 09:22
回复 6# GNU
我没有找到相关的命令。
作者: 王小锤 时间: 2016-8-18 09:24 标题: runas问题
如何把runas的错误信息指定将find
作者: GNU 时间: 2016-8-18 10:37
回复 8# 王小锤
http://bbs.bathome.net/thread-29876-1-1.html#pid147514
http://bbs.bathome.net/thread-22205-1-1.html
先用管理员用户试试这两个方法能否成功。
没问题的话,再用runas命令执行脚本。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |