Vous devez depuis le serveur MySQL autoriser d'être accédé par une autre machine. Pour cela, ouvrez une console MySQL et tapez:
GRANT ALL ON *.* to root@'192.168.1.196' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Une fois le connector installé, localisez la DLL MySQL.Data.dll (normalement localisée a C:\Program Files\MySQL\MySQL Connector Net
Il faut alors charger l'assemblie dans la session Powershell comme ceci :
[system.reflection.Assembly]::LoadFrom(“C:\Program Files\MySQL\MySQL Connector Net 6.4.4\Assemblies\v2.0\MySQL.Data.dll”)
Puis voici deux petites commandes similaires au PHP:
function mysql_connect([string]$ip,[string]$Login,[string]$Password,[string]$Database) {
$dbconnect = New-Object MySql.Data.MySqlClient.MySqlConnection
$dbconnect.ConnectionString = “server=$ip;user id=$login;password=$password;database=$database;pooling=false”
$dbconnect.Open()
$global:db = $dbconnect
$dbconnect
}
function mysql_query([string]$Query,[MySql.Data.MySqlClient.MySqlConnection]$Db) {
$sql = New-Object MySql.Data.MySqlClient.MySqlCommand
if($db -eq $null) {
if($global:db -eq $null) { throw "Pas de connexion spécifiée" }
else { $db = $global:db }
}
if($db.State -ne "Open") {
#throw "Connexion spécifié non établie"
# on ré-ouvre la connexion car elle peut-être fermée...
$db.Open()
}
$sql.Connection = $db
$sql.CommandText = $query
$sql.ExecuteNonQuery()
}
Que l'on utilise comme ceci :
$dbconnect = mysql_connect -Ip 192.168.1.243 -Login "root" -Password "azerty" -Database "stock" mysql_query -Query "insert into connexion VALUES (NULL, '$mavar_powershell', NOW())"