J'essaie d'ouvrir une session RDP à un serveur de ma page Web.
screen mode id:i:2 desktopwidth:i:1436 desktopheight:i:925 session bpp:i:16 auto connect:i:1 full address:s:emea-orion compression:i:1 keyboardhook:i:2 audiomode:i:2 redirectdrives:i:0 redirectprinters:i:0 redirectcomports:i:0 redirectsmartcards:i:0 displayconnectionbar:i:1 alternate shell:s: shell working directory:s: disable wallpaper:i:1 disable full window drag:i:1 disable menu anims:i:1 disable themes:i:1 bitmapcachepersistenable:i:1 winposstr:s:0,3,0,0,800,600 redirectclipboard:i:1 redirectposdevices:i:0 drivestoredirect:s: autoreconnection enabled:i:1 authentication level:i:0 prompt for credentials:i:0 negotiate security layer:i:1 remoteapplicationmode:i:0 allow desktop composition:i:0 allow font smoothing:i:0 disable cursor setting:i:0 gatewayhostname:s: gatewayusagemethod:i:0 gatewaycredentialssource:i:4 gatewayprofileusagemethod:i:0
3 Réponses :
Pour des raisons de sécurité, vous ne pouvez pas simplement exécuter un fichier de commandes via un lien à partir d'un navigateur moderne. p>
Vous pouvez obtenir ceci pour fonctionner si vous enveloppez l'appel au fichier de commandes dans un VBScript et exécutez-le via la coquille. Cependant, vous devrez ouvrir vos autorisations ActiveX pour que cela soit permis. p>
Pour un exemple de comment faire cela, voir ici . P>
Vous pouvez créer le fichier .rdp sur le côté serveur, que Windows doit associer à Demote Desktop et forcer le navigateur à le télécharger (au lieu de l'afficher). En PHP, vous le feriez comme ceci:
public FileResult RDP() { MemoryStream memoryStream = new MemoryStream(); TextWriter tw = new StreamWriter(memoryStream); tw.WriteLine("screen mode id:i:2"); tw.WriteLine("use multimon:i:0"); ///The rest of the file memoryStream.Position = 0; return File(memoryStream, "application/rdp", "conenction.rdp"); }
J'espère que cela ne vous dérange pas, j'ai ajouté un exemple pour .net - j'ai fait cela et cela fonctionne bien. Un conseil consiste à utiliser le RDP, effectuez tous les paramètres et sur l'onglet Général, cliquez sur Options et "Enregistrer sous". Copiez tous les paramètres. C'est génial, car vous pouvez construire des fichiers RDP sur le formulaire Go avec la base de données d'URL ou quelque chose de +1 --- et vraiment, cela devrait être la réponse!
Grande réponse, merci. Serait-il un moyen de supprimer le fichier après le lancement de ne pas encombrer la zone de téléchargement?
@Federer Non, il n'y a aucun moyen, car le fichier a été téléchargé à ce point sur la machine de l'utilisateur et en dehors de la portée de la permission du navigateur.
@Federer Certains navigateurs suppriment le fichier automatiquement si vous cliquez sur Ouvrir i> au lieu de Enregistrer i>.
Puis-je suggérer l'utilisation d'un client RDP basé sur le navigateur? Vous avez le choix open source de nos jours, de Guacamole freerdp-webconnect si vous avez des serveurs Linux ou myrtille pour Windows. Il existe également des logiciels commerciaux, avec plus de fonctionnalités (cela dépend de vos besoins) comme un client 2x RDP ou de votre logMein. P>
Les navigateurs sont du bac à sander pour éviter ce type de comportement que vous désirez. Vous ne voulez généralement pas que la visite d'une page aléatoire soit invoquée à une exécutable sur votre machine, ce qui fait potentiellement qui sait - quels dommages à celui-ci. Si quelque chose comme ça peut être rendu possible, cela devrait être fait avec des substitutions de sécurité. Et même alors, je ne pense pas que ce serait conseillé sans précautions. Supposons que
wtf.bat code> est remplacé. Qu'est-ce que le fichier de lot remplacé ne pourrait-il pas être terriblement bon pour les affaires?
J'ai vu des machines virtuelles accessibles via des contrôles ActiveX (c'est-à-dire uniquement) et entendu parler de VNC avec HTML5 Toile et WebSockets, ... Vous avez toujours des options, si vous voulez un accès de type RDP, je suppose. Mais sinon, en exécutant un fichier exécutable ou un fichier de commandes accessible localement, cela nécessitera des trous de sécurité d'ouverture dans un navigateur de votre choix.
Trois mots:
code>