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
+5 -16
View File
@@ -2,14 +2,11 @@ import mysql.connector
import subprocess
import csv
from datetime import datetime
import mysql_connect
def exchange (ip,name):
connection = mysql.connector.connect(
host="172.17.1.21",
user="root",
password="N53yBCswuawzBzS445VNAhWVMs3N59Gb9szEsrzXRBzarDqpdETpQeyt5v5CGe",
database="" + name
)
exchange_commands = "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn; Get-Mailbox | Select-Object PSComputerName, RunspaceId, PSShowComputerName, Database, UseDatabaseRetentionDefaults, RetainDeletedItemsUntilBackup, IsHierarchyReady, IsHierarchySyncEnabled,RetentionPolicy, ExchangeGuid, AdminDisplayVersion, ExchangeUserAccountControl, IsMailboxEnabled,ProhibitSendQuota, ProhibitSendReceiveQuota, RecoverableItemsQuota, RecoverableItemsWarningQuota,CalendarLoggingQuota, IsResource, IsLinked, IsShared, IsRootPublicFolderMailbox, LinkedMasterAccount, ResetPasswordOnNextLogon,ResourceType, RoomMailboxAccountEnabled, SamAccountName, ServerLegacyDN, UseDatabaseQuotaDefaults,IssueWarningQuota, RulesQuota, UserPrincipalName, RoleAssignmentPolicy, EffectivePublicFolderMailbox, SharingPolicy,ArchiveQuota, ArchiveWarningQuota, DisabledMailboxLocations, CalendarVersionStoreDisabled, AuditEnabled,AuditLogAgeLimit, WhenMailboxCreated, AccountDisabled, Alias, OrganizationalUnit, DisplayName,LegacyExchangeDN, MaxSendSize, MaxReceiveSize, EmailAddressPolicyEnabled, PrimarySmtpAddress,RecipientType, RecipientTypeDetails, WindowsEmailAddress, Identity, IsValid, ExchangeVersion,DistinguishedName, Guid, ObjectCategory, WhenChanged, WhenCreated, WhenChangedUTC, WhenCreatedUTC,OrganizationId, Id, OriginatingServer | Export-Csv -Path 'exuser.csv' -NoTypeInformation -Encoding UTF8"
# PowerShell als Subprozess ausführen
@@ -18,14 +15,11 @@ def exchange (ip,name):
# Warte auf den Abschluss des PowerShell-Prozesses
process.communicate()
cursor = connection.cursor()
# CSV-Datei einlesen und Feldnamen auslesen
with open("exuser.csv", "r", encoding='utf-8-sig') as file:
reader = csv.DictReader(file)
fieldnames = reader.fieldnames
# Tabelle erstellen, falls sie noch nicht existiert
table_name = "Exchange-User"
create_table_query = f"CREATE TABLE IF NOT EXISTS `{table_name}` (id INT AUTO_INCREMENT PRIMARY KEY, importdate INT(11), "
@@ -38,8 +32,7 @@ def exchange (ip,name):
row_length = len(create_table_query)
print(row_length)
print(create_table_query)
cursor.execute(create_table_query)
connection.commit()
mysql_connect.create_database(create_table_query,name)
with open("exuser.csv", "r", encoding='utf-8-sig') as file:
reader = csv.reader(file)
@@ -55,8 +48,4 @@ def exchange (ip,name):
# Führe das Einfüge-Query aus
insert_query = f"INSERT INTO `{table_name}` (importdate, `{'`, `'.join(fieldnames)}`) VALUES (%s, {', '.join(['%s'] * len(fieldnames))})"
cursor.execute(insert_query, row)
connection.commit()
# Datenbankverbindung schließen
connection.close()
mysql_connect.add_user(insert_query, name, row)