Код Windows PowerShell дозволяє налаштовувати бази даних так, щоб в них зберігалося саме те, що потрібно вам.
Бази даних є найпопулярнішим способом зберігання даних. Так чому б не задіяти бази даних в такий СУБД, як SQL Server для зберігання деякої адміністративної інформації, яка могла б полегшити вам життя? Можна було б зберігати імена серверів, версії Windows, номери пакетів виправлень, ім'я останнього увійшов в систему адміністратора і т. П.
Це досить легко зробити засобами Windows PowerShell, тому що цю технологію можна використовувати для доступу, використовуючи функціональність доступу до баз даних з Microsoft .NET Framework. Тому це буде найменше нагадувати Windows PowerShell і найбільше - програму на C #. Однак необхідний код досить легко перетворити в шаблон. Ви можете просто взяти те, що я покажу в цій статті, і, внісши мінімальні виправлення, застосувати практично до будь-якої ситуації.
Сценарії для SQL
Єдиний виняток - LastLogon, в якому зберігаються дані типу datetime. Треба налаштувати SQL Server так, щоб в якості значення цього стовпця за замовчуванням використовувалася функція NOW. Таким чином, при додаванні нового рядка вона буде містити поточну дату і час, і їх не доведеться вказувати вручну. Колонки Reason треба призначити тип varchar (MAX), щоб в ньому можна було при необхідності розмістити багато тексту.
Ці два рядки пропонують користувачеві повідомити причину входу в систему сервера - це важлива інформація, яку треба відстежувати. Функція Replace замінює поодинокі одинарні лапки на подвійні, забезпечуючи, що інструкція SQL, яку ми пізніше створимо, буде працювати без помилок. Це не призначене для захисту від витончених атак з використанням впровадження SQL-коду. Зрештою, ми ж говоримо про адміністраторів, яким довіряємо, чи не так?
Цей рядок витягує інформацію про операційну систему:
$ Os = Get-WmiInfo Win32_OperatingSystem↵
Тут важливі ім'я сервера і версія поточного встановленого пакета виправлень. Може також знадобитися властивість BuildNumber, яке повідомляє наявну версію Windows.
Цей рядок завантажує ту частину .NET Framework, яка відповідає за роботу з базами даних:
Ці рядки створюють нове підключення до бази даних: