Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt

Einführung

Wenn ich eine RDP-Verbindung zu mehreren Terminals herstellen muss, dachte ich, es wäre mühsam, die Excel-Liste zu betrachten und manuell eine Verbindung herzustellen. Deshalb habe ich versucht, RDP-Dateien gemeinsam in Python zu erstellen. . !!

Vorbereitung

Die Eingabeinformationen und die Python-Datei werden unten angezeigt.

Informationen eingeben

Erstellen Sie die folgenden zwei Dateien.

  1. RDP-Verbindungszielliste (Verbindungszielliste \ _sample.xlsx)
  2. RDP-Vorlage (template.rdp)

1. RDP-Verbindungszielliste (Verbindungszielliste \ _sample.xlsx)

image.png

2. RDP-Vorlage (template.rdp)

Speichern Sie es in Ihrem Arbeitsverzeichnis als template.rdp und verwenden Sie "Computeradresse" als "Computeradresse", "Benutzername" als "Benutzername \ _for \ _RDP" und "Speichern unter" wie unten gezeigt. Stellen. image.png

Die RDP-Verbindungsdatei (template.rdp) sieht beim Öffnen mit einem Texteditor wie folgt aus. Es kann gelesen werden, dass das Passwort nicht in der RDP-Datei selbst gespeichert ist.

template.rdp


screen mode id:i:2
use multimon:i:1
desktopwidth:i:1920
desktopheight:i:1080
session bpp:i:32
winposstr:s:0,1,759,0,980,270
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:7
networkautodetect:i:1
bandwidthautodetect:i:1
displayconnectionbar:i:1
enableworkspacereconnect:i:0
disable wallpaper:i:0
allow font smoothing:i:0
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
full address:s:ComputerAddress
audiomode:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
redirectclipboard:i:1
redirectposdevices:i:0
autoreconnection enabled:i:1
authentication level:i:2
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationmode:i:0
alternate shell:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
promptcredentialonce:i:0
gatewaybrokeringtype:i:0
use redirection server name:i:0
rdgiskdcproxy:i:0
kdcproxyname:s:
drivestoredirect:s:
camerastoredirect:s:*
devicestoredirect:s:*
username:s:UserName_for_RDP

Python-Datei

RDP_File_Generator.py



# -*- coding: utf-8 -*-
"""
PGM zur Erstellung von RDP-Dateien
"""

import tkinter, tkinter.filedialog, sys, os
import pandas as pd

dir1 = r"C:\Users\XXXXX\Desktop\xxxxxx"
#↑ Geben Sie den Dateipfad an, in dem die "RDP-Verbindungszielliste" und die "RDP-Vorlage" gespeichert sind.

##Die Regel von tkinter.
root = tkinter.Tk()
root.withdraw()

msg1 = 'Bitte wählen Sie eine Zielliste'
typ1 = [('Excel-Datei','*.xlsx')] 
inFile1 = tkinter.filedialog.askopenfilename(title=msg1, filetypes = typ1, initialdir = dir1) 
if (not inFile1): #[Stornieren]Verarbeitung zum Zeitpunkt des Klickens
  print('Bitte wählen Sie eine Datei aus.')
  sys.exit

input_book1 = pd.ExcelFile(inFile1)
input_sheet_name1 = input_book1.sheet_names
input_sheet_df1 = input_book1.parse(input_sheet_name1[0],header=3)
df_s = input_sheet_df1.iloc[:,2:]

msg2 = 'Bitte wählen Sie eine RDP-Datei aus'
typ2 = [('RDP-Datei','*.rdp')] 
inFile2 = tkinter.filedialog.askopenfilename(title=msg2, filetypes = typ2, initialdir = dir1) 
if (not inFile1): #[Stornieren]Verarbeitung zum Zeitpunkt des Klickens
  print('Bitte wählen Sie eine Datei aus.')
  sys.exit
  
  
path_name = os.path.dirname(inFile2)
output_folder_path = os.path.join(path_name,"output")
##Zielordner für die Ausgabe der RDP-Datei erstellen (vorhanden)_ok:Überspringen, falls vorhanden)
os.makedirs(output_folder_path,exist_ok = True)
  
##Öffnen Sie die RDP-Vorlagendatei als Textdatei
with open(inFile2,encoding='utf_16') as f:
  s = f.read()

##Generieren Sie so viele RDP-Dateien, wie Ziele in der Zielliste enthalten sind
for i in range(len(df_s)):
  temp = s
  temp = temp.replace("UserName_for_RDP", df_s["Benutzeridentifikation"].iat[i])
  temp = temp.replace("ComputerAddress", df_s["IP Adresse"].iat[i])
  path_w = os.path.join(output_folder_path,df_s["Benutzeridentifikation"].iat[i]+".rdp")
  with open(path_w,mode="w") as f:
    f.write(temp)

Versuche zu rennen

Unten ist das Ausführungsbild.

Wenn Sie "RDP_File_Generator.py" ausführen, wird zunächst ein Dialogfeld von tkinter angezeigt. Wählen Sie daher die Liste der Verbindungsziele aus. image.png

Wählen Sie dann eine Vorlage für Ihre RDP-Datei aus. image.png image.png

Ein Ausgabeordner wird erstellt und RDP-Dateien werden auf einmal ausgegeben! Es ist ein Erfolg! !!

abschließend

Da das Kennwort nicht in die RDP-Datei eingebettet ist, gibt es immer noch Probleme, das Kennwort einzugeben und die Anmeldeinformationen bei der ersten Verbindung auf dem Verbindungsquell-PC zu speichern. Ich halte dies jedoch für zweckmäßig. Wenn Sie möchten, lesen Sie es bitte. Ich würde mich freuen, wenn Sie könnten!

Recommended Posts

Ich habe viele Dateien für die RDP-Verbindung mit Python erstellt
Ich habe mit Python eine Lotterie gemacht.
Ich habe mit Python einen Daemon erstellt
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe mit Python eine Hex-Map erstellt
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe mit Python einen Neuronensimulator erstellt
Ich habe eine Bibliothek erstellt, die Konfigurationsdateien mit Python einfach lesen kann
Ich habe eine Python-Wörterbuchdatei für Neocomplete erstellt
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
Ich habe mit Python ein Bin-Picking-Spiel gemacht
Mattermost Bot mit Python gemacht (+ Flask)
Ich habe einen Twitter BOT mit GAE (Python) gemacht (mit einer Referenz)
Ich habe mit Python ein Weihnachtsbaum-Beleuchtungsspiel gemacht
Ich habe mit Tkinter ein Fenster für die Protokollausgabe erstellt
Ich habe einen Blackjack mit Python gemacht!
Ich habe mit Python eine App für die Benachrichtigung über Netznachrichten erstellt
Ich habe eine VM erstellt, auf der OpenCV für Python ausgeführt wird
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
[Python] Ich habe einen Klassifikator für Iris erstellt [Maschinelles Lernen]
Ich habe einen Python-Text gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich habe ein Paket erstellt, um Zeitreihen mit Python zu filtern
[VSCode] Ich habe ein Benutzer-Snippet für Python-Druck-F-String erstellt
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Ich habe einen Ressourcenmonitor für Raspberry Pi mit einer Tabelle erstellt
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren
Drehen Sie ein Array von Zeichenfolgen mit einer for-Anweisung (Python3).
Ich habe einen Line-Bot mit Python gemacht!
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
Ich habe ein Paket erstellt, das morphologische Analysegeräte mit Python vergleichen kann
Ich habe mit Python, Flask und Heroku ein Nyanko-Tweet-Formular erstellt
Ich suchte mit Deep Learning nach einer ähnlichen Karte von Hearthstone
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
[Python] Ich habe einen Bildbetrachter mit einer einfachen Sortierfunktion erstellt.
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
Ich habe einen Pokerspielserver Chat-Holdem mit Websocket mit Python erstellt
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
Ich habe eine Python-Wrapper-Bibliothek für die Docomo-Bilderkennungs-API erstellt.
Ich habe viel recherchiert, wie Python ausgeführt wird
Ich habe ein Dash-Docset für Holoviews erstellt
Ich habe eine Heatmap mit Seaborn [Python] gezeichnet.
Verbinde viel Python oder und und
Ich habe eine funktionale Sprache mit Python ausprobiert
Was ich mit Python-Arrays gemacht habe
Debuggen Sie die MySQL-Verbindung mit Python MySQL.connector
Ich habe ein Lebensspiel mit Numpy gemacht
Ich habe einen Hanko-Generator mit GAN gemacht