Group.csv not added

This commit is contained in:
2023-07-27 12:53:58 +02:00
parent eea9c87f0d
commit 78128ca2ae
5 changed files with 116 additions and 42 deletions
+40 -38
View File
@@ -6,39 +6,40 @@ import mysql_connect
def adcontroller (ip,name):
command = ["powershell", "-Command",
"Get-ADUser -Filter * -Properties * | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'users.csv'"]
subprocess.run(command)
# CSV-Datei einlesen und Feldnamen auslesen
with open("users.csv", "r", encoding='utf-8-sig') as file:
reader = csv.DictReader(file)
fieldnames = reader.fieldnames
# Tabelle erstellen, falls sie noch nicht existiert
table_name = "Active-Directory-User"
create_table_query = f"CREATE TABLE IF NOT EXISTS `{table_name}` (id INT AUTO_INCREMENT PRIMARY KEY, importdate BIGINT(11), "
for field in fieldnames:
create_table_query += f"`{field}` TEXT, "
create_table_query = create_table_query.rstrip(", ") + ")"
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:
reader = csv.reader(file)
next(reader) # Überspringe die erste Zeile (Feldnamen)
for row in reader:
row = [cell if cell.strip() else "-" for cell in row]
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))})"
mysql_connect.add_user(insert_query, name, row)
# Datenbankverbindung schließen
command = ["powershell", "-Command",
"Get-ADGroupMember -Identity G-RDP-User | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'group.csv'"]
subprocess.run(command)
# command = ["powershell", "-Command",
# "Get-ADUser -Filter * -Properties * | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'users.csv'"]
# subprocess.run(command)
#
# # CSV-Datei einlesen und Feldnamen auslesen
# with open("users.csv", "r", encoding='utf-8-sig') as file:
# reader = csv.DictReader(file)
# fieldnames = reader.fieldnames
#
# # Tabelle erstellen, falls sie noch nicht existiert
# table_name = "Active-Directory-User"
# create_table_query = f"CREATE TABLE IF NOT EXISTS `{table_name}` (id INT AUTO_INCREMENT PRIMARY KEY, importdate BIGINT(11), "
# for field in fieldnames:
# create_table_query += f"`{field}` TEXT, "
# create_table_query = create_table_query.rstrip(", ") + ")"
# 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:
# reader = csv.reader(file)
# next(reader) # Überspringe die erste Zeile (Feldnamen)
# for row in reader:
# row = [cell if cell.strip() else "-" for cell in row]
# unix_time = int(datetime.now().timestamp())
# print(unix_time)
# row = [unix_time] + row
# insert_query = f"INSERT INTO `{table_name}` (importdate, `{'`, `'.join(fieldnames)}`) VALUES (%s, {', '.join(['%s'] * len(fieldnames))})"
# mysql_connect.add_user(insert_query, name, row)
#
# # Datenbankverbindung schließen
#
# command = ["powershell", "-Command",
# "Get-ADGroupMember -Identity G-RDP-User | Export-Csv -NoTypeInformation -Encoding UTF8 -Path 'group.csv'"]
# subprocess.run(command)
# CSV-Datei einlesen und Feldnamen auslesen
with open("group.csv", "r", encoding='utf-8-sig') as file:
@@ -60,10 +61,10 @@ 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"
result = mysql_connect.get_user(query_id,name, (sam_account_name,))
print(result)
if result:
user_id = result[0]
print(user_id)
update_query = f"UPDATE `{table_name}` SET "
for field in fieldnames:
if field != "SamAccountName": # Spaltenname nicht in das UPDATE einbeziehen
@@ -74,8 +75,7 @@ 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()
mysql_connect.add_user(update_query,name, row_data)
else:
insert_query = f"INSERT INTO `{table_name}` ("
insert_query += ", ".join(fieldnames) # Spaltennamen in die INSERT-Abfrage einbeziehen
@@ -83,6 +83,8 @@ def adcontroller (ip,name):
insert_query += ", ".join(["%s"] * (len(fieldnames) + 1)) # Zusätzliches %s für importdate
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)
unix_time = int(datetime.now().timestamp())
row_data = row_data + [unix_time]
print(row_data)
mysql_connect.add_user(insert_query, name, row_data)
# connection.commit()