Change exchange_export.py adcontroller_export.py

rds_export.py
This commit is contained in:
2023-07-25 13:37:06 +02:00
parent 307add1530
commit 64252afecf
15 changed files with 329 additions and 236 deletions
+11 -25
View File
@@ -2,20 +2,14 @@ import mysql.connector
import subprocess
import csv
from datetime import datetime
import mysql_connect
def adcontroller (ip,name):
connection = mysql.connector.connect(
host="172.17.1.21",
user="root",
password="N53yBCswuawzBzS445VNAhWVMs3N59Gb9szEsrzXRBzarDqpdETpQeyt5v5CGe",
database="" + name
)
command = ["powershell", "-Command",
"Get-ADUser -Filter * -Properties * | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'users.csv'"]
subprocess.run(command)
cursor = connection.cursor()
# CSV-Datei einlesen und Feldnamen auslesen
with open("users.csv", "r", encoding='utf-8-sig') as file:
reader = csv.DictReader(file)
@@ -27,8 +21,7 @@ def adcontroller (ip,name):
for field in fieldnames:
create_table_query += f"`{field}` TEXT, "
create_table_query = create_table_query.rstrip(", ") + ")"
cursor.execute(create_table_query)
connection.commit()
mysql_connect.create_database(create_table_query,name)
# Daten aus der CSV-Datei in die Tabelle einfügen
with open("users.csv", "r", encoding='utf-8-sig') as file:
@@ -39,8 +32,7 @@ def adcontroller (ip,name):
unix_time = int(datetime.now().timestamp())
row = [unix_time] + row
insert_query = f"INSERT INTO `{table_name}` (importdate, `{'`, `'.join(fieldnames)}`) VALUES (%s, {', '.join(['%s'] * len(fieldnames))})"
cursor.execute(insert_query, row)
connection.commit()
mysql_connect.add_user(insert_query, name, row)
# Datenbankverbindung schließen
@@ -48,8 +40,6 @@ def adcontroller (ip,name):
"Get-ADGroupMember -Identity G-RDP-User | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'group.csv'"]
subprocess.run(command)
cursor = connection.cursor()
# CSV-Datei einlesen und Feldnamen auslesen
with open("group.csv", "r", encoding='utf-8-sig') as file:
reader = csv.DictReader(file)
@@ -59,8 +49,7 @@ def adcontroller (ip,name):
for field in fieldnames:
create_table_query += f"`{field}` TEXT, "
create_table_query = create_table_query.rstrip(", ") + ")"
cursor.execute(create_table_query)
connection.commit()
mysql_connect.create_database(create_table_query,name)
# Daten aus der CSV-Datei in die Tabelle aktualisieren oder einfügen
with open("group.csv", "r", encoding='utf-8-sig') as file:
@@ -70,8 +59,8 @@ def adcontroller (ip,name):
# Abfrage, um die ID für den Benutzernamen zu erhalten
query_id = f"SELECT id FROM `{table_name}` WHERE SamAccountName = %s"
cursor.execute(query_id, (sam_account_name,))
result = cursor.fetchone()
result = mysql_connect.get_user(query_id,name, (sam_account_name,))
print(result)
if result:
user_id = result[0]
@@ -85,8 +74,8 @@ def adcontroller (ip,name):
row_data = [row[field] for field in fieldnames if field != "SamAccountName"]
row_data.append(int(datetime.now().timestamp())) # Aktuelle Zeit als Unix-Timestamp
row_data.append(user_id)
cursor.execute(update_query, row_data)
connection.commit()
# cursor.execute(update_query, row_data)
# connection.commit()
else:
insert_query = f"INSERT INTO `{table_name}` ("
insert_query += ", ".join(fieldnames) # Spaltennamen in die INSERT-Abfrage einbeziehen
@@ -95,8 +84,5 @@ def adcontroller (ip,name):
insert_query += ")"
row_data = [row[field] for field in fieldnames]
row_data.append(int(datetime.now().timestamp())) # Aktuelle Zeit als Unix-Timestamp
cursor.execute(insert_query, row_data)
connection.commit()
# MySQL-Verbindung schließen
connection.close()
# cursor.execute(insert_query, row_data)
# connection.commit()