0

我进行了一些搜索并找到了对一个名为 winexe 的简洁小工具的引用(这很棒,因为 psexec 正是我想要模拟的),但它并没有按照我想要的方式工作......

我要做的是通过在 bash 中编写脚本来自动化我的内存转储过程(我通常在我的 Windows 机器上手动执行)。我将 Redline 文件夹复制到目标,与 psexec 连接,然后运行 ​​.bat脚本。效果很好。在我的 Linux 机器上尝试过,如果我将 winexe 与 cmd.exe 连接并手动运行 .bat,它就可以工作......

问题是,如果我尝试做类似的事情:

winexe -U=username%password //hostname 'cmd.exe /c C:\Temp\Redline\RunRedlineAudit.bat'

- 或者 -

winexe -U=username%password //hostname C:/Temp/Redline/RunRedlineAudit.bat

它反击:

Failure Encountered:
Privilege Escalation Script and/or Helper Script not found.

关于问题可能是什么以及如何解决它的任何想法?到目前为止,我想我可能只是一直编写脚本到 cmd.exe 连接,然后手动执行最后一步,但这并不有趣;)

批处理脚本:

@ECHO off
SETLOCAL enableextensions enabledelayedexpansion
SET elevate=.\elevate.cmd
SET helper\.\Helper.bat
SET args=%1

IF NOT EXIST "%elevate%" goto :failed
IF NOT EXIST "%helper%" goto :failed

For /f "tokens=2 delims=[]" %%G in ('ver') Do (set _version=%%G)
For /f "tokens=2,3,4 delims=. " %%G in ('echo %_version%') Do (set _major=%%G& set _minor=%%H& set _build=%%I)

if "%_major%"=="5" goto sub5
if "%_major%"=="6" goto sub6
Echo unsupported OS version
goto:eof
:sub5
call %helper% %args%
GOTO :end
:sub6
ECHO Requesting Elevation
call %elevate% %helper% %args%
GOTO :end

:failed
:ECHO.
:ECHO.
ECHO Failure Encountered:
ECHO Privilege Escalation Script and/or Helper Script not found.
GOTO :end

:end
ENDLOCAL
@ECHO on
4

2 回答 2

0

问题在于 elevate.cmd 和 Helper.bat 的路径。

当你执行时cmd /c C:\Temp\Redline\RunRedlineAudit.bat

cmd shell 将在用户的文件夹中执行 RunRedlineAudit.bat,它会

在那里搜索需要的文件。

要解决该问题,您应该在以下变量中将相对路径替换为绝对路径:

SET elevate=.\elevate.cmd

SET helper=.\Helper.bat

于 2015-04-29T19:09:44.970 回答
0

您能否发布您的 .bat 文件内容?

同时,尝试运行带有--system标志的winexe

于 2015-04-28T16:12:47.693 回答