Befehl übers Netzwerk auf Windows PC ausführen?

mensa

Banned
Registriert
Okt. 2005
Beiträge
136
Hallo,

ich würde von einem Debian 10 Rechner gerne per Script übers LAN auf meinen Windows 10 PC einen Befehl ausführen.

Vermutlich geht das auf beiden Seiten nicht mit Boardmitteln, oder?

Mir wäre egal, dass User und PW im Klartext gespeichert werden müssen.

Hat jemand einen Tipp, wie man sowas hinkriegt?
 
Einen Konsolenbefehl aka dir oder ping oder shutdown?

Schau mal hier.
https://lxadm.com/Accessing_Windows_console_remotely_from_Linux

Das Gegenstueck in der Windows <->Windows-Welt ist Sysinternals (Microsoft) PSEXEC.

Dran denken, dass der Benutzer mit dem Du auf der Kiste aufschlaegst lokal auf der Windose existent ist und die erforderlichen Rechte hat und in der Gruppe der Administratoren und/oder Remotedesktopbenutzer ist.

BFF
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: areiland und Raijin
Unter Debian kannst du über rpc (enthalten im Paket samba-common) Windows Remote Procedure Calls ausführen.
 
Unter beiden kann man inzwischen auch PowerShell verwenden. Da gibt es zum einen den Parameter-ComputerName und zum anderen das cmdlet Invoke-Command.
 
  • Gefällt mir
Reaktionen: konkretor
Guten Morgen, puh soo viele Vorschläge :)
Jetzt muss ich erst mal die Augen aufkriegen welchen wo ich beginnen soll.

Also die Linux Maschine ist wie gesagt mit Debian 10 und soll auf der Windows Maschine einen Befehl ausführen. Z.B per Befehl das Monitor Profil den Pper HDMI angeschlossenen TV als Bildschirm aktivieren, oder die Workstation sperren. Ob und wie die Befehle dann funktionieren, wräre vorerst ja egal.

Möchte es zum Testen einfach mal schaffen dass ich z.B. zum Testen einen Text in eine Datei schreibe und wenn es möglich ist auch ein Programm in der GUI des gewünschten Users einfach öffnen lassen.

Also mit der PowerShell sollte das auf beiden Seiten schon mit Boardmitteln möglich sein?
 
RPC fällt schon mal weg, da das nur bestimmte vorgefertigte Prozeduren aufrufen kann und keine eigenen Scripts, oder?

Wollte gerade Winexe nach diese Anleitung hier installieren, aber leider tritt beim make Befehl ein Fehler auf: https://www.aldeid.com/wiki/Winexe

Code:
root@debian:~/winexe-1.00/source4# make basics bin/winexe
Creating heimdal/lib/asn1/der-protos.h
syntax error at heimdal/cf/make-proto.pl line 15, near "do Getopts("
Execution of heimdal/cf/make-proto.pl aborted due to compilation errors.
make: *** [data.mk:197: heimdal/lib/asn1/der-protos.h] Error 255

Hat jemand eine Idee wie man das sonst installieren könnte, oder gibts evtl. Binaries, oder eine Möglichkeit einfach per apt-get zu installieren?
 
Kann man nicht am Windows PC eh einen ssh Server installieren (optionales Windows Feature bzw. Alternativ auch cygwin ssh Server) und dann wieder ssh Befehle ausführen?

Das würde am Linux PC keine zusätzliche Software benötigen und mit ssh kann man ja auch Single commands quasi im batch mode ausführen.
 
Per SSH kann ich aber nicht aus einem Script von Linux aus zugreifen, da man das Passwort jedes mal manuell eingeben muss, oder?

Mir wäre jene Lösung generell am liebsten, wo am wenigsten oder gar keine zusätzlichen Tools installiert werden müssen.
 
Ah, ok, danke.
Aber wo genau wäre denn der Windows SSH Server zu installieren?
Würd nämlich das gerne über die Windows-Features machen, wenn das wirklich möglich is?

Screenshot000820.jpg

Ergänzung ()

Naja, eigentlich würde mir sowas einfaches wie WINEXE sehr gut gefallen und dafür bräuchte man nichts zusätzliches am Windows PC installieren / konfigurieren. Das wäre eh schon genial, aber leider bekomme ich es nicht installiert. Könnte mir da bitte jemand helfen @BFF @dauerbrutzler? Oder gibt es fertige Binaries für Debian 10 x64?
 
Zuletzt bearbeitet:
@mensa
Der SSH-Server kann unter "Windows Einstellungen -> Apps -> Apps & Features -> Optionale Features verwalten -> Feature hinzufügen" installiert werden.

Wie von @KuestenNebel schon geschrieben kann man bei SSH eine Key-Authorisierung einrichten somit aus Scripts via SSH Remote-Commands absetzen.

Installieren musst du sowieso etwas - entweder SSH auf Windows oder WINEXE auf Linux.
 
Danke, ich hätte den OpenSSH Server schon installiert und bin auch schon verbunden.
Ich kann schon Windows Befehle absetzen und z.B. Text in Dateien schreiben lassen.

Ein Programm in der Sitzung des Users kann ich allerdings leider nicht starten lassen. Wenn ich z.B. calc.exe ausführe, dann kommt kein Fehler, aber es passiert halt einfach auch gar nichts. Wisst ihr, wie man das hinkriegt, oder wie man mitteilt, dass man in die User Session möchte?

Das Programm was ich eigentlich ausführen möchte ist "Monitor Profile Switcher" und benötigt keine GUI, sondern es muss nur eine .exe mit Parameter aufgerufen werden, dann wird sofort das Bild auf den TV umgeschaltet. Wenn ich das in der CMD am PC direkt mache klappt es, wenn ich es über SSH mache kommt kein Fehler, aber es tut sich gar nichts:

Code:
"C:\Program Files (x86)\Monitor Profile Switcher\MonitorSwitcher.exe" -load:"C:\Users\mensa\AppData\Roaming\MonitorSwitcher\Profiles\TV.xml"
Ergänzung ()

Vermutlich werden meine Vorhaben per SSH nicht funktionieren, da OpenSSH auf Windows in der isolierten Session 0 läuft und somit nichts gestartet werden kann.

Ich wäre für ein paar Tipps sehr dankbar, mit WINEXE müsste es klappen, aber ich krieg es leider nicht zum Laufen.
 
Zuletzt bearbeitet:
Man kann sich remote außer per rdp oder rnc&co nicht mit einer existierenden Usersession verbinden. Das steht dem Problem konträr gegenüber: die Idee ist, remote etwas auszuführen, und nicht, jemanden am anderen Ende zu erfordern, damit dieses Etwas ausgeführt werden kann.

Vielleicht hat noch wer anders eine Idee, aber meines Wissens geht entweder der Automatismus in eigener Session oder Interaktivität in einer existierenden, aber nicht überkreuz.
 
Zurück
Oben