我们使用的是 Windows Server 2008 R2 O/S。我们要执行一个脚本,在夜间(凌晨 3 点左右)停止 sql server 2008 并复制所有数据文件。
我们希望这个过程自动完成,因为在凌晨 3 点,没有任何人可以作为管理员运行批处理文件。
我们尝试在以下链接BatchGetAdmin Script上使用 vbs 脚本
但没有成功。
我们也尝试过使用 runas 命令,但它要求输入密码,这对我们来说是无用的。
我们如何完成这个简单的任务?有任何想法吗?
这是我们尝试执行的脚本,但它显示“访问被拒绝”
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
net stop SERVER08
net stop SQLEXPRESS
net stop MSOLAP
net stop SQLBrowser
net stop MsDtsServer100
net stop ReportServer
net stop SQLWriter
net stop MSSQLFDLauncher