如何以管理员身份运行.bat

时间:2017-12-02 10:31:33

标签: batch-file

我有一个脚本正在查看PC是32位还是64位,并将该行作为其中一位开始。但是现在对于我们在域中的某些PC而言,它不会正确启动,在某些情况下它将打开UAC并且您必须输入管理员凭据。但对于其他人来说,它只会运行正确。我将.batch添加到GPO中,因此它将在Logon上运行,但现在我想要包含runas Admin部分,以便它始终运行。

我确实找到了一些带有runas的行,然后是管理员用户名,但没有人会要求输入密码。

Underneith ill添加我的脚本现在有效,但没有Runas部分。一些人可以帮助我吗?

@echo off
 if /i "%processor_architecture%"=="AMD64" GOTO AMD64
 if /i "%PROCESSOR_ARCHITEW6432%"=="AMD64" GOTO AMD64
 if /i "%processor_architecture%"=="x86" GOTO x86
 GOTO ERR
 :AMD64
    IF NOT EXIST "C:\Program Files (x86)\CentraStage" start \\addc01\netlogon\centrastage\AgentSetup_Unmanaged.exe
 GOTO EXEC
 :x86
    IF NOT EXIST "C:\Program Files\CentraStage" start \\addc01\netlogon\centrastage\AgentSetup_Unmanaged.exe
 GOTO EXEC
 :EXEC
    rem do arch independent stuff
 GOTO END
 :ERR
 @echo Unsupported architecture "%processor_architecture%"!
 :end

1 个答案:

答案 0 :(得分:0)

您考虑使用任务计划程序RunAs作为NT AUTHORITY \ SYSTEM,SchTasks/?,而不是使用GPO和/ru "System"运行脚本。

你可能会改进你的代码......

@Echo Off
Set "CS=%ProgramFiles(x86)%\CentraStage"
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 (
    Set "CS=%ProgramFiles%\CentraStage") 
If Exist "%CS%\" Exit/B
Start \\addc01\netlogon\centrastage\AgentSetup_Unmanaged.exe
Rem rest of code here