dahiko
11-01-2022, 12:56
Всем привет!
Стоит задача: сравнивать результаты обучающихся (БД MySQL) с пользователями в Active Directory и считать процент (количество) не обученных.
Для этого начал писать скрипт на Powershell, в котором есть такое:
1. Выгрузить данные из MySQL (mysql.csv)
#Connection options
$constring="server=10.7.7.7;uid=myuser;pwd=mypassword;database=mydb;Pooling=False"
$mysql = New-Object MySql.Data.MySqlClient.MySqlConnection($constring)
$mysql.Open()
#Collect data from table
$sqlquery1 = "select * from mytable"
$req = New-Object Mysql.Data.MysqlClient.MySqlCommand($sqlquery1,$mysql)
$dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($req)
$dataSet = New-Object System.Data.DataSet
$dataAdapter.Fill($dataSet, "Query1") | Out-Null
#Export data to CSV
$dataSet.Tables["Query1"] | Export-Csv -path "C:\Users\dahiko\Desktop\mysql.csv" -Encoding UTF8 -NoTypeInformation
2. Выгрузить пользователей из определенной OU Active Directory (ad.csv)
$OUUsers=@(
'OU=AllUsers,OU=filial1,DC=my,DC=domain,DC=ru',
'OU=AllUserss,OU=filial2,DC=my,DC=domain,DC=ru')
$OUUsers | foreach { Get-ADUser -Filter {(Enabled -eq "True")} -SearchBase $_ -Properties *} | Select mail,Name, samaccountname, distinguishedName, whenCreated, department, title, city,description,Company,telephoneNumber,mobile | ConvertTo-CSV | Out-File "C:\Users\dahiko\Desktop\ad.csv"
Вот как теперь в файле mysql.csv найти всех, кто есть в файле ad.csv и высчитать процент необученных? Может у кого-то есть примеры чего-то похожего по сравнению двух файлов? В обоих файлах есть одинаковое поле "mail"
Заранее благодарен.
Стоит задача: сравнивать результаты обучающихся (БД MySQL) с пользователями в Active Directory и считать процент (количество) не обученных.
Для этого начал писать скрипт на Powershell, в котором есть такое:
1. Выгрузить данные из MySQL (mysql.csv)
#Connection options
$constring="server=10.7.7.7;uid=myuser;pwd=mypassword;database=mydb;Pooling=False"
$mysql = New-Object MySql.Data.MySqlClient.MySqlConnection($constring)
$mysql.Open()
#Collect data from table
$sqlquery1 = "select * from mytable"
$req = New-Object Mysql.Data.MysqlClient.MySqlCommand($sqlquery1,$mysql)
$dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($req)
$dataSet = New-Object System.Data.DataSet
$dataAdapter.Fill($dataSet, "Query1") | Out-Null
#Export data to CSV
$dataSet.Tables["Query1"] | Export-Csv -path "C:\Users\dahiko\Desktop\mysql.csv" -Encoding UTF8 -NoTypeInformation
2. Выгрузить пользователей из определенной OU Active Directory (ad.csv)
$OUUsers=@(
'OU=AllUsers,OU=filial1,DC=my,DC=domain,DC=ru',
'OU=AllUserss,OU=filial2,DC=my,DC=domain,DC=ru')
$OUUsers | foreach { Get-ADUser -Filter {(Enabled -eq "True")} -SearchBase $_ -Properties *} | Select mail,Name, samaccountname, distinguishedName, whenCreated, department, title, city,description,Company,telephoneNumber,mobile | ConvertTo-CSV | Out-File "C:\Users\dahiko\Desktop\ad.csv"
Вот как теперь в файле mysql.csv найти всех, кто есть в файле ad.csv и высчитать процент необученных? Может у кого-то есть примеры чего-то похожего по сравнению двух файлов? В обоих файлах есть одинаковое поле "mail"
Заранее благодарен.