Tải bản đầy đủ (.pdf) (8 trang)

Tài liệu Kiểm tra SQL Server bằng Windows PowerShell – Phần 4 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (221.48 KB, 8 trang )

Kiểm tra SQL Server bằng Windows PowerShell – Phần 4

Trong phần tiếp theo này, chúng tôi sẽ giới thiệu cho các bạn các
thu thập các thông tin về card mạng và ổ đĩa cứng từ máy chủ.

Bước 1
Đánh hoặc copy và paste đoạn mã dưới đây vào
C:\CheckSQLServer\Checkhd.ps1.
#Function to check the HDD information on the host
machine
Function checkHD([string] $Hostname )
{
$drives=get-wmiobject -class Win32_LogicalDisk
-computername $hostname -errorvariable errorvar
if (-not $errorvar)
{
foreach ($drive in $drives)
{
if ($drive.drivetype -eq "3" )
{
$message= "DeviceID="+$drive.Deviceid+" Size="+
$drive.size/1048576+"MB Free Space="+
$drive.freespace/1048576 +"MB Percentage Used=" +
(($drive.Size/1048576)-($drive.freespace/1048576))/
($drive.Size/1048576) *100+"% "
write-host $message -background "GREEN" -foreground "BLACk"
}
}
}
}
Bước 2


Đánh hoặc copy và paste đoạn mã dưới đây vào C:\CheckSQLServer\Checknet.ps1.
#Function to check the Network netadapter information on the
host machine
Function checknet([string] $Hostname )
{
$netadapter=get-wmiobject -class win32_networkadapter
-computername $hostname -errorvariable errorvar
if (-not $errorvar)
{
foreach ($netadapter in $netadapter)
{
write-host "---------------------------------------------------"
-background "Blue" -foreground "BLACk"
#$message= "netadapter Enabled="+$netadapter.Enable
#write-host $message -background "GREEN" -foreground "BLACk"
$message= "netadapterType="+$netadapter.netadapterType
write-host $message -background "GREEN" -foreground "BLACk"
$message= "Description="+$netadapter.Description
write-host $message -background "GREEN" -foreground "BLACk"
$message= "Manufacturer="+$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= "Speed="+$netadapter.Speed
write-host $message -background "GREEN" -foreground "BLACk"
$message= "Status="+$netadapter.Status
write-host $message -background "GREEN" -foreground "BLACk"
}
}
}
Bước 3
Gán vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 đoạn mã dưới đây.
. ./checkhd.ps1
. ./checknet.ps1
Lúc này C:\CheckSQLServer\CheckSQL_Lib.ps1 sẽ có pinghost, checkservices, checkhardware,
checkOS, checkHD và checknet như thể hiện bên dưới.
#Source all the functions relate to CheckSQL
. ./PingHost.ps1
. ./checkservices.ps1
. ./checkhardware.ps1
. ./checkOS.ps1
. ./checkHD.ps1
. ./checknet.ps1
Lưu ý: File CheckSQL_Lib.ps1 này sẽ được cập nhật với nguồn dẫn của các kịch bản mới như
checkhd.ps1 và checknet.ps1.
Bước 4
Gắn thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 đoạn mã dưới đây.
Write-host "Checking HDD Information....."
Write-host "............................."
checkHD $Hostname

Write-host "Checking Network Adapter Information....."
Write-host "........................................."
checknet $Hostname
Lúc này C:\CheckSQLServer\CheckSQLServer.ps1 sẽ có cả checkhd và checknet như thể hiên
dưới. Chúng tôi đã thêm một số tuyên bố write-host để hiện toàn bộ quá trình.
#Objective: To check various status of SQL Server
#Host, instances and databases.
#Author: MAK
#Date Written: June 5, 2008
param (
[string] $Hostname
)
$global:errorvar=0
. ./CheckSQL_Lib.ps1
Write-host "Checking SQL Server....."
Write-host "........................"
Write-host " "
Write-host "Arguments accepted : $Hostname"
write-host "........................"
Write-host "Pinging the host machine"
write-host "........................"
pinghost $Hostname
if ($global:errorvar -ne "host not reachable")
{
Write-host "Checking windows services on the host related to SQL Server"
write-host "..........................................................."
checkservices $Hostname
Write-host "Checking hardware Information....."
Write-host ".................................."
checkhardware $Hostname

Write-host "Checking OS Information....."
Write-host "............................."
checkOS $Hostname
Write-host "Checking HDD Information....."
Write-host "............................."
checkHD $Hostname
Write-host "Checking Network Adapter Information....."
Write-host "........................................."
checknet $Hostname

}
Lưu ý: CheckSQLServer.ps1 sẽ được cập nhật các điều kiện mới và các tham số mới trong các
phần sau của loạt bài này.
Nguồn dẫn cơ bản load các hàng được liệt kê trong file kịch bản và làm cho nó trở lên hiện hữu
trong toàn bộ PowerShell session. Trong trường hợp này, chúng tôi dẫn nguồn một kịch bản,
kịch bản này lại lấy nguồn từ nhiều kịch bản khác.
Bước 5
Chúng ta hãy thực thi kịch bản CheckSQLServer.ps1 bằng cách passing “Powerpc” host như một
đối số, xem thể hiện dưới đây.
./CheckSQLServer.ps1 PowerServer2
Các kết quả bạn thu được như thể hiện bên dưới (tham khảo hình 1.0)
Checking SQL Server.....
........................
Arguments accepted : PowerServer2
........................
Pinging the host machine
........................
PowerServer2 is REACHABLE
Checking windows services on the host related to SQL Server
...........................................................

Host=PowerServer2 MSSQLSERVER Running OK True .\Administrator
Host=PowerServer2 MSSQLServerADHelper100 Stopped OK False
NT AUTHORITY\NETWORK SERVICE
Host=PowerServer2 MSSQLServerOLAPService Stopped OK
False .\Administrator
Host=PowerServer2 SQLBrowser Stopped OK False
NT AUTHORITY\LOCAL SERVICE
Host=PowerServer2 SQLSERVERAGENT Stopped OK False .\Administrator
Host=PowerServer2 SQLWriter Stopped OK False LocalSystem
Checking hardware Information.....
..................................
Host=PowerServer2
Description=AT/AT COMPATIBLE
NumberOfLogicalProcessors=2
NumberOfProcessors=1
TotalPhysicalMemory=2145738752
Model=OptiPlex GX270
Manufacturer=Dell Computer Corporation
PartOfDomain=True
CurrentTimeZone=-240
DaylightInEffect=True
Checking OS Information.....
.............................
OSArchitecture=32-bit
OSLanguage=1033
OSProductSuite=274
OSType=18
BuildNumber=6001
BuildType=Multiprocessor Free
Version=6.0.6001

WindowsDirectory=C:\Windows
PlusVersionNumber=
FreePhysicalMemory=1492684
FreeSpaceInPagingFiles=2402648
FreeVirtualMemory=3948148
PAEEnabled=False
ServicePackMajorVersion=0
ServicePackMinorVersion=0
Checking HDD Information.....
.............................
DeviceID=C: Size=38143.99609375MB Free Space=23761.51953125MB
Percentage Used=37.7057414937619
Checking Network Adapter Information.....
.........................................
---------------------------------------------------
netadapterType=
Description=WAN Miniport (SSTP)
Manufacturer=Microsoft
NetworkAddresses=
PermanentAddress=
Physicalnetadapter=
ProductName=WAN Miniport (SSTP)
ServiceName=RasSstp
StatusInfo=
Speed=
Status=
---------------------------------------------------
netadapterType=
Description=WAN Miniport (L2TP)
Manufacturer=Microsoft

NetworkAddresses=
PermanentAddress=
Physicalnetadapter=
ProductName=WAN Miniport (L2TP)
ServiceName=Rasl2tp
StatusInfo=
Speed=
Status=
---------------------------------------------------
netadapterType=
Description=WAN Miniport (PPTP)
Manufacturer=Microsoft
NetworkAddresses=
PermanentAddress=
Physicalnetadapter=
ProductName=WAN Miniport (PPTP)
ServiceName=PptpMiniport
StatusInfo=
Speed=
Status=
---------------------------------------------------
netadapterType=
Description=WAN Miniport (PPPOE)
Manufacturer=Microsoft
NetworkAddresses=
PermanentAddress=
Physicalnetadapter=
ProductName=WAN Miniport (PPPOE)
ServiceName=RasPppoe
StatusInfo=

Speed=

Status=
---------------------------------------------------
netadapterType=
Description=WAN Miniport (IPv6)
Manufacturer=Microsoft

×