0

Windows Server 2008 R2 O/Sを使用しています。夜間(午前3時頃)にSQL Server 2008を停止するスクリプトを実行し、すべてのデータファイルをコピーします。

午前3時に、管理者としてバッチファイルを実行するための機関が利用できないため、このプロセスを自動的に実行する必要があります。

次のリンクでvbsスクリプトを使用してみましたBatchGetAdminスクリプト

しかし、成功しません。

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
4

1 に答える 1

0

スケジュールを作成していた同期バックソフトウェアに問題があったと思います。私はwin2008スケジューラーを使用しましたが、スクリプトは問題なく機能します。

于 2012-06-25T03:54:47.910 に答える