Execute a batch file on a remote PC using a batch file on local PC

后端 未结 4 1268
日久生厌
日久生厌 2021-02-19 02:33

I want to execute a batch file

D:\\apache-tomcat-6.0.20\\apache-tomcat-7.0.30\\bin\\shutdown.bat

Which is on my server inidso

相关标签:
4条回答
  • 2021-02-19 03:00

    You can use WMIC or SCHTASKS (which means no third party software is needed):

    1) SCHTASKS:

    SCHTASKS /s remote_machine /U username /P password /create /tn "On demand demo" /tr "C:\some.bat" /sc ONCE /sd 01/01/1910 /st 00:00
    SCHTASKS /s remote_machine /U username /P password /run /TN "On demand demo" 
    

    2) WMIC (wmic will return the pid of the started process)

    WMIC /NODE:"remote_machine" /user user /password password process call create "c:\some.bat","c:\exec_dir"
    
    0 讨论(0)
  • 2021-02-19 03:00

    While I would recommend against this.

    But you can use shutdown as client if the target machine has remote shutdown enabled and is in the same workgroup.

    Example:

    shutdown.exe /s /m \\<target-computer-name> /t 00
    

    replacing <target-computer-name> with the URI for the target machine,

    Otherwise, if you want to trigger this through Apache, you'll need to configure the batch script as a CGI script by putting AddHandler cgi-script .bat and Options +ExecCGI into either a local .htaccess file or in the main configuration for your Apache install.

    Then you can just call the .bat file containing the shutdown.exe command from your browser.

    0 讨论(0)
  • 2021-02-19 03:02

    Use microsoft's tool for remote commands executions: PsExec

    If there isn't your bat-file on remote host, copy it first. For example:

    copy D:\apache-tomcat-6.0.20\apache-tomcat-7.0.30\bin\shutdown.bat \\RemoteServerNameOrIP\d$\apache-tomcat-6.0.20\apache-tomcat-7.0.30\bin\
    

    And then execute:

    psexec \\RemoteServerNameOrIP d:\apache-tomcat-6.0.20\apache-tomcat-7.0.30\bin\shutdown.bat
    

    Note: filepath for psexec is path to file on remote server, not your local.

    0 讨论(0)
  • 2021-02-19 03:07

    If you are in same WORKGROUP shutdown.exe /s /m \\<target-computer-name> should be enough shutdown /? for more, otherwise you need software to connect and control the target server.

    UPDATE:

    Seems shutdown.bat here is for shutting down apache-tomcat.

    So, you might be interested to psexec or PuTTY: A Free Telnet/SSH Client

    As native solution could be wmic

    Example:

    wmic /node:<target-computer-name> process call create "cmd.exe c:\\somefolder\\batch.bat"

    In your example should be:

    wmic /node:inidsoasrv01 process call create ^
        "cmd.exe D:\\apache-tomcat-6.0.20\\apache-tomcat-7.0.30\\bin\\shutdown.bat"
    

    wmic /? and wmic /node /? for more

    0 讨论(0)
提交回复
热议问题