Frage

Ich möchte einen Windows 2003 Server in Brand habe ein Skript ein weiteres Skript in einem separaten Windows Server abzufeuern 2008-Computer.

Ich habe gesagt, dass Powershell das tun können, und das ist in Ordnung, aber ich brauche mehr Details.

Hat jemand irgendwelche Tipps für das?

Danke!

War es hilfreich?

Lösung

psexec von SysInternals

Andere Tipps

Schauen Sie in die Syntax für den Befehl AT. Sie können es verwenden, um einen Prozess zu planen auf einem entfernten Rechner ausgeführt werden.

Der Befehl AT Pläne Befehle und Programme auf einem Computer ausführen zu eine bestimmte Zeit und Datum. Der Zeitplan-Dienst muss ausgeführt werden, zu verwenden, der AT-Befehl.

AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
    [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

\\computername     Specifies a remote computer. Commands are scheduled on the
                   local computer if this parameter is omitted.
id                 Is an identification number assigned to a scheduled
                   command.
/delete            Cancels a scheduled command. If id is omitted, all the
                   scheduled commands on the computer are canceled.
/yes               Used with cancel all jobs command when no further
                   confirmation is desired.
time               Specifies the time when command is to run.
/interactive       Allows the job to interact with the desktop of the user
                   who is logged on at the time the job runs.
/every:date[,...]  Runs the command on each specified day(s) of the week or
                   month. If date is omitted, the current day of the month
                   is assumed.
/next:date[,...]   Runs the specified command on the next occurrence of the
                   day (for example, next Thursday).  If date is omitted, the
                   current day of the month is assumed.
"command"          Is the Windows NT command, or batch program to be run.

einfachste Art und Weise, ist der Einsatz in zwei Schritten sein

a. Installation Cygwin auf Remote-PC

b. laufen ssh hudson @ mcs '/cygdrive/c/path_to_script.bat'

Beim Sprechen über PsExec, würde ich stark vorschlagen, anstelle von Cygwin / OpenSSH zu verwenden.

SSH hat mehrere Vorteile (über Tools wie PsExec oder auch maßgeschneiderte Dienstleistungen).
Versuchen Sie zum Beispiel mit PsExec zu verwenden und implementieren, was diese bash / ssh Befehlszeilen tun:

ssh user@remotehost "find . -name something" 2> all.errors.txt
ssh user@remotehost "grep -r something ."
if [ "$?" == "0" ]
then
    echo "FOUND"
else
    echo "NOT FOUND"
fi

Good Luck!

  • SSH-Transfer (!) Entfernt stdout / stderr / Exit-Status auf local Shell zur Inspektion
    (Killer-Feature und häufige Anforderung Remote-Ausführung in der Logik des lokalen Skripte zu integrieren)

  • Cygwin / OpenSSH bietet Standard POSIX-Shell-Umgebung
    (Effiziente Zeit Investitionen, grundlegende Werkzeuge, Cross-Plattform bereit, kompatibel Gewohnheiten, etc.)

  • Sie können immer noch / immer laufen alle nativen Windows-Anwendung
    (Einschließlich der automatischen Ausführung von *.bat Dateien durch cmd Prozessor)

  • Sie können kennwort weniger Auth mit den öffentlichen Schlüsseln konfigurieren
    (Denken Sie über die unbeaufsichtigte automatisierte Aufgaben)


Tipp:

Es war eine Forderung hatte ich Probleme mit anfänglich:
Hintergrund sshd Dienst hatte apps in Benutzers grafische Sitzung
auszuführen (Um Anwendungsfenster in Desktop-Umgebung angezeigt werden).

Die akzeptable Lösung für mich sshd Service lief direkt in Benutzer-GUI Sitzung
(Startet automatisch, wenn der Benutzer anmeldet, folgen Sie dem Link, um Konfigurationsdatei Änderungen zu sehen):

/usr/sbin/sshd -f /home/user/sshd_config

Die akzeptierte Lösung von http://www.experts-exchange.com /OS/Microsoft_Operating_Systems/Q_22959948.html ist:

  

Was bietet mir ein Drehbuch, das dauert   Parameter ... In diesem Fall dauert es 4.   1) Server: Wenn Sie -Server passieren, es wird   nur tun, dass ein Server 2) Liste: Sie   stellt eine Liste Datei-Server kann.   3) Service: Name des Service, den Sie   möchten 4) Ausführlich ändern: nicht   verwendet hier.

     

habe ich einige Fehler, die ich   im folgenden Code geändert. Benutzen   Ausschneiden / Einfügen des Code in eine Datei mit dem Namen   Set-RemoteService.ps1. Stellen Sie sicher, dass   stellen Sie Ihren executionpolicy laufen   Skripte ... es wird nicht standardmäßig aktiviert. Sie   tun, dass durch die Verwendung von   Set-executionpolicy Cmdlets. PS>   Set-ExecutionPolicy "RemoteSigned" zu   Führen Sie das Skript PS tun>   C: \ PathToScript \ Set-RemoteService.ps1   -Liste c: \ serverlist.txt -Dienst "DHCP"

     ######################### Param ($ Server $ Liste, $ service [Schalter] $ ausführlich)      

if ($ Verbose) {$ VerbosePreference =   "Weiter"} if ($ list) {       foreach ($ SRV in (get-content $ list))       {           $ Query = "select * from Win32_Service wo Name = '$ service'"           $ MyService = get-WmiObject -query $ query -Computer $ SRV           $ MyService.ChangeStartMode ( "Automatic")           $ MyService.Start ()       }} If ($ Server) {       $ Query = "select * from Win32_Service wo Name = '$ service'"       $ MyService = get-WmiObject -query $ query -Computer $ server       $ MyService.ChangeStartMode ( "Automatic")       $ MyService.Start ()}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top