J'ai créé beaucoup de fichiers pour la connexion RDP avec Python

introduction

Lorsque j'ai besoin d'établir une connexion RDP à plusieurs terminaux, j'ai pensé qu'il serait gênant de consulter la liste Excel et de me connecter manuellement, j'ai donc essayé de créer des fichiers RDP collectivement en Python. . !!

Préparation

Les informations d'entrée et le fichier Python sont affichés ci-dessous.

Informations d'entrée

Créez les deux fichiers suivants.

  1. Liste de destinations de connexion RDP (liste de destinations de connexion \ _sample.xlsx)
  2. Modèle RDP (template.rdp)

1. Liste de destinations de connexion RDP (liste de destinations de connexion \ _sample.xlsx)

image.png

2. Modèle RDP (template.rdp)

Enregistrez-le dans votre répertoire de travail sous le nom template.rdp en utilisant "Adresse ordinateur", "Nom d'utilisateur" sous "Nom d'utilisateur \ _for \ _RDP" et "Enregistrer sous" comme indiqué ci-dessous. Mettre. image.png

Le fichier de connexion RDP (template.rdp) se présente comme suit lorsqu'il est ouvert avec un éditeur de texte. On peut lire que le mot de passe n'est pas enregistré dans le fichier RDP lui-même.

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

Fichier Python

RDP_File_Generator.py



# -*- coding: utf-8 -*-
"""
Création de fichier RDP PGM
"""

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

dir1 = r"C:\Users\XXXXX\Desktop\xxxxxx"
#↑ Spécifiez le chemin du fichier qui stocke la "liste de destination de connexion RDP" et le "modèle RDP"

##La règle de tkinter.
root = tkinter.Tk()
root.withdraw()

msg1 = 'Veuillez sélectionner une liste de destinations'
typ1 = [('fichier Excel','*.xlsx')] 
inFile1 = tkinter.filedialog.askopenfilename(title=msg1, filetypes = typ1, initialdir = dir1) 
if (not inFile1): #[Annuler]Traitement au moment du clic
  print('Veuillez sélectionner un fichier.')
  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 = 'Veuillez sélectionner un fichier RDP'
typ2 = [('Fichier RDP','*.rdp')] 
inFile2 = tkinter.filedialog.askopenfilename(title=msg2, filetypes = typ2, initialdir = dir1) 
if (not inFile1): #[Annuler]Traitement au moment du clic
  print('Veuillez sélectionner un fichier.')
  sys.exit
  
  
path_name = os.path.dirname(inFile2)
output_folder_path = os.path.join(path_name,"output")
##Créer un dossier de destination de sortie de fichier RDP (existant)_ok:Ignorer si existant)
os.makedirs(output_folder_path,exist_ok = True)
  
##Ouvrez le fichier de modèle RDP en tant que fichier texte
with open(inFile2,encoding='utf_16') as f:
  s = f.read()

##Générez autant de fichiers RDP que de destinations dans la liste de destinations
for i in range(len(df_s)):
  temp = s
  temp = temp.replace("UserName_for_RDP", df_s["Identifiant d'utilisateur"].iat[i])
  temp = temp.replace("ComputerAddress", df_s["adresse IP"].iat[i])
  path_w = os.path.join(output_folder_path,df_s["Identifiant d'utilisateur"].iat[i]+".rdp")
  with open(path_w,mode="w") as f:
    f.write(temp)

Essayez de courir

Ci-dessous, l'image de l'exécution.

Tout d'abord, lorsque vous exécutez "RDP_File_Generator.py", une boîte de dialogue de tkinter sera affichée, donc sélectionnez la liste de destination de connexion. image.png

Sélectionnez ensuite un modèle pour votre fichier RDP. image.png image.png

Un dossier de sortie est créé et les fichiers RDP y sont imprimés en même temps! C'est un succès! !!

en conclusion

Étant donné que le mot de passe n'est pas intégré dans le fichier RDP, il est toujours difficile de saisir le mot de passe et d'enregistrer les informations d'identification sur le PC source de connexion lors de la première connexion, mais je pense que c'est pratique, veuillez donc vous y référer si vous le souhaitez. Je serais heureux si vous le pouviez!

Recommended Posts

J'ai créé beaucoup de fichiers pour la connexion RDP avec Python
J'ai fait une loterie avec Python.
J'ai créé un démon avec Python
J'ai fait un compteur de caractères avec Python
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
J'ai créé une bibliothèque qui lit facilement les fichiers de configuration avec Python
J'ai créé un fichier de dictionnaire python pour Neocomplete
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
J'ai fait un jeu d'éclairage de sapin de Noël avec Python
J'ai créé une fenêtre pour la sortie du journal avec Tkinter
J'ai fait un blackjack avec du python!
J'ai créé une application de notification de nouvelles en ligne avec Python
J'ai créé une VM qui exécute OpenCV pour Python
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
J'ai essayé de faire LINE BOT avec Python et Heroku
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai fait un texte Python
J'ai fait un blackjack avec Python.
J'ai créé wordcloud avec Python.
J'ai fait un jeu de frappe simple avec tkinter de Python
J'ai créé un package pour filtrer les séries chronologiques avec python
[VSCode] J'ai créé un extrait d'utilisateur pour Python print f-string
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
J'ai créé un moniteur de ressources pour Raspberry Pi avec une feuille de calcul
J'ai fait un jeu de puzzle (comme) avec Tkinter of Python
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
Tourner un tableau de chaînes avec une instruction for (Python3)
J'ai fait un Line-bot avec Python!
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
J'ai créé un formulaire de tweet Nyanko avec Python, Flask et Heroku
J'ai recherché une carte similaire de Hearthstone avec Deep Learning
J'ai essayé de créer une liste de nombres premiers avec python
L'histoire de la création d'un pilote standard pour db avec python.
[Python] J'ai créé une visionneuse d'images avec une fonction de tri simple.
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
J'ai essayé de créer un outil d'échafaudage pour le framework Web Python Bottle
J'ai créé un chat-holdem de serveur de jeu de poker en utilisant websocket avec python
Obtenez une liste de fichiers dans un dossier avec python sans chemin
J'ai créé une bibliothèque de wrapper Python pour l'API de reconnaissance d'images docomo.
J'ai fait beaucoup de recherches sur la façon dont Python est exécuté
J'ai créé un docset de tableau de bord pour Holoviews
J'ai dessiné une carte thermique avec Seaborn [Python]
Connectez beaucoup de Python ou et et
J'ai essayé un langage fonctionnel avec Python
Ce que j'ai fait avec les tableaux Python
déboguer la connexion mysql avec python mysql.connector
J'ai fait un jeu de vie avec Numpy
J'ai fait un générateur Hanko avec GAN