Предположим у нас есть база данных MySQL (space) на удаленном сервере (192.168.0.200) и нам необходимо получить из неё информацию с помощью PowerShell скрипта.

  1. Устанавливаем MySql Connector/Net на сервер/рабочую станцию с которой будем запускать наш скрипт
  2. Подключаем библиотеку (обратите внимание, путь может отличаться)
Add-Type -Path "C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5\MySql.Data.dll"
  1. Устанавливаем соединение с нашей базой (убедитесь, что firewall не запрещает подключение и учетной записи MySQL даны все разрешения для подключения)
$db = New-Object MySql.Data.MySqlClient.MySqlConnection("
      server=192.168.0.200;
      port=3306;
      uid=userdb;
      pwd=passwordbase;
      database=space;
      Pooling=FALSE
      ")
$db.Open()
  1. Создаем команду, выполняем запрос...
$c = $db.CreateCommand()
$c.CommandText = 'SELECT id,date,file FROM products'
$row = $c.ExecuteReader()
  1. Перебираем результат, выводим значения таблицы
   write-host "id -------- Date --------------------- Path"

   while ($row.Read()) {
     write-host $row.GetInt32(0) " " $row.GetString(1) " " $row.GetString(2)
   }
  1. Закрываем соединение
$row.Close()
$db.Close()
  • Результат