我正在尝试使用net share
编写批处理文件以在我的网络中共享文件夹,但它需要管理员权限。我不知道如何在管理模式下执行此命令。
在Windows搜索中右键单击cmd.exe并选择“以管理员身份运行”时,它不会向我询问密码,但是当我使用runas
命令编写批处理代码时,它会要求输入密码。为什么会这样?
我使用了以下命令
runas.exe /profile /user:administrator "cmd.exe"
start /wait cmd.exe /k "net share Inputs=Folder_Path /GRANT:Everyone,FULL"
并没有奏效。
我正在使用Win 7 32位
另外,在某个地方,我看到在共享文件夹之后也会执行以下操作
Icacls Folder_Path /grant Everyone:F /inheritance:e /T
这需要吗?
请帮忙
答案 0 :(得分:4)
如果您希望批处理脚本在需要时要求提升,this page可能会对您有所帮助。我将其改编为在我从网上提供的批处理脚本中使用,如下所示:
REM --> Check for permissions
"%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system">nul 2>NUL
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
if exist "%temp%\getadmin.vbs" (
del "%temp%\getadmin.vbs"
echo Failed to acquire elevated privilege. Try saving this script and running it from your Desktop.
echo;
echo Press any key to exit.
pause>NUL
goto :EOF
)
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "%*", "", "runas", 1 >> "%temp%\getadmin.vbs"
cscript /nologo "%temp%\getadmin.vbs"
goto :EOF
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:--------------------------------------
:: The rest of the script goes here...
关于“尝试保存此脚本”消息,如果用户尝试直接从Web浏览器打开批处理脚本,则浏览器安全性可能会阻止提升。我必须包含它以提醒我的用户先保存脚本,然后在Web浏览器外独立运行。
无论如何,盐味。