csc-cia-stne 0.0.77__py3-none-any.whl → 0.0.78__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- csc_cia_stne/utilitarios/functions/func_rdp.py +53 -11
- {csc_cia_stne-0.0.77.dist-info → csc_cia_stne-0.0.78.dist-info}/METADATA +1 -1
- {csc_cia_stne-0.0.77.dist-info → csc_cia_stne-0.0.78.dist-info}/RECORD +6 -6
- {csc_cia_stne-0.0.77.dist-info → csc_cia_stne-0.0.78.dist-info}/WHEEL +1 -1
- {csc_cia_stne-0.0.77.dist-info → csc_cia_stne-0.0.78.dist-info}/LICENCE +0 -0
- {csc_cia_stne-0.0.77.dist-info → csc_cia_stne-0.0.78.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,7 @@ import subprocess
|
|
3
3
|
import time
|
4
4
|
import pyautogui
|
5
5
|
import psutil
|
6
|
+
import pygetwindow as gw
|
6
7
|
import logging
|
7
8
|
pyautogui.USE_MOUSEINFO = False
|
8
9
|
log = logging.getLogger('__main__')
|
@@ -26,7 +27,21 @@ def obter_ip_conexao_rdp():
|
|
26
27
|
|
27
28
|
return None
|
28
29
|
|
29
|
-
def
|
30
|
+
def verificar_sessao_rdp()->bool:
|
31
|
+
"""Verifica se a sessão RDP está ativa"""
|
32
|
+
# Verifica se o processo mstsc.exe está rodando
|
33
|
+
for proc in psutil.process_iter(['name']):
|
34
|
+
if proc.info['name'] == 'mstsc.exe':
|
35
|
+
#return True
|
36
|
+
|
37
|
+
# Verifica se a janela da Área de Trabalho Remota está aberta
|
38
|
+
for window in gw.getAllTitles():
|
39
|
+
if "Área de Trabalho Remota" in window or "Remote Desktop" in window:
|
40
|
+
return True
|
41
|
+
|
42
|
+
return False
|
43
|
+
|
44
|
+
def conectar_rdp(host:str, usuario:str, senha:str)->bool:
|
30
45
|
"""Conecta via RDP em uma máquina remota
|
31
46
|
|
32
47
|
Args:
|
@@ -45,23 +60,50 @@ def conectar_rdp(host, usuario, senha):
|
|
45
60
|
|
46
61
|
try:
|
47
62
|
|
48
|
-
|
49
|
-
|
50
|
-
|
63
|
+
def criar_arquivo_rdp(host, usuario, caminho_rdp="conexao.rdp")->str:
|
64
|
+
"""Cria um arquivo .rdp para conexão RDP
|
65
|
+
Args:
|
66
|
+
host (str): host do computador remoto
|
67
|
+
usuario (str): Usuário
|
68
|
+
caminho_rdp (str): Caminho do arquivo .rdp
|
69
|
+
Returns:
|
70
|
+
str: Caminho do arquivo .rdp
|
71
|
+
"""
|
72
|
+
conteudo_rdp = f"""
|
73
|
+
screen mode id:i:2
|
74
|
+
desktopwidth:i:1920
|
75
|
+
desktopheight:i:1080
|
76
|
+
session bpp:i:32
|
77
|
+
winposstr:s:0,1,0,0,800,600
|
78
|
+
full address:s:{host}
|
79
|
+
username:s:{usuario}
|
80
|
+
"""
|
81
|
+
with open(caminho_rdp, "w") as arquivo:
|
82
|
+
arquivo.write(conteudo_rdp.strip())
|
83
|
+
|
84
|
+
return caminho_rdp
|
51
85
|
|
52
|
-
|
53
|
-
|
54
|
-
|
86
|
+
caminho_rdp = criar_arquivo_rdp(host, usuario)
|
87
|
+
subprocess.run(f"start mstsc {caminho_rdp}", shell=True)
|
88
|
+
# Espera a conexão ser feita e confirma que realmente quer fazer a conexão com o computador remoto de forma insegura (certificado)
|
89
|
+
time.sleep(10)
|
90
|
+
pyautogui.press('left')
|
91
|
+
pyautogui.press('enter')
|
92
|
+
# Espera 3 segundos para digitar a senha e dar enter
|
93
|
+
time.sleep(3)
|
94
|
+
pyautogui.write(senha)
|
55
95
|
pyautogui.press('enter')
|
56
|
-
|
96
|
+
# Espera 5 segundos para aparecer a tela sobre o certificado e aceitar a conexão de forma insegura (certificado)
|
97
|
+
time.sleep(5)
|
57
98
|
pyautogui.press('left')
|
58
99
|
pyautogui.press('enter')
|
100
|
+
# Aguarda 5 segundos e verifica se a conexão foi feita com sucesso
|
59
101
|
time.sleep(5)
|
60
|
-
return
|
102
|
+
return verificar_sessao_rdp()
|
61
103
|
|
62
104
|
except Exception as e:
|
63
|
-
|
64
|
-
log.error(f"
|
105
|
+
|
106
|
+
log.error(f"Erro ao conectar à área de trabalho remota:\n{e}")
|
65
107
|
return False
|
66
108
|
|
67
109
|
elif sistema == "Linux":
|
@@ -17,7 +17,7 @@ csc_cia_stne/utilitarios/functions/__init__.py,sha256=nUcjSI23FxfX18AQ8Q_Gimyxme
|
|
17
17
|
csc_cia_stne/utilitarios/functions/func_b64.py,sha256=XGU34BIQQXWXBS0yM2B4A2wDlcrMl1unIJXjq4lpLnk,1254
|
18
18
|
csc_cia_stne/utilitarios/functions/func_converters.py,sha256=EY1zvlBaRX7G1MceVSiRXwwKDQDZwUO9iECBL0fe5iU,481
|
19
19
|
csc_cia_stne/utilitarios/functions/func_get_secret.py,sha256=khTtUTE-acdA9lIM8l7weejDSqoTYlf59ypBdC_F_lw,2150
|
20
|
-
csc_cia_stne/utilitarios/functions/func_rdp.py,sha256=
|
20
|
+
csc_cia_stne/utilitarios/functions/func_rdp.py,sha256=bHzMEv2mofRLMB0DswW1-mLtYqQdrGPz3Lnt6xQNxFA,4713
|
21
21
|
csc_cia_stne/utilitarios/functions/func_recriar_pastas.py,sha256=4whZpB3aJQaCPJ3osMAQpKrzEhqYtJbljGWlx_OvKIM,826
|
22
22
|
csc_cia_stne/utilitarios/functions/func_settings.py,sha256=XwlfqdcfocXQ8kTsDKZ6GsAtpzr0_u44AOTIMtdem7U,2059
|
23
23
|
csc_cia_stne/utilitarios/functions/func_titulo.py,sha256=bH4tYxovTARF-g2kWUK_GIzzXt8egbVdp6mWD6fc_3I,5345
|
@@ -26,8 +26,8 @@ csc_cia_stne/utilitarios/validations/GoogleDriveValidator.py,sha256=Q1oZTae4hDJ2
|
|
26
26
|
csc_cia_stne/utilitarios/validations/ServiceNowValidator.py,sha256=yleKUIo1ZfyloP9fDPNjv3JJXdLcocT81WIgRSYmqEA,14423
|
27
27
|
csc_cia_stne/utilitarios/validations/__init__.py,sha256=O_qyEU2ji3u6LHUXZCXvUFsMpoMWL625qqHTXyXivTA,106
|
28
28
|
csc_cia_stne/utilitarios/validations/web_validator.py,sha256=HYKYSpDv1RvRjZIuwTPt-AbEz-9392MxM_O329iYuSA,5722
|
29
|
-
csc_cia_stne-0.0.
|
30
|
-
csc_cia_stne-0.0.
|
31
|
-
csc_cia_stne-0.0.
|
32
|
-
csc_cia_stne-0.0.
|
33
|
-
csc_cia_stne-0.0.
|
29
|
+
csc_cia_stne-0.0.78.dist-info/LICENCE,sha256=LPGMtgKki2C3KEZP7hDhA1HBrlq5JCHkIeStUCLEMx4,1073
|
30
|
+
csc_cia_stne-0.0.78.dist-info/METADATA,sha256=kNzJVWUxezjxCKq7mcBMPwM_be-uT6r25gnJb5Dn_Nc,1340
|
31
|
+
csc_cia_stne-0.0.78.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
|
32
|
+
csc_cia_stne-0.0.78.dist-info/top_level.txt,sha256=ldo7GVv3tQx5KJvwBzdZzzQmjPys2NDVVn1rv0BOF2Q,13
|
33
|
+
csc_cia_stne-0.0.78.dist-info/RECORD,,
|
File without changes
|
File without changes
|