Тестирование SQL Server с помощью Windows PowerShell

Изображение 1: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

Тестирование SQL Server с помощью Windows PowerShell — Часть 1
Изображение 2: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

Тестирование SQL Server с помощью Windows PowerShell — Часть 2
Рисунок 3: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

Тестирование SQL Server с помощью Windows PowerShell — часть 3

Muthusamy

Сетевое администрирование — В первой части этой серии статей была представлена ​​первая проверка SQL Server — проверка связи с хостом. Часть 2 представляет собой введение в проверку всех служб Windows, связанных с SQL Server, а третья часть — как проверить информацию об оборудовании и программном обеспечении. В следующей статье я покажу вам, как собирать информацию о сетевой карте и жестком диске с сервера.

Шаг 1

Введите или скопируйте и вставьте следующий код в C: CheckSQLServerCheckhd.ps1.

# Функция проверки информации HDD на сервере
Функция checkHD ([string] $ Имя хоста)
{
$ диски = get-wmiobject -class Win32_LogicalDisk

Рисунок 4: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>-computername $ hostname -errorvariable errorvar</em> 

если (-not $ errorvar)
{
choeach ($ drive trong $ диски)
{
если ($ drive.drivetype -eq «3»)
{
$ message = «DeviceID =» + $ drive.Deviceid + «Size =» +

Рисунок 5: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>$ drive.size / 1048576 + «МБ свободного места =» +</em> 

Рисунок 6: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>$ drive.freespace / 1048576 + "Использованный процент МБ =" +</em> 

Рисунок 7: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>(($ drive.Size / 1048576) - ($ drive.freespace / 1048576)) /</em> 

Рисунок 8: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>($ drive.Size / 1048576) * 100 + "%"</em> 

write-host $ message -background «GREEN» -foreground «BLACk»
}
}
}
}

Шаг 2

Введите или скопируйте и вставьте следующий код в C: CheckSQLServerChecknet.ps1.

# Функция проверки указанной выше информации сетевого адаптера

Рисунок 9: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>хост-машина</em> 

Функция чекнета ([string] $ Имя хоста)
{
$ netadapter = get-wmiobject -class win32_networkadapter

Изображение 10: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

</em>  <em>-computername $ hostname -errorvariable errorvar</em> 

если (-not $ errorvar)
{
foreach ($ адаптер переменного тока в $ адаптер переменного тока)
{
запись-хост «———————————————- —— «

Изображение 11 Тестового SQL Server с Windows PowerShell - Часть 4

</em>  <em>-фон "Синий" -фон "ЧЕРНЫЙ"</em> 

# $ message = «netadapter Enabled =» + $ netadapter.Enable
# write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «netadapterType =» + $ netadapter.netadapterType
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «Описание =» + $ netadapter.Description
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «Производитель =» + $ netadapter.Manufacturer
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «NetworkAddresses =» + $ netadapter.NetworkAddresses
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «PermanentAddress =» + $ netadapter.PermanentAddress
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «Physicalnetadapter =» + $ netadapter.Physicalnetadapter
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «ProductName =» + $ netadapter.ProductName
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «ServiceName =» + $ netadapter.ServiceName
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «StatusInfo =» + $ netadapter.StatusInfo
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «Скорость =» + $ netadapter.Speed
write-host $ message -background «GREEN» -foreground «BLACk»
$ message = «Status =» + $ netadapter.Status
write-host $ message -background «GREEN» -foreground «BLACk»
}
}
}

Шаг 3

Назначьте файлу C: CheckSQLServerCheckSQL_Lib.ps1 приведенный ниже код.

. ./checkhd.ps1
. ./checknet.ps1

Теперь C: CheckSQLServerCheckSQL_Lib.ps1 будет иметь pinghost, checkservices, checkhardware, checkOS, checkHD и checknet, как показано ниже.

# Исходный код все относящиеся к функциям CheckSQL
. ./PingHost.ps1
. ./checkservices.ps1
. ./checkhardware.ps1
. ./checkOS.ps1
. ./checkHD.ps1
. ./checknet.ps1

Примечание. В этот файл CheckSQL_Lib.ps1 будет добавлен источник новых скриптов, таких как checkhd.ps1 и checknet.ps1.

Шаг 4

Добавьте в файл C: CheckSQLServerCheckSQLServer.ps1 код ниже.

Хост записи «Проверка информации о жестком диске».
Запись-хост «…..»
checkHD $ Имя хоста
Write-host «Проверка информации о сетевом адаптере».
Запись-хост «…….»
checknet $ Имя хоста

Теперь C: CheckSQLServerCheckSQLServer.ps1 будет иметь как checkhd, так и checknet, как показано ниже. Мы добавили несколько операторов записи хоста, чтобы показать весь процесс.

# Цель: проверить различное состояние SQL Server
# Хост, экземпляры и базы данных.
# Автор: MAK
# Дата написания: 5 июня 2008 г.
парам (
[string] $ Имя хоста
)
$ global: errorvar = 0
. ./CheckSQL_Lib.ps1
Запись-хост «Проверка SQL Server».
Запись-хост «….»
«Write-host»
Write-host «Принятые аргументы: $ Hostname»
пишите хост «….»
Запись хоста «Проверка связи с хост-машиной»
пишите хост «….»
pinghost $ Имя хоста
if ($ global: errorvar -ne «узел недоступен»)
{
Write-host «Проверить службы Windows на хосте, связанном с SQL Server»
написать-host «…….. …»
checkservices $ Имя хоста
Write-host «Проверка информации об оборудовании».
Запись-хост «……»
checkhardware $ Имя хоста
Запись-хост «Проверка информации об ОС».
Запись-хост «…..»
checkOS $ Имя хоста
Хост записи «Проверка информации о жестком диске».
Запись-хост «…..»
checkHD $ Имя хоста
Write-host «Проверка информации о сетевом адаптере».
Запись-хост «…….»
checknet $ Имя хоста

}

Примечание: CheckSQLServer.ps1 будет обновлен с новыми условиями и новыми параметрами в следующих разделах этой серии.

Источник в основном загружает строки, перечисленные в файле сценария, и делает его доступным в течение всего сеанса PowerShell. В этом случае мы получаем сценарий, который основан на многих других сценариях.

Шаг 5

Давайте выполним сценарий CheckSQLServer.ps1, передав хост Powerpc в качестве аргумента, как показано ниже.

./CheckSQLServer.ps1 PowerServer2

Полученные вами результаты показаны ниже (см. Рисунок 1.0).

Проверка SQL Server.
….
Принятые аргументы: PowerServer2
….
Проверка связи с хост-машиной
….
PowerServer2 ДОСТУПЕН
Проверьте службы Windows на хосте, связанные с SQL Server
……… ..
Хост = PowerServer2 MSSQLSERVER Выполняется ОК Истинно. Администратор
Хост = PowerServer2 MSSQLServerADHelper100 Остановлен OK False
СЕТЕВАЯ СЛУЖБА NT AUTHORITY
Хост = PowerServer2 MSSQLServerOLAPService остановлен ОК
Ложный .Administrator
Хост = PowerServer2 SQLBrowser остановлен ОК Ложь
NT AUTHORITYLOCAL SERVICE
Хост = PowerServer2 SQLSERVERAGENT Остановлен OK False .Administrator
Хост = PowerServer2 SQLWriter остановлен OK False LocalSystem
Проверка информации об оборудовании.
……
Хост = PowerServer2
Описание = AT / AT СОВМЕСТИМО
NumberOfLogicalProcessors = 2
NumberOfProcessors = 1
TotalPhysicalMemory = 2145738752
Модель = OptiPlex GX270
Производитель = Dell Computer Corporation
PartOfDomain = Истина
CurrentTimeZone = -240
DaylightInEffect = True
Проверка информации об ОС.
…..
OSArchitecture = 32-разрядная версия
OSLanguage = 1033
OSProductSuite = 274
OSType = 18
BuildNumber = 6001
BuildType = Многопроцессорный бесплатно
Версия = 6.0.6001
WindowsDirectory = C: Windows
PlusVersionNumber =
FreePhysicalMemory = 1492684
FreeSpaceInPagingFiles = 2402648
FreeVirtualMemory = 3948148
PAEEnabled = Ложь
ServicePackMajorVersion = 0
ServicePackMinorVersion = 0
Проверка информации о жестком диске.
…..
DeviceID = C: Размер = 38143,99609375 МБ Свободное пространство = 23761,51953125 МБ
Используемый процент = 37,7057414937619
Проверка информации о сетевом адаптере.
…….
————————————————— —
netadapterType =
Описание = Минипорт WAN (SSTP)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (SSTP)
ServiceName = RasSstp
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (L2TP)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (L2TP)
ServiceName = Rasl2tp
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (PPTP)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (PPTP)
ServiceName = PptpMiniport
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (PPPOE)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (PPPOE)
ServiceName = RasPppoe
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (IPv6)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (IPv6)
ServiceName = NdisWan
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (сетевой монитор)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (сетевой монитор)
ServiceName = NdisWan
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Сетевое подключение Intel (R) PRO / 1000 MT
Производитель = Intel
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Сетевое подключение Intel (R) PRO / 1000 MT
ServiceName = E1G60
StatusInfo =
Скорость = 100000000
Статус =
————————————————— —
netadapterType =
Описание = Адаптер Microsoft ISATAP
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Адаптер Microsoft ISATAP
ServiceName = туннель
StatusInfo =
Скорость = 100000
Статус =
————————————————— —
netadapterType =
Описание = Минипорт WAN (IP)
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Минипорт WAN (IP)
ServiceName = NdisWan
StatusInfo =
Скорость =
Статус =
————————————————— —
netadapterType =
Описание = Адаптер Microsoft Tun Miniport
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Адаптер минипорта Microsoft Tun
ServiceName = tunmp
StatusInfo =
Скорость = 1073741824
Статус =
————————————————— —
netadapterType =
Описание = Асинхронный адаптер RAS
Производитель = Microsoft
NetworkAddresses =
PermanentAddress =
Physicalnetadapter =
ProductName = Асинхронный адаптер RAS
ServiceName = AsyncMac
StatusInfo =
Скорость =
Статус =

Изображение 12: Тестирование SQL Server с Windows PowerShell - Часть 4

Рисунок 1.0

Из полученных результатов вы можете увидеть информацию о жестком диске и сетевой карте.

ШАГ 6

Убедимся, что у скрипта на компьютере нет жесткого диска или сетевой карты.

./CheckSQLServer.ps1 TestMachine

Полученные результаты показаны ниже (см. Рисунок 1.1).

Результат

Проверка SQL Server.
….
Принятые аргументы: TestMachine
….
Проверка связи с хост-машиной
….
TestMachine недоступен

Изображение 13: Тестирование SQL Server с помощью Windows PowerShell - Часть 4

Рисунок 1.1.

Примечание: вы можете скачать код последней части 3 здесь.

Заключить

В четвертой части этой серии было показано, как получить доступ к информации о жестком диске и сетевой карте с помощью Windows PowerShell и WMI-Object.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.