CAPTURAS

c:\xampp\mysql\bin\mysql.exe -u root
#CREATE USER 'luis'@'localhost' IDENTIFIED BY 'luison';
#GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' WITH GRANT OPTION;
#FLUSH PRIVILEGES;
########------------SACAR HASH DE PROGRAMAS---------------################
$HASH = (Get-FileHash C:\Windows\system32\notepad.exe).HASH
$PROGRAMA = "notepad.exe"
########------FOREACH QUE RELACIONA PROCESOS, NOMBRE Y HASH-------##########
foreach($programas in get-process)
{
$programas.name
Get-FileHash $programas.path | select hash
"- - - - - - - -"
}
#Conectar con MySQL
#Cargar el espacio de nombres MySql.Data que proporciona acceso a clases que representan la arquitectura ADO.NET
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
#Crear un objeto MySql.Data.MySqlClient.MySqlConnection que representa una conexi贸n abierta a una base de datos del servidor MySQL
#Indicar en el constructor los param茅tros necesarios para realizar la conexi贸n: server, port, uid, pwd y database
$Connection = ([MySql.Data.MySqlClient.MySqlConnection]::new("server=" + "localhost" + ";port=3306;uid=" + "luis" + ";pwd=luison" + ";database="+"antivirus"+";SslMode=none"))
#Ejecutar el m茅todo Open para conectar a la base de datos de MySQL
$Connection.Open()
##########----------------INSERT-------------------------------------##########
$Query = 'INSERT INTO antivirus (HASH,PROGRAMA) VALUES ("'+$HASH+'","'+$PROGRAMA+'");'
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$DataSet.Tables[0]
$Connection.Close()
#########-----------------CONSULTA-----------------------------------##########
#Crear un objeto MySql.Data.MySqlClient.MySqlCommand que representa una instrucci贸n SQL para ejecutar contra una base de datos MySQL
#Indicar en el constructor la instrucci贸n SQL para ejecutar y la conexi贸n (realizada en el paso anterior)
$Query = 'select hash from antivirus;'
$Command = [MySql.Data.MySqlClient.MySqlCommand]::new($Query, $Connection)
#Crear un objeto MySql.Data.MySqlClient.MySqlDataAdapter que representa un conjunto de comandos de datos y una conexi贸n de base de datos que se utilizan para llenar un conjunto de datos y actualizar una base de datos MySQL
#Indicar en el constructor el objeto MySql.Data.MySqlClient.MySqlCommand creado anteriormente
$DataAdapter = [MySql.Data.MySqlClient.MySqlDataAdapter]::new($Command)
#Crear un objeto System.Data.DataSet que representa una cach茅 de datos en memoria en donde se almacenan los datos obtenidos del objeto MySql.Data.MySqlClient.MySqlDataAdapter
$DataSet = [System.Data.DataSet]::new()
#Agregar en System.Data.DataSet los datos del objeto MySql.Data.MySqlClient.MySqlDataAdapter
$DataAdapter.Fill($DataSet)
#Mostrar los datos que contiene System.Data.DataSet
$DataSet.Tables
#Cerrar la conexi贸n con MySQL cerrando el objeto MySql.Data.MySqlClient.MySqlConnection
$Connection.Close()
###########------------SUBIDA MASIVA DE HASH Y PROGRAMAS A UNA BBDD------##########
foreach($programas in get-process)
{
$PROGRAMAs.name
Get-FileHash $programas.path | select hash
$FILEHASH = (Get-FileHash $programas.path | select hash).hash
"- - - - - - - -"
#Cargar el espacio de nombres MySql.Data que proporciona acceso a clases que representan la arquitectura ADO.NET
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
#Crear un objeto MySql.Data.MySqlClient.MySqlConnection que representa una conexi贸n abierta a una base de datos del servidor MySQL
#Indicar en el constructor los param茅tros necesarios para realizar la conexi贸n: server, port, uid, pwd y database
$Connection = ([MySql.Data.MySqlClient.MySqlConnection]::new("server=" + "localhost" + ";port=3306;uid=" + "luis" + ";pwd=luison" + ";database="+"antivirus"+";SslMode=none"))
#Ejecutar el m茅todo Open para conectar a la base de datos de MySQL
$Connection.Open()
$Query = 'INSERT INTO antivirus (HASH,PROGRAMA) VALUES ("'+$FILEHASH+'","'+$PROGRAMAS.NAME+'");'
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$DataSet.Tables[0]
$Connection.Close()
}
#####PIDO EL HASH QUE TENGO EN EL PC DEL AD DE UN PROGRAMA
$PETICION = Invoke-Command -ScriptBlock {
(Get-FileHash C:\Windows\system32\notepad.exe).HASH
} -Computername "EQUIPO1"
##Iniciar BBDD
#Cargar el espacio de nombres MySql.Data que proporciona acceso a clases que representan la arquitectura ADO.NET
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
#Crear un objeto MySql.Data.MySqlClient.MySqlConnection que representa una conexi贸n abierta a una base de datos del servidor MySQL
#Indicar en el constructor los param茅tros necesarios para realizar la conexi贸n: server, port, uid, pwd y database
$Connection = ([MySql.Data.MySqlClient.MySqlConnection]::new("server=" + "localhost" + ";port=3306;uid=" + "luis" + ";pwd=luison" + ";database="+"antivirus"+";SslMode=none"))
#Ejecutar el m茅todo Open para conectar a la base de datos de MySQL
$Connection.Open()
#Crear un objeto MySql.Data.MySqlClient.MySqlCommand que representa una instrucci贸n SQL para ejecutar contra una base de datos MySQL
#Indicar en el constructor la instrucci贸n SQL para ejecutar y la conexi贸n (realizada en el paso anterior)
$Query = 'select hash from antivirus;'
$Command = [MySql.Data.MySqlClient.MySqlCommand]::new($Query, $Connection)
#Crear un objeto MySql.Data.MySqlClient.MySqlDataAdapter que representa un conjunto de comandos de datos y una conexi贸n de base de datos que se utilizan para llenar un conjunto de datos y actualizar una base de datos MySQL
#Indicar en el constructor el objeto MySql.Data.MySqlClient.MySqlCommand creado anteriormente
$DataAdapter = [MySql.Data.MySqlClient.MySqlDataAdapter]::new($Command)
#Crear un objeto System.Data.DataSet que representa una cach茅 de datos en memoria en donde se almacenan los datos obtenidos del objeto MySql.Data.MySqlClient.MySqlDataAdapter
$DataSet = [System.Data.DataSet]::new()
#Agregar en System.Data.DataSet los datos del objeto MySql.Data.MySqlClient.MySqlDataAdapter
$DataAdapter.Fill($DataSet)
#Mostrar los datos que contiene System.Data.DataSet
$DataSet.Tables
####-------------COMPARACION DE HASH
foreach($comparacion in $DataSet.tables)
{
If($PETICION -eq $comparacion)
{"TODO BIEN"}
else
{"Archivo modificado"}
}