Verwenden von Shadowing für Windows-Benutzerunterstützung und Fernsteuerung
Update 07.05.2024 Auf Win11 ist evtl. das Deaktivieren der GPO https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policie ... von Nöten, sonst ist das geshadowte Bild schwarz!
Dieser Beitrag richtet sich an Admins, die in einem Windows-Netzwerk Endbenutzer-Support leisten und dazu Fernsteuerungssoftware brauchen. Die gezeigte Methode ist meiner Meinung nach einzigartig: in Windows eingebaut, sicher, einfach einzurichten und kein Internetzugang erforderlich.
Warum sollte man es gerade so verwenden wollen?
Ich liste auf, welche anderen Methoden es gibt und warum ich diese nicht empfehlen würde.
Software von Drittanbietern kostet in der Regel Geld. Sogar kostenlose Fernsteuerungssoftware wie UltraVNC hat einige Herausforderungen: Wie deployen und pflegen, wie prüfen wir die Sicherheit, was tun, wenn das Projekt plötzlich eingestellt wird?
Schauen wir uns nun die in Windows 10 integrierten Funktionen an. Seit Ewigkeiten bietet Microsoft das Tool msra.exe (Microsoft Remote Assistance) an, mit dem man einen Helfer einladen und seine Sitzung mit einem Code authentifizieren kann. Lange Zeit hatte ich dieses Tool verwendet und einen Weg gefunden, es zu automatisieren, so dass Benutzer sich nicht mit Codes befassen mussten, sondern einfach auf eine Verknüpfung "um Hilfe bitten" klickten und ich klickte dann auf "Hilfe starten", und los ging’s.
Kürzlich habe ich msra.exe aufgegeben, denn msra.exe hat in den aktuellen Windows 10-Versionen ein komisches Verhalten gezeigt: Auf Computern ohne Internetzugang würde es 45 Sekunden warten, bevor es gestartet wird. Alle Versuche, dies zu ergründen, waren erfolglos und vermeintliche Lösungen waren nicht zuverlässig.
Daraufhin habe ich mir “Quick Assist” angesehen, ebenso eingebaut. Dafür ist leider ein Internetzugang erforderlich, sodass wir QA in unserem gesicherten Netzwerk auf keinem Computer verwenden können. Darüber hinaus funktioniert es nur, wenn man es mit einem Microsoft-Konto startet. Kein Microsoft-Konto, kein Quick Assist, sorry.
Als verbleibende Option blieb Shadowing. Shadowing ist wie msra.exe auf den Remotedesktopdienst des Clients angewiesen. Während aber die standardmäßige Verwendung des Remotedesktopclients eine eigene Sitzung auf dem Remoteclient erstellt, bietet Shadowing die Verwendung und Anzeige einer vorhandenen Sitzung an.
Wie funktioniert es im Detail? (getestet auf Windows 10 1903/1909)
Zum Shadowing ruft man mstsc.exe („Microsoft Terminal Services Client“) mit dem Parameter /shadow gefolgt von einer Sitzungsnummer auf. Dieser Befehl muss natürlich an einen Zielcomputer (Parameter /v) gerichtet werden und eine zu spiegelnde Sitzung benennen. Siehe dieses Beispiel:
Dieser Befehl zielt auf PC1 und spiegelt Sitzung 1. Der Parameter "/control" fragt den Zielbenutzer, ob wir seine Sitzung auch steuern können, also auch Maus und Tastatur zur Verfügung haben.
Dem Benutzer, dem wir helfen, wird ein Popup-Fenster mit einer Fernsteuerungsanforderung angezeigt, dem er zustimmen muss, bevor die Sitzung beginnt.
Funktioniert das sofort? Nein, wir müssen zuerst die Verwendung des Shadowings auf den Zielcomputern mithilfe dieser GPO-Einstellung konfigurieren: gpedit.msc -> Computerkonfiguration / Administrative Vorlagen / Windows-Komponenten / Remotedesktopdienste / Remotedesktopsitzungs-Host / Verbindungen und aktiviert die Richtlinie "Regeln für Remotesteuerung von Remotedesktopdienste-Benutzersitzungen festlegen".
Bitte beachten: Es gibt auch einen Parameter /noconsentprompt, mit dem der Administrator die Benutzersitzung spiegeln kann, ohne dass der Benutzer seine Zustimmung erteilt. Vorsicht: Wer diesen Parameter verwenden möchte, muss auf jeden Fall sicherstellen, dass dies konform mit den Datenschutzbestimmungen Eures Unternehmens ist, da hiermit Benutzer ausspioniert werden können, ohne dass diese es merken. Microsoft hat sichergestellt, dass per default nur Administratoren Shadowing verwenden dürfen und dass der Remotecomputer vorkonfiguriert werden muss, um eine Verbindung ohne die Zustimmung des Benutzers zu ermöglichen. Seid erneut gewarnt: Benutzer müssen wissen, wie dies konfiguriert und verwendet wird, da Ihr sonst große Probleme bekommen könnt.
Nun zu der Sitzungsnummer (die in meinem Beispiel 1 war) - wie finden wir diese heraus, oder ist sie immer 1?
Nein, leider nicht. Sitzungsnummern können von jedem Benutzer in der Befehlszeile mit dem Befehl qwinsta aufgelistet werden. Sehen wir uns eine Standardausgabe von qwinsta an:
Hier hat der Benutzer "loser" also die Sitzungs-ID 2.
Können wir diese Sitzungs-ID von einem entfernten Standort aus abfragen? Ja!
Wenn Euer Support-Benutzer Zugriff auf den SMB-Port TCP 445 auf dem Remote-Computer hat, könnt Ihr diese Sitzungs-ID von Remote abfragen. Der Befehl wäre einfach:
und die Ausgabe würde genauso aussehen wie im Bild zuvor.
Es bleibt zuletzt zu klären: Wie verbinden wir uns, welcher Port wird von Shadowing verwendet, ist es der RDP-Port? Nein! Erstaunlicherweise muss Port 3389 nicht einmal auf dem Ziel-PC geöffnet sein, damit dies funktioniert. Der Remotedesktopdienst muss jedoch ausgeführt werden, aber der Port ist nicht 3389. Stattdessen handelt es sich um einen zufällig gewählten Highport. Glücklicherweise hat Microsoft eine Firewall-Regel für das Shadowing vordefiniert, die wir mithilfe von Gruppenrichtlinienobjekten bereitstellen müssen:
Für den Fall, dass Euer Support-Benutzerkonto auf den Remotecomputern Admin ist und Zugriff auf den Port TCP 445 (smb-Filesharing-Port) auf allen Remotezielen hat, ist es sehr einfach: es sind nur zwei Zeilen Batchcode (nennen wir Folgendes shadow_v1.bat):
Startet man die Batch, wird man nach dem Namen des Zielcomputers gefragt. Anschließend wird sofort eine Spiegelung der Konsolensitzung eingeleitet.
Der Benutzer an der Remote-Maschine muss seine Zustimmung geben,
und das war‘s schon, Ihr könnt ihm helfen
Eigentlich wäre ich hier fertig...
Aber angenommen, weder Ihr, noch die Person, die Ihr unterstützen möchtet, kennt den Remote-Computernamen oder seinen eigenen Usernamen nicht (soll's geben). Was tun?
Meiner Meinung nach sollte dies gelöst werden, indem der entfernte Benutzer auf eine Batch klickt, die den Computernamen und seine Sitzungsnummer ausliest und in eine Datei help.txt schreibt (ich nenne Folgendes helpme.bat):
Nun würde der Supporter diese Datei wie folgt verwenden (ich werde Folgendes shadow_v2.bat nennen):
Fertig!
Zusammengefasst was vorzubereiten ist:
1 Erstellt eine GPO, die das Shadowing mit Zustimmung des Nutzers erlaubt, und deployt es für die Clients
2 Erstellt eine Firewall-Regel, die die Shadowing-Ports mindestens für den Bereich der Computer öffnet, die Ihre Unterstützer verwenden, und deployt sie (evtl. in der selben GPO)
3 Abhängig davon, ob Remotecomputername und Nutzername bekannt sind, oder nicht, verwendet der Supporter shadow_v1.bat oder shadow_v2.bat. Da shadow_v2.bat auf einer Datei basiert, die von den Benutzern erstellt wurde, die helpme.bat ausführen, muss man helpme.bat auf deren Desktops deployen (per group policy preferences), oder vorzugsweise eine Verknüpfung zu dieser Batch, gepaart mit einem gut aussehenden Icon. Es muss eine Freigabe bereitstehen, auf die alle Nutzer mittels helpme.bat schreiben können
[4 Wer zunächst Port 445 auf den Clients öffnen muss, kann diesen Port natürlich auch mit einer benutzerdefinierten Firewall-Regel öffnen. Stellt sicher, dass er nur in Richtung der unterstützenden Maschinen geöffnet wird.]
Edit 15.07.2022
Noch eine Verschönerung: Nutzer möchten vielleicht gerne eine Bestätigung haben, dass das Shadowing beendet wurde. Dazu verteilt man einen geplanten Task an die Clients wie folgt:
Ausführender Nutzer: System
Trigger: 2 Stück, beide eventbasiert: Log:Microsoft-Windows-TerminalServices-RemoteConnectionManager, Quelle: TerminalServices-RemoteConnectionManager, EventIDs 20504 und 20507
Auszuführende Aktion: powershell.exe Notify_Shadowing_ended.ps1
Dieses Skript enthält dann eine kurze Abfrage:
-
Denjenigen, denen die Sicherheit wirklich am Herzen liegt, ist möglicherweise klar, dass für diese Konstruktion unser Support-Benutzer auf ALLEN Remote-Computern, die er möglicherweise unterstützen muss, Administrator sein muss. Wenn man das will und schon vor sich hat, kann man hier aufhören zu lesen.
Wer nicht nicht möchte, dass Supporter Administratorrechte nur für die Fernsteuerung benötigen, sollte sich meine alte Anleitung zu Remote Assistance (msra.exe, funktioniert ohne Administratorrechte, hat aber meiner Ansicht nach Probleme ohne Internetzugang) ansehen. Einrichtung einer Fernwartung mit Bordmitteln unter Vista
Oder aber, Ihr geht noch einen Schritt weiter und macht es wie ich in unserem Netzwerk:
Wofür ist das gut? Es ermöglicht Supportpersonal, ihr schwaches tägliches Konto zum Initiieren des Shadowings zu verwenden, wodurch dieses Supporterkonto als Ziel für Angreifer weniger attraktiv wird (bzw. der Angreifer müsste schon komplett in dieses Konstrukt eingeweiht sein).
Klingt gut? Details folgen:
Nennen wir Folgendes shadow_v3.bat:
Details zu diesem Konzept für eine sichere Benutzerunterstützung findet Ihr in meinem Artikel unter Sicherer Umgang mit Supportkonten Dort findet sich auch Skript "generaterandompassword.ps1", das in der zweiten Zeile dieser neuesten Datei "shadow_v3.bat" benutzt wird.
Update Juni 23: Es git eine Inkompatibilität mit remote credential Guard, wenn man Shadowing innerhalb von Terminalservern nutzen möchte:
Verwenden von Shadowing für Windows-Benutzerunterstützung und Fernsteuerung
Dieser Beitrag richtet sich an Admins, die in einem Windows-Netzwerk Endbenutzer-Support leisten und dazu Fernsteuerungssoftware brauchen. Die gezeigte Methode ist meiner Meinung nach einzigartig: in Windows eingebaut, sicher, einfach einzurichten und kein Internetzugang erforderlich.
Warum sollte man es gerade so verwenden wollen?
Ich liste auf, welche anderen Methoden es gibt und warum ich diese nicht empfehlen würde.
Software von Drittanbietern kostet in der Regel Geld. Sogar kostenlose Fernsteuerungssoftware wie UltraVNC hat einige Herausforderungen: Wie deployen und pflegen, wie prüfen wir die Sicherheit, was tun, wenn das Projekt plötzlich eingestellt wird?
Schauen wir uns nun die in Windows 10 integrierten Funktionen an. Seit Ewigkeiten bietet Microsoft das Tool msra.exe (Microsoft Remote Assistance) an, mit dem man einen Helfer einladen und seine Sitzung mit einem Code authentifizieren kann. Lange Zeit hatte ich dieses Tool verwendet und einen Weg gefunden, es zu automatisieren, so dass Benutzer sich nicht mit Codes befassen mussten, sondern einfach auf eine Verknüpfung "um Hilfe bitten" klickten und ich klickte dann auf "Hilfe starten", und los ging’s.
Kürzlich habe ich msra.exe aufgegeben, denn msra.exe hat in den aktuellen Windows 10-Versionen ein komisches Verhalten gezeigt: Auf Computern ohne Internetzugang würde es 45 Sekunden warten, bevor es gestartet wird. Alle Versuche, dies zu ergründen, waren erfolglos und vermeintliche Lösungen waren nicht zuverlässig.
Daraufhin habe ich mir “Quick Assist” angesehen, ebenso eingebaut. Dafür ist leider ein Internetzugang erforderlich, sodass wir QA in unserem gesicherten Netzwerk auf keinem Computer verwenden können. Darüber hinaus funktioniert es nur, wenn man es mit einem Microsoft-Konto startet. Kein Microsoft-Konto, kein Quick Assist, sorry.
Als verbleibende Option blieb Shadowing. Shadowing ist wie msra.exe auf den Remotedesktopdienst des Clients angewiesen. Während aber die standardmäßige Verwendung des Remotedesktopclients eine eigene Sitzung auf dem Remoteclient erstellt, bietet Shadowing die Verwendung und Anzeige einer vorhandenen Sitzung an.
- Es ermöglicht mir, alle Monitore der entfernten Maschine anzuzeigen und diese bei Bedarf zu skalieren.
- Es ist schnell initiiert und der Benutzer muss nicht einmal wissen, wie es zu initiieren ist - der Administrator tut dies.
- Die Leistung ist zumindest im lokalen Netzwerk gut (wie bei RDP), da der Datenverkehr im LAN verbleibt und das eingebaute RDP verwendet wird
- Da es sich um RDP handelt, wird der Datenverkehr verschlüsselt
- Nur die Support-Benutzer, die Administrator auf dem Remote-System sind, dürfen es verwenden
- Es werden keine Passwörter oder Zugangscodes benötigt
- Es ermöglicht dem Administrator sogar, bei Bedarf mit UAC-Eingabeaufforderungen zu interagieren
- Es benötigt keine Freigabe von Port 3389, jedoch zum Supporter hin einen offenen Port 445!
Wie funktioniert es im Detail? (getestet auf Windows 10 1903/1909)
Zum Shadowing ruft man mstsc.exe („Microsoft Terminal Services Client“) mit dem Parameter /shadow gefolgt von einer Sitzungsnummer auf. Dieser Befehl muss natürlich an einen Zielcomputer (Parameter /v) gerichtet werden und eine zu spiegelnde Sitzung benennen. Siehe dieses Beispiel:
mstsc.exe /v:PC1 /shadow:1 /control
Dieser Befehl zielt auf PC1 und spiegelt Sitzung 1. Der Parameter "/control" fragt den Zielbenutzer, ob wir seine Sitzung auch steuern können, also auch Maus und Tastatur zur Verfügung haben.
Dem Benutzer, dem wir helfen, wird ein Popup-Fenster mit einer Fernsteuerungsanforderung angezeigt, dem er zustimmen muss, bevor die Sitzung beginnt.
Funktioniert das sofort? Nein, wir müssen zuerst die Verwendung des Shadowings auf den Zielcomputern mithilfe dieser GPO-Einstellung konfigurieren: gpedit.msc -> Computerkonfiguration / Administrative Vorlagen / Windows-Komponenten / Remotedesktopdienste / Remotedesktopsitzungs-Host / Verbindungen und aktiviert die Richtlinie "Regeln für Remotesteuerung von Remotedesktopdienste-Benutzersitzungen festlegen".
Bitte beachten: Es gibt auch einen Parameter /noconsentprompt, mit dem der Administrator die Benutzersitzung spiegeln kann, ohne dass der Benutzer seine Zustimmung erteilt. Vorsicht: Wer diesen Parameter verwenden möchte, muss auf jeden Fall sicherstellen, dass dies konform mit den Datenschutzbestimmungen Eures Unternehmens ist, da hiermit Benutzer ausspioniert werden können, ohne dass diese es merken. Microsoft hat sichergestellt, dass per default nur Administratoren Shadowing verwenden dürfen und dass der Remotecomputer vorkonfiguriert werden muss, um eine Verbindung ohne die Zustimmung des Benutzers zu ermöglichen. Seid erneut gewarnt: Benutzer müssen wissen, wie dies konfiguriert und verwendet wird, da Ihr sonst große Probleme bekommen könnt.
Nun zu der Sitzungsnummer (die in meinem Beispiel 1 war) - wie finden wir diese heraus, oder ist sie immer 1?
Nein, leider nicht. Sitzungsnummern können von jedem Benutzer in der Befehlszeile mit dem Befehl qwinsta aufgelistet werden. Sehen wir uns eine Standardausgabe von qwinsta an:
Hier hat der Benutzer "loser" also die Sitzungs-ID 2.
Können wir diese Sitzungs-ID von einem entfernten Standort aus abfragen? Ja!
Wenn Euer Support-Benutzer Zugriff auf den SMB-Port TCP 445 auf dem Remote-Computer hat, könnt Ihr diese Sitzungs-ID von Remote abfragen. Der Befehl wäre einfach:
qwinsta /server:PC1
Es bleibt zuletzt zu klären: Wie verbinden wir uns, welcher Port wird von Shadowing verwendet, ist es der RDP-Port? Nein! Erstaunlicherweise muss Port 3389 nicht einmal auf dem Ziel-PC geöffnet sein, damit dies funktioniert. Der Remotedesktopdienst muss jedoch ausgeführt werden, aber der Port ist nicht 3389. Stattdessen handelt es sich um einen zufällig gewählten Highport. Glücklicherweise hat Microsoft eine Firewall-Regel für das Shadowing vordefiniert, die wir mithilfe von Gruppenrichtlinienobjekten bereitstellen müssen:
Für den Fall, dass Euer Support-Benutzerkonto auf den Remotecomputern Admin ist und Zugriff auf den Port TCP 445 (smb-Filesharing-Port) auf allen Remotezielen hat, ist es sehr einfach: es sind nur zwei Zeilen Batchcode (nennen wir Folgendes shadow_v1.bat):
set /p target=Name des Ziels?
for /f "tokens=3" %%a in ('qwinsta /server:%target% ^| findstr /i console') do mstsc /v:%target% /shadow: %%a /control
Startet man die Batch, wird man nach dem Namen des Zielcomputers gefragt. Anschließend wird sofort eine Spiegelung der Konsolensitzung eingeleitet.
Der Benutzer an der Remote-Maschine muss seine Zustimmung geben,
und das war‘s schon, Ihr könnt ihm helfen
Eigentlich wäre ich hier fertig...
Aber angenommen, weder Ihr, noch die Person, die Ihr unterstützen möchtet, kennt den Remote-Computernamen oder seinen eigenen Usernamen nicht (soll's geben). Was tun?
Meiner Meinung nach sollte dies gelöst werden, indem der entfernte Benutzer auf eine Batch klickt, die den Computernamen und seine Sitzungsnummer ausliest und in eine Datei help.txt schreibt (ich nenne Folgendes helpme.bat):
for /f "tokens=3" %%a in ('qwinsta ^| findstr %username%') do echo %%a %computername%>\\server\share\help.txt
Nun würde der Supporter diese Datei wie folgt verwenden (ich werde Folgendes shadow_v2.bat nennen):
for /f "tokens=1,2" %%a in (\\server\share\help.txt) do mstsc /v:%%b /shadow:%%a /control
Fertig!
Zusammengefasst was vorzubereiten ist:
1 Erstellt eine GPO, die das Shadowing mit Zustimmung des Nutzers erlaubt, und deployt es für die Clients
2 Erstellt eine Firewall-Regel, die die Shadowing-Ports mindestens für den Bereich der Computer öffnet, die Ihre Unterstützer verwenden, und deployt sie (evtl. in der selben GPO)
3 Abhängig davon, ob Remotecomputername und Nutzername bekannt sind, oder nicht, verwendet der Supporter shadow_v1.bat oder shadow_v2.bat. Da shadow_v2.bat auf einer Datei basiert, die von den Benutzern erstellt wurde, die helpme.bat ausführen, muss man helpme.bat auf deren Desktops deployen (per group policy preferences), oder vorzugsweise eine Verknüpfung zu dieser Batch, gepaart mit einem gut aussehenden Icon. Es muss eine Freigabe bereitstehen, auf die alle Nutzer mittels helpme.bat schreiben können
[4 Wer zunächst Port 445 auf den Clients öffnen muss, kann diesen Port natürlich auch mit einer benutzerdefinierten Firewall-Regel öffnen. Stellt sicher, dass er nur in Richtung der unterstützenden Maschinen geöffnet wird.]
Edit 15.07.2022
Noch eine Verschönerung: Nutzer möchten vielleicht gerne eine Bestätigung haben, dass das Shadowing beendet wurde. Dazu verteilt man einen geplanten Task an die Clients wie folgt:
Ausführender Nutzer: System
Trigger: 2 Stück, beide eventbasiert: Log:Microsoft-Windows-TerminalServices-RemoteConnectionManager, Quelle: TerminalServices-RemoteConnectionManager, EventIDs 20504 und 20507
Auszuführende Aktion: powershell.exe Notify_Shadowing_ended.ps1
Dieses Skript enthält dann eine kurze Abfrage:
$event = Get-WinEvent -LogName Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational | select -first 1
# Convert to XML
[xml[]]$xml = $event.ToXML()
# Pull Param1 und Param3
$gucker = $xml.Event.UserData.EventXML.Param1
$beguckter = $xml.Event.UserData.EventXML.Param3
$domaingucker, $namegucker = $gucker.split("\")
$domainbeguckter, $namebeguckter = $beguckter.split("\")
msg /time:10 $namebeguckter $namegucker hat sein Shadowing beendet
Denjenigen, denen die Sicherheit wirklich am Herzen liegt, ist möglicherweise klar, dass für diese Konstruktion unser Support-Benutzer auf ALLEN Remote-Computern, die er möglicherweise unterstützen muss, Administrator sein muss. Wenn man das will und schon vor sich hat, kann man hier aufhören zu lesen.
Wer nicht nicht möchte, dass Supporter Administratorrechte nur für die Fernsteuerung benötigen, sollte sich meine alte Anleitung zu Remote Assistance (msra.exe, funktioniert ohne Administratorrechte, hat aber meiner Ansicht nach Probleme ohne Internetzugang) ansehen. Einrichtung einer Fernwartung mit Bordmitteln unter Vista
Oder aber, Ihr geht noch einen Schritt weiter und macht es wie ich in unserem Netzwerk:
- Auf der Remote-Seite haben wir einen Administrator pro Computer erstellt, also adminpc1, adminpc2, ...
- Auf dem unterstützenden Ende verwenden wir eine Batch, die dieses dedizierte Konto nur für die Zeit aktiviert, während shadowing stattfindet, und ein zufälliges Kennwort festlegt.
Wofür ist das gut? Es ermöglicht Supportpersonal, ihr schwaches tägliches Konto zum Initiieren des Shadowings zu verwenden, wodurch dieses Supporterkonto als Ziel für Angreifer weniger attraktiv wird (bzw. der Angreifer müsste schon komplett in dieses Konstrukt eingeweiht sein).
Klingt gut? Details folgen:
Nennen wir Folgendes shadow_v3.bat:
for /f "tokens=1,2" %%a in (\\server\share\help.txt) do set target=%%b
for /f %%a in ('powershell \\server\share\generaterandompassword') do net user admin%target% %%a /domain /active /workstations:%computername%,%target% & cmdkey /add:%target% /user:yourdomain\admin%target% /pass:%%a
for /f "tokens=1,2" %%a in (\\server\share\help.txt) do mstsc /v:%%b /shadow:%%a /control
net user admin%target% /domain /active:no
cmdkey /delete:%target%
Details zu diesem Konzept für eine sichere Benutzerunterstützung findet Ihr in meinem Artikel unter Sicherer Umgang mit Supportkonten Dort findet sich auch Skript "generaterandompassword.ps1", das in der zweiten Zeile dieser neuesten Datei "shadow_v3.bat" benutzt wird.
Update Juni 23: Es git eine Inkompatibilität mit remote credential Guard, wenn man Shadowing innerhalb von Terminalservern nutzen möchte:
Verwenden von Shadowing für Windows-Benutzerunterstützung und Fernsteuerung
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 500133
Url: https://administrator.de/tutorial/verwenden-von-shadowing-fuer-windows-benutzerunterstuetzung-und-fernsteuerung-500133.html
Ausgedruckt am: 21.12.2024 um 13:12 Uhr
95 Kommentare
Neuester Kommentar
Super ausführliche Anleitung!
Hier noch ein Script, womit nur den Rechnername/IP eingibt und sich dann die Session-ID aussuchen kann, mit der man sich verbinden will.
rdp-shadow.cmd
Gruß Spec.
Hier noch ein Script, womit nur den Rechnername/IP eingibt und sich dann die Session-ID aussuchen kann, mit der man sich verbinden will.
rdp-shadow.cmd
@echo off
title Remotesupport
rem Konfiguration
set /p termserver=Remotedesktopserver:
rem Session IDs auslesen
echo.
query session /server:%termserver%
rem Abfragen mit welcher Sitzung man sich verbinden moechte
echo.
set /p session-id=Session-ID oder q fuer Beenden eingeben und ENTER druecken:
if %session-id%==q exit
rem Remotedesktopverbindung aufbauen
start mstsc /v:%termserver% /shadow:%session-id% /control
Gruß Spec.
Richtig, war nur als Alternative gedacht.
Danke für die Beschreibung.
Ich mach das anstelle von Scripten mit Lazy_TS.
https://gallery.technet.microsoft.com/LazyTS-d426e01d
Ich mach das anstelle von Scripten mit Lazy_TS.
https://gallery.technet.microsoft.com/LazyTS-d426e01d
Scheint mit/ab RDP 8.0 nicht mehr zu funktionieren:
https://support.microsoft.com/en-us/help/2592687/remote-desktop-protocol ...
"The Shadow command cannot be used to remotely monitor another user's remote connection.
Issue
Windows 7 SP1 supports the Shadow command (Remote Control). This command can be used by an administrator to view or control an active session of another user. After RDP 8.0 is enabled on a computer that's running Windows 7 SP1, an administrator user cannot use the Shadow command to view or control another user's session.
Resolution
Administrators can use Remote Assistance or another product that provides similar capability to view or control another user's session."
https://support.microsoft.com/en-us/help/2592687/remote-desktop-protocol ...
"The Shadow command cannot be used to remotely monitor another user's remote connection.
Issue
Windows 7 SP1 supports the Shadow command (Remote Control). This command can be used by an administrator to view or control an active session of another user. After RDP 8.0 is enabled on a computer that's running Windows 7 SP1, an administrator user cannot use the Shadow command to view or control another user's session.
Resolution
Administrators can use Remote Assistance or another product that provides similar capability to view or control another user's session."
Update von mir:
Klappt sehr gut - eine tolle Sache gerade bei Terminalserver-Umgebungen - die Möglichkeit direkt in eine beliebige Nutzer-Session reinzukommen ist echt nützlich und sucht man bei den meisten Fernwartungsprogrammen vergeblich.
Ich habe mir selber eine kleine Batch-Datei gebastelt:
Ich hatte auch keine Probleme von Win7, Win8, Win10 (inkl. aktuellster Insider-Version) auf 2008R2 und 2016.
Danke nochmal für die gute Anleitung und der kreativen Idee!
Klappt sehr gut - eine tolle Sache gerade bei Terminalserver-Umgebungen - die Möglichkeit direkt in eine beliebige Nutzer-Session reinzukommen ist echt nützlich und sucht man bei den meisten Fernwartungsprogrammen vergeblich.
Ich habe mir selber eine kleine Batch-Datei gebastelt:
@echo off
Echo Ziel-Computer?
set /p target=Name des Ziels ?:%=%
Echo Sessions werden abgefragt...
qwinsta /server:%target%
Pause
Echo Session auswählen...
set /p session=ID der Session des Ziels ?:%=%
mstsc.exe /v:%target% /shadow:%session% /control /noconsentprompt
Ich hatte auch keine Probleme von Win7, Win8, Win10 (inkl. aktuellster Insider-Version) auf 2008R2 und 2016.
Danke nochmal für die gute Anleitung und der kreativen Idee!
Hallo @DerWoWusste,
Hab das heute bei uns ausprobiert und funktioniert super. Danke für den Tipp!
Kleine Anmerkung aber: Du hast zu viele Leerzeichen in shadow_v1.bat. Und was du mit dem Ende von Zeile 1 angestellt hast, ist mir auch ein Rätsel.
Hier ist die Variante, die ich nun nutze:
Schönen Gruß,
@Snowman25
Hab das heute bei uns ausprobiert und funktioniert super. Danke für den Tipp!
Kleine Anmerkung aber: Du hast zu viele Leerzeichen in shadow_v1.bat. Und was du mit dem Ende von Zeile 1 angestellt hast, ist mir auch ein Rätsel.
Hier ist die Variante, die ich nun nutze:
@ECHO off
SET /p target=Name des Ziels?
FOR /f "tokens=3" %%a in ('qwinsta /server:%target% ^| findstr /i console') do mstsc /v:%target% /shadow: %%a /control
Schönen Gruß,
@Snowman25
Vielen Dank für die Tolle Anleitung
Es funktioniert super, leider bring ich noch 1 Punkt nicht fertig.
Ich will gerne das es den Bildschirm füllt oder sogar den bildschirme teilt, bis jetzt ist das Remotefenster nur begrenzt sichtbar und nicht den ganzen BIldschirm gefüllt.
Ich habe folgende Befehle versucht:
mstsc.exe /v:10.10.1.98 /span /shadow:11 /control /noconsentprompt
oder
mstsc.exe /v:10.10.1.98 /w:1024 /h:768 /shadow:11 /control /noconsentprompt
Leider bleibt die Anzeige immernoch gleich.
Wo liegt den hier das Problem ?
Vielen Dank Gruss Syosse
Es funktioniert super, leider bring ich noch 1 Punkt nicht fertig.
Ich will gerne das es den Bildschirm füllt oder sogar den bildschirme teilt, bis jetzt ist das Remotefenster nur begrenzt sichtbar und nicht den ganzen BIldschirm gefüllt.
Ich habe folgende Befehle versucht:
mstsc.exe /v:10.10.1.98 /span /shadow:11 /control /noconsentprompt
oder
mstsc.exe /v:10.10.1.98 /w:1024 /h:768 /shadow:11 /control /noconsentprompt
Leider bleibt die Anzeige immernoch gleich.
Wo liegt den hier das Problem ?
Vielen Dank Gruss Syosse
Habe es auch gross gezogen doch es bleibt immernoch oben und unten ein grosses Schwarzer Rand.
(Siehe Bild )
Trotzdem Vielen Dank
Gruss Syosse
(Siehe Bild )
Trotzdem Vielen Dank
Gruss Syosse
Stimmt, war beim Kunden und der Bildschirm ist tatsächlich kleiner bzw die Auflösung.
Hatte es anders in Erinnerung.
Danke für deine Mühe.
Ich belass es so, arbeiten kann man ja damit.
Gruss Syosse
Hatte es anders in Erinnerung.
Danke für deine Mühe.
Ich belass es so, arbeiten kann man ja damit.
Gruss Syosse
Zitat von @DerWoWusste:
Man kann es auch in senkrechter Richtung ziehen. Wenn jedoch die Auflösung des Gegenübers weitaus kleiner ist, als Deine, dann muss ja zwangsläufig ein Rand bleiben, denn warum sollte Windows noch weiter hochskalieren als 100%?
Man kann es auch in senkrechter Richtung ziehen. Wenn jedoch die Auflösung des Gegenübers weitaus kleiner ist, als Deine, dann muss ja zwangsläufig ein Rand bleiben, denn warum sollte Windows noch weiter hochskalieren als 100%?
Shadow_V2.bat
Hallo,
habt ihr einen Tipp für Mich?
Problem meine Shares heißen all "01 share" "02 share" usw.
Die Ordner kann ich nicht umbenennen.
Ich habe schon probiert:
Leider kommt share\shadow ist ungültiger PC Name
Hallo,
habt ihr einen Tipp für Mich?
Problem meine Shares heißen all "01 share" "02 share" usw.
Die Ordner kann ich nicht umbenennen.
Ich habe schon probiert:
set LINK="G:\01 share\shadow\help.txt"
echo %LINK%
pause
for /f "tokens=1,2" %%a in (%LINK%) do mstsc /v:%%b /shadow:%%a /control
Wie kann es an Windows 7 liegen, wenn Windows 10 Pro im Einsatz ist? ;)
Die Systeme wurden auch nie von 7 auf 10 aktualisiert, sind also wirkliche Win 1903 Pro.
Werde ich wohl so machen müssen, war eben die Frage ob da noch irgendwelche Voraussetzungen fehlen,
oder hinsichtlich RDP noch irgendetwas zu beachten ist, also bspw. geht nicht wenn:
RDP-Host Sicherheit:
Benutzerauthentifizierung mit Authentifizierung auf Netzwerkebene ist für Remoteverbindungen erforderlich
Ansonsten bau ich mir da nächste Woche mal eine Testumgebung.
Habe mich heute mal mit einem frischen Client befasst, GPO Zuweisung lediglich WSUS & die Support Richtlinie.
Damit ist eine Verbindung von diesem frischen System an ein bestehendes System möglich, andersrum aber nicht.
Faktisch gehe ich dann nun mal auf GPO-Suche, denn offensichtlich ist keine die das verhindern würde, zumindest
keine die mir nun ins Auge gesprungen wäre.
Melde mich, wenn ich weiß an welcher es hängt.
P.S.: Gegen die Monitorkompatibilität gibt es kein Heilmittel?
Also wenn ich mit 1 Display auf ein System mit 2 Displays verbinde packe ich die Lupe aus,
oder gibt es einen Schalter mit dem man lediglich Monitor 1 spiegeln kann?
Damit ist eine Verbindung von diesem frischen System an ein bestehendes System möglich, andersrum aber nicht.
Faktisch gehe ich dann nun mal auf GPO-Suche, denn offensichtlich ist keine die das verhindern würde, zumindest
keine die mir nun ins Auge gesprungen wäre.
Melde mich, wenn ich weiß an welcher es hängt.
P.S.: Gegen die Monitorkompatibilität gibt es kein Heilmittel?
Also wenn ich mit 1 Display auf ein System mit 2 Displays verbinde packe ich die Lupe aus,
oder gibt es einen Schalter mit dem man lediglich Monitor 1 spiegeln kann?
Zitat von @DerWoWusste:
Port 445 am Remoterechner muss vom Supportrechner erreichbar sein, sonst geht es nicht.
ich verteile einen Task, der den Port per Skript öffnet und erlaube Nutzern, diesen Task zu triggern, indem sie per Skript ein bestimmtes Erieignis ins Eventlog schreiben. Ich kann auch das bei Interesse hier teilen.
Port 445 am Remoterechner muss vom Supportrechner erreichbar sein, sonst geht es nicht.
ich verteile einen Task, der den Port per Skript öffnet und erlaube Nutzern, diesen Task zu triggern, indem sie per Skript ein bestimmtes Erieignis ins Eventlog schreiben. Ich kann auch das bei Interesse hier teilen.
Na das wird sicherlich mein Problem damit gewesen sein. ;)
Aber ich muss gestehen das Shadowing 2.0 ist bei mir etwas eingeschlafen, da 1.0 noch gut funktioniert (da Internet bei uns kein Problem darstellt), aber nun bin ich gewillt das noch mal zu testen *g*
Hinsichtlich des Tasks genauso gelöst wie bei Shadowing 1.0? Interesse am Nachbau besteht aber nun wieder, daher gern teilen.
Danke
Danke für den Tipp. Ich habe das heute getestet.
rdpsa.exe und rdpsaproxy.exe lassen sich mit Nutzerrechten nicht schließen. Ein kurzes Trennen der Rdp Verbindung beendet das Shadowing. Es kann aber sein, dass dann immer noch rdpsa.exe im Taskmanager des Nutzers erscheint, weil der Admin erst noch auf OK klicken muss, bei der Meldung die er darüber erhält, dass die Verbindung getrennt wurde.
Ich habe jetzt noch gelesen, dass Ctrl+* (* auf dem Nummernblock) das Shadowing beenden sollen, aber das funktioniert bei mir nicht. Aber wenn rdpsa.exe im Taskmanager verschwindet, dann ist der Admin raus.
rdpsa.exe und rdpsaproxy.exe lassen sich mit Nutzerrechten nicht schließen. Ein kurzes Trennen der Rdp Verbindung beendet das Shadowing. Es kann aber sein, dass dann immer noch rdpsa.exe im Taskmanager des Nutzers erscheint, weil der Admin erst noch auf OK klicken muss, bei der Meldung die er darüber erhält, dass die Verbindung getrennt wurde.
Ich habe jetzt noch gelesen, dass Ctrl+* (* auf dem Nummernblock) das Shadowing beenden sollen, aber das funktioniert bei mir nicht. Aber wenn rdpsa.exe im Taskmanager verschwindet, dann ist der Admin raus.
Vielen Dank für den ausgezeichneten Tipp. Das funktioniert einwandfrei. Eine Meldung für den Nutzer beim Beenden als vertrauensbildende Maßnahme und gut ist. Ergänzend noch der Hinweis, dass man ID 20504 und 20507 verwenden muss, um beide Varianten (nur Spiegeln bzw. Spiegeln und kontrollieren) abzufangen.
Hallo zusammen,
Jetzt habe ich doch noch ein Problem entdeckt.
Bei manchen Clients im Netzwerk funktioniert die Shadow-Verbindung echt super.
Bei einigen kommt aber leider die Verbindung nicht zustande.
Ich geb ganz normal den PC Namen/IP ein wähle die Session aus, der Benutzer bestätigt dann auch die Meldung das er die Hilfe akzeptiert aber es passiert dann nichts. Es geht kein Remote-Fenster auf.
Wenn ich das ganze dann nochmal beim gleichen Client probiere dann kommt das schon eine Remoteverbindung besteht.
Weiß jemand woran das liegen könnte?
Jetzt habe ich doch noch ein Problem entdeckt.
Bei manchen Clients im Netzwerk funktioniert die Shadow-Verbindung echt super.
Bei einigen kommt aber leider die Verbindung nicht zustande.
Ich geb ganz normal den PC Namen/IP ein wähle die Session aus, der Benutzer bestätigt dann auch die Meldung das er die Hilfe akzeptiert aber es passiert dann nichts. Es geht kein Remote-Fenster auf.
Wenn ich das ganze dann nochmal beim gleichen Client probiere dann kommt das schon eine Remoteverbindung besteht.
Weiß jemand woran das liegen könnte?
Hallo zusammen,
erst einmal vielen Dank für die tolle Anleitung.
Wir wollen Shadowing für die Kontrolle eines unbesetzten PCs verwenden.
Da hängt ein Display dran das z.B. den Status der Fotovoltaikanlage oder aktuelle Infos für Mitarbeiter und Besucher anzeigt.
Mit "mstc.exe /v:PC1 /Shadow:2 /control" funktioniert alles bestens. Wenn man am Zielrechner bestätigt, wird die Sitzung hergestellt.
In diesem Fall bräuchte ich allerdings den Parameter /noConsentPrompt. Wenn ich den benutze, wird nur ein Fenster "Syntax für Remotedesktopverbindung" geöffnet. Du hast geschrieben, dass der Remotecomputer vorkonfiguriert werden muss. Was genau wäre denn da zu machen?
Dank & Gruß
erst einmal vielen Dank für die tolle Anleitung.
Wir wollen Shadowing für die Kontrolle eines unbesetzten PCs verwenden.
Da hängt ein Display dran das z.B. den Status der Fotovoltaikanlage oder aktuelle Infos für Mitarbeiter und Besucher anzeigt.
Mit "mstc.exe /v:PC1 /Shadow:2 /control" funktioniert alles bestens. Wenn man am Zielrechner bestätigt, wird die Sitzung hergestellt.
In diesem Fall bräuchte ich allerdings den Parameter /noConsentPrompt. Wenn ich den benutze, wird nur ein Fenster "Syntax für Remotedesktopverbindung" geöffnet. Du hast geschrieben, dass der Remotecomputer vorkonfiguriert werden muss. Was genau wäre denn da zu machen?
Dank & Gruß
Der Beitrag ist schon bisschen älter aber vielleicht werde ich hier fündig. Gibt es eine Möglichkeit per Registry oder GPO den Shadow Modus mit unterschiedlichen Nutzern auf den jeweiligen PCs zu verwenden. Bin ich auf einem Rechner als "Admin" User und auf dem anderen als "Administrator" angemeldet dann kommt immer die Fehlermeldung "Access denied". Sobald ich beide als Administator anmelde dann funktioniert die Verbindung.
Beide User sind in der Administratoren Gruppe. Da es PCs unserer Maschinen sind, wird das WIN als Image verteilt so, dass alle PCs gleich konfiguriert werden. Suche jetzt schon seit geraumer Zeit nach einer Lösung. Alles was ich dazu gefunden habe, ist ein Hinweis dass es Probleme mit unterschiedlichen Username geben kann.
GPO für das shadowing ist so eingestellt damit keine Bestätigung oder Passwort benötigt wird. Wir rufen vom Host nur einen Layout Editor auf.
Beide User sind in der Administratoren Gruppe. Da es PCs unserer Maschinen sind, wird das WIN als Image verteilt so, dass alle PCs gleich konfiguriert werden. Suche jetzt schon seit geraumer Zeit nach einer Lösung. Alles was ich dazu gefunden habe, ist ein Hinweis dass es Probleme mit unterschiedlichen Username geben kann.
GPO für das shadowing ist so eingestellt damit keine Bestätigung oder Passwort benötigt wird. Wir rufen vom Host nur einen Layout Editor auf.
Zitat von @DerWoWusste:
Der Nutzer der guckt muss nicht der selbe sein wie der, den er geguckt, das ist doch klar.
Die Anleitung funktioniert nach wie vor und ist für Domänenkonten gedacht - hast Du das vor dir, eine Domäne?
Der Nutzer der guckt muss nicht der selbe sein wie der, den er geguckt, das ist doch klar.
Die Anleitung funktioniert nach wie vor und ist für Domänenkonten gedacht - hast Du das vor dir, eine Domäne?
Nein. Die Rechner arbeiten außerhalb einer Domäne und nur mit lokalen User/Gruppen
Danke für die tolle Beschreibung. Klappt super (auch mit dem Script) bis auf 2-3 Ausnahmen.
Gleiche Domäne, PCs gleiche OU (ergo gleiche GPOs - keine Ausnahme für die GPOs hinterlegt) usw.
Nur bei den 2-3 Rechnern bekommt der User die Anfrage zum bestätigen oder ablehnen der Verbindung. Klicken diese auf "Ja" geht an meinem PC einfach das Fenster zu und das war es.
Jemand eine Idee an was das liegen könnte?
Gleiche Domäne, PCs gleiche OU (ergo gleiche GPOs - keine Ausnahme für die GPOs hinterlegt) usw.
Nur bei den 2-3 Rechnern bekommt der User die Anfrage zum bestätigen oder ablehnen der Verbindung. Klicken diese auf "Ja" geht an meinem PC einfach das Fenster zu und das war es.
Jemand eine Idee an was das liegen könnte?
Hallo @DerWoWusste,
danke Dir für die Info. Echt ein seltsames Verhalten was da stattfindet.
Wenn wenigstens bei mir oder dem User irgendwo ne Fehlermeldung stehen würde, aber nichts. Nicht mal im Ereignisprotokoll.
Das neue Script ist auch Top! Danke.
danke Dir für die Info. Echt ein seltsames Verhalten was da stattfindet.
Wenn wenigstens bei mir oder dem User irgendwo ne Fehlermeldung stehen würde, aber nichts. Nicht mal im Ereignisprotokoll.
Das neue Script ist auch Top! Danke.
Hallo @DerWoWusste,
ich hätte noch eine Frage zu Deinem (super funktionierenden) Skript.
Gibt es die Möglichkeit bei PCs mit zwei Bildschirmen dies auf ein "normales" RPD Fenster zu reduzieren. Es werden ja so beide angezeigt und auf die breite von einem Bildschirm auf dem Host "geschrumpft". Das ist dann teilweise etwas sehr unleserlich, je nachdem was für eine Fehlermeldung erscheint.
ich hätte noch eine Frage zu Deinem (super funktionierenden) Skript.
Gibt es die Möglichkeit bei PCs mit zwei Bildschirmen dies auf ein "normales" RPD Fenster zu reduzieren. Es werden ja so beide angezeigt und auf die breite von einem Bildschirm auf dem Host "geschrumpft". Das ist dann teilweise etwas sehr unleserlich, je nachdem was für eine Fehlermeldung erscheint.
Zitat von @DerWoWusste:
Moin Ringi.
Nein, gibt es nicht. Bei RDP richtet sich das Fenster nach den "Wünschen" des Schauenden; beim Shadowing nach den Gegebenheiten des "Beschauten".
Wenn Du als Schauender nicht zwei Monitore hast mit gleich großer oder (empfehlenswert) höherer Auflösung als der Beschaute, dann solltest Du den bitten, per Windowstaste+P für die Shadowingsitzung auf ein-Monitor-Betrieb zu schalten.
Moin Ringi.
Nein, gibt es nicht. Bei RDP richtet sich das Fenster nach den "Wünschen" des Schauenden; beim Shadowing nach den Gegebenheiten des "Beschauten".
Wenn Du als Schauender nicht zwei Monitore hast mit gleich großer oder (empfehlenswert) höherer Auflösung als der Beschaute, dann solltest Du den bitten, per Windowstaste+P für die Shadowingsitzung auf ein-Monitor-Betrieb zu schalten.
Hmm, weil ich auch gerade darüber gestolpert bin, wenn man mit der rechten Maustaste in das Titelfeld des mstsc Fensters, das wo die Remotedisplays angezeigt werden, klickt dann gibt es dort einen Punkt: "Intelligente Grössenänderung" und wenn man dort den Haken weg nimmt bekommt man ein nicht runterscaliertes verschiebbares Fenster....
Mag sein aber du kannst nur mit dem arbeiten was du bekommst und das ist nun mal entweder eine runterskalierte Komplettdarstellung aller Monitore oder eben eine Darstellung in Originalgrösse und ich finde damit kann man auch arbeiten aber ja, mir würde es auch besser gefallen einen Hotkey zu haben mit dem ich entweder den linken Monitor, den rechten Monitor oder eine Gesamtübersicht bekomme.
Nur, was wird wenn der Client mehr als NUR zwei Monitore hat?
Ich für meinen Teil könnte mir, als Nutzer von ebenfalls zwei Monitoren, sogar eine Komfortfunktion vorstellen in der ich auf dem linken Monitor ein Gesamtübersichtsbild habe und auf dem rechten Monitor einen ausgewählten Ausschnitt davon, ach Halt, das geht ja schon wenn man zwei Instanzen aufruft...
Insgesamt finde ich schon das Microsoft das Thema RDP irgendwie uninspiriert, geradezu lieblos behandelt.
Jetzt wo ich deine Antwort noch mal gelesen habe, er bekommt doch GENAU ein Fenster in dem alles zusammengeschoben zu sehen ist? Wo verstehen wir uns da miss?
Nur, was wird wenn der Client mehr als NUR zwei Monitore hat?
Ich für meinen Teil könnte mir, als Nutzer von ebenfalls zwei Monitoren, sogar eine Komfortfunktion vorstellen in der ich auf dem linken Monitor ein Gesamtübersichtsbild habe und auf dem rechten Monitor einen ausgewählten Ausschnitt davon, ach Halt, das geht ja schon wenn man zwei Instanzen aufruft...
Insgesamt finde ich schon das Microsoft das Thema RDP irgendwie uninspiriert, geradezu lieblos behandelt.
Jetzt wo ich deine Antwort noch mal gelesen habe, er bekommt doch GENAU ein Fenster in dem alles zusammengeschoben zu sehen ist? Wo verstehen wir uns da miss?
Naja, "normales" RDP arbeitet ja auch ein ganz klein wenig anders. Da wird eine Sitzung mit den Daten der lokal vorhandenen Monitore geöffnet. Beim "shadowing" müssen die remote vorhandenen Monitore auf die lokalen Monitore abgebildet werden was gelinde gesagt schnell (programtechnisch) unübersichtlich wird.
Ich will da keineswegs MS in Schutz nehmen aber man kann mit dem was man hat schon ganz gut arbeiten und ich fürchte "geht gerade so" reicht ihnen.
Wem das nicht zusagt oder die Latenz zu hoch ist der kann ja "Sunshine" und "Moonlight" nehmen. Da gibt es einen Hotkey für die Monitorverwaltung und es entspricht, so man es aktiviert, "shadowing" also Tastatur und Maus beider PCs sind aktiv.
Es gibt aber einen Pferdefuss. Wenn man Sunshine und Moonlight miteinander bekannt machen möchte MÜSSEN sie sich im selben Netzwerksegment befinden. Danach können die sich beliebig auf der Welt rumtreiben.
Ach ja, Sunshine und Moonlight sind kostenlos aber nicht umsonst.
Aber das wäre dann ja Stoff für einen anderen Thread....
Ich will da keineswegs MS in Schutz nehmen aber man kann mit dem was man hat schon ganz gut arbeiten und ich fürchte "geht gerade so" reicht ihnen.
Wem das nicht zusagt oder die Latenz zu hoch ist der kann ja "Sunshine" und "Moonlight" nehmen. Da gibt es einen Hotkey für die Monitorverwaltung und es entspricht, so man es aktiviert, "shadowing" also Tastatur und Maus beider PCs sind aktiv.
Es gibt aber einen Pferdefuss. Wenn man Sunshine und Moonlight miteinander bekannt machen möchte MÜSSEN sie sich im selben Netzwerksegment befinden. Danach können die sich beliebig auf der Welt rumtreiben.
Ach ja, Sunshine und Moonlight sind kostenlos aber nicht umsonst.
Aber das wäre dann ja Stoff für einen anderen Thread....
Ich hätte gerne, dass wenn ich ein Shadowing auf einen Arbeitsplatz mit zwei Bildschirmen mache, ich auswählen könnte, welchen der beiden Bildschirme ich dargestellt bekomme.
Aber wie DerWoWusste ja sagt, ist das bei Shadowing nicht möglich.
Bei normalem RDP wird das ganze auf den einen (oder wenn ich anhake "Alle Bildschirme benutze") auf meinen Monitor skaliert.
Jetzt nehmt mal einen CAD Arbeitsplatz mit zwei 27 oder gar zwei 32 Zoll Bildschirmen, und du kommst an mit RDP Shadowing und bekommst das in einem RDP Fenster auf deinem PC dargestellt - da kannst du nur noch raten was da für Fehlermeldungen stehen oder was in den Menüs steht.
Aber dennoch ist das RDP Shadowing wirklich eine absolut tolle Sache innerhalb einer Domain.
Aber wie DerWoWusste ja sagt, ist das bei Shadowing nicht möglich.
Bei normalem RDP wird das ganze auf den einen (oder wenn ich anhake "Alle Bildschirme benutze") auf meinen Monitor skaliert.
Jetzt nehmt mal einen CAD Arbeitsplatz mit zwei 27 oder gar zwei 32 Zoll Bildschirmen, und du kommst an mit RDP Shadowing und bekommst das in einem RDP Fenster auf deinem PC dargestellt - da kannst du nur noch raten was da für Fehlermeldungen stehen oder was in den Menüs steht.
Aber dennoch ist das RDP Shadowing wirklich eine absolut tolle Sache innerhalb einer Domain.
Ok, hast du mal ausprobiert was ich beschrieben habe?
"intelligente Grössenänderung" deaktivieren und wenn du dann die Fehlermeldungen nicht lesen kannst brauchst du eh ne stärkere Brille, einen grösseren Bildschirm, angepasste Skalierung, jemanden der dir den Bildschirminhalt vorliest.
Alternativ halt "Sunshine" und Moonlight" einsetzen. Das ist zwar auf "remote play" optimiert, die Bildschirme werden als h264/h265 Stream übertragen mit allen Vor- und Nachteilen, aber es bietet genau die von dir gewünschten Funktionen also shadowing und Auswahl des anzuzeigenden Bildschirmes per Hotkey.
"intelligente Grössenänderung" deaktivieren und wenn du dann die Fehlermeldungen nicht lesen kannst brauchst du eh ne stärkere Brille, einen grösseren Bildschirm, angepasste Skalierung, jemanden der dir den Bildschirminhalt vorliest.
Alternativ halt "Sunshine" und Moonlight" einsetzen. Das ist zwar auf "remote play" optimiert, die Bildschirme werden als h264/h265 Stream übertragen mit allen Vor- und Nachteilen, aber es bietet genau die von dir gewünschten Funktionen also shadowing und Auswahl des anzuzeigenden Bildschirmes per Hotkey.
Und da ich das Gefühl habe das hier keiner weiss wovon ich spreche:
So sieht das normalerweise aus wenn man zwei Bildschirme "shadowed":
diese Option, "intelligente Größenänderung", entscheided darüber ob man ein downgescaltes Übersichtsbild oder einen verschiebbaren Bildschirmausschnitt bekommt:
und dann sieht es so aus:
und ja, selbst ich kann dann auf meinen nicht hochauflösenden Monitoren selbst ohne Brille lesen was in diesem Thread geschrieben steht. Nein, ich habe noch keinen Hotkey dafür gefunden schliesse aber auch nicht aus das es einen gibt.
So sieht das normalerweise aus wenn man zwei Bildschirme "shadowed":
diese Option, "intelligente Größenänderung", entscheided darüber ob man ein downgescaltes Übersichtsbild oder einen verschiebbaren Bildschirmausschnitt bekommt:
und dann sieht es so aus:
und ja, selbst ich kann dann auf meinen nicht hochauflösenden Monitoren selbst ohne Brille lesen was in diesem Thread geschrieben steht. Nein, ich habe noch keinen Hotkey dafür gefunden schliesse aber auch nicht aus das es einen gibt.
Gut, dann sind zumindestens wir auf dem selben Stand.
Wenn nötig kann ich gerne was darüber schreiben warum beide Verfahren sich so unterschiedlich benehmen.
Was ich nicht verstanden habe ist wieso du davon ausgehst das "shadowing" auf das lokale Netzwerk beschränkt ist?!?
Und weil ich es bisher nicht geschrieben habe, deine Anleitung ist übersichtlich und informativ. Danke dafür!
Wenn nötig kann ich gerne was darüber schreiben warum beide Verfahren sich so unterschiedlich benehmen.
Was ich nicht verstanden habe ist wieso du davon ausgehst das "shadowing" auf das lokale Netzwerk beschränkt ist?!?
Und weil ich es bisher nicht geschrieben habe, deine Anleitung ist übersichtlich und informativ. Danke dafür!
"Die Leistung ist gut, da der Datenverkehr im LAN verbleibt und das vertrauenswürdige RDP verwendet wird"
So weit mir bekannt ist LAN == local area network? Falls du allgemein Netzwerk/Internet meintest ist der erste Teil der Aussage nicht sinnvoll da Rechner mit "air gap" keinen Port 445 publizieren sollten und du keine Aussage darüber treffen kannst wie performant fremde Netzwerke sind selbst wenn sie LANs sind und der zweite Teil ist zumindest nicht einfach überprüfbar. Nicht mal wenn man die Sourcen hätte. xRDP, die freie offene Version für X, ist nachgebaut verwendet aber nicht alle Funktionsmerkmale von RDP d.h. man kann keine Rückschlüsse ziehen.
Sorry, ich halte mich jetzt zurück....
So weit mir bekannt ist LAN == local area network? Falls du allgemein Netzwerk/Internet meintest ist der erste Teil der Aussage nicht sinnvoll da Rechner mit "air gap" keinen Port 445 publizieren sollten und du keine Aussage darüber treffen kannst wie performant fremde Netzwerke sind selbst wenn sie LANs sind und der zweite Teil ist zumindest nicht einfach überprüfbar. Nicht mal wenn man die Sourcen hätte. xRDP, die freie offene Version für X, ist nachgebaut verwendet aber nicht alle Funktionsmerkmale von RDP d.h. man kann keine Rückschlüsse ziehen.
Sorry, ich halte mich jetzt zurück....
Hallo zusammen!
Erstmal danke für deine Anleitung! Kannte die Funktion gar nicht! Bei uns bringt dies sehr viel.
Nun habe ich eine andere Frage. Bin im Batch schreiben noch nicht ganz so fit. Bin grade 3 Jahre aus der Ausbildung und hatte bisher noch nicht so viel damit zu tun.
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei schließt?
Fehler 1722 beim Abrufen der Sitzungsnamen
Fehler [1722]:Der RPC-Server ist nicht verfügbar.
Danke!
Erstmal danke für deine Anleitung! Kannte die Funktion gar nicht! Bei uns bringt dies sehr viel.
Nun habe ich eine andere Frage. Bin im Batch schreiben noch nicht ganz so fit. Bin grade 3 Jahre aus der Ausbildung und hatte bisher noch nicht so viel damit zu tun.
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
set /p target=Name des Servers?
Echo Benutzerverbindungen werden abgefragt...
qwinsta /server:%target%
set /p id=ID des Benutzers?
mstsc /v:%target% /shadow:%id% /control
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei schließt?
Fehler 1722 beim Abrufen der Sitzungsnamen
Fehler [1722]:Der RPC-Server ist nicht verfügbar.
Danke!
Zitat von @Scheewetter:
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei
Moin.
@echo off
:start
cls
set /p target=Name des Servers?
Echo Benutzerverbindungen werden abgefragt...
qwinsta /server:%target% 2>nul || goto :start
set /p id=ID des Benutzers?
mstsc /v:%target% /shadow:%id% /control
Gruß
Zitat von @13034433319:
Moin.
Gruß
Zitat von @Scheewetter:
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei
Gibt es die Möglichkeit bei der Abfrage des Servers, wenn man sich bspw. vertippt, den Fehler auszulesen und wieder die Eingabe zum Server zu starten?
Quasi wenn qwinsta den Server nicht findet, der Batch wieder oben startet oder von mir aus auch die Batch-Datei
Moin.
@echo off
:start
cls
set /p target=Name des Servers?
Echo Benutzerverbindungen werden abgefragt...
qwinsta /server:%target% 2>nul || goto :start
set /p id=ID des Benutzers?
mstsc /v:%target% /shadow:%id% /control
Gruß
Perfekt! Danke dir.
Gruß
Zitat von @DerWoWusste:
Edit 07.05.2024
Windows 11 (23h2 zumindest) macht mit bestimmten Garfikkarten (hier: Nvidia Geforce-Gamerkarten und nvidia Quadro) Ärger mit dem Shadowing: sobald der Geshadowte selbst in einer RDP-Sitzung ist (also z.B. von zu Hause seinen Firmenrechner fernsteuert und dann einen Supporter per Shadowing rauflassen möchte), dann bleibt das geshadowte Bild schwarz, nur ein beweglicher Mauszeiger ist zu sehen!
Lösung: siehe RDP Shadowing - Zusammenspiel Remotegrafikkarte und reale Karte
Edit 07.05.2024
Windows 11 (23h2 zumindest) macht mit bestimmten Garfikkarten (hier: Nvidia Geforce-Gamerkarten und nvidia Quadro) Ärger mit dem Shadowing: sobald der Geshadowte selbst in einer RDP-Sitzung ist (also z.B. von zu Hause seinen Firmenrechner fernsteuert und dann einen Supporter per Shadowing rauflassen möchte), dann bleibt das geshadowte Bild schwarz, nur ein beweglicher Mauszeiger ist zu sehen!
Lösung: siehe RDP Shadowing - Zusammenspiel Remotegrafikkarte und reale Karte
Ah, super ich danke Dir für diese Info, denn genau das Problem hab ich schon gehabt - und wenn ich mich sogar recht erinnere war es in der Abteilung "Bauten und Technik" bei uns - respektive CAD Arbeitsplätze -> Quadro Karten!
Dann versuche ich das mal mit der verlinkten Lösung.
Danke Dir
Gruß
Wolfgang