https://technet.microsoft.com/en-us/library/dd367892.aspx
首推使用
Get-Counter
該函數下可以把現有的電腦監控統計數據 直接提取出來 ,
用法參考http://www.colorconsole.de/PS_Windows/de/Get-Counter.htm
如:$data = get-counter "\\SERVER01\Process(Idle)\% Processor Time"
如果實在不行 再可以考慮 一下內容 ,請繼續狂拽酷炫的閱讀下去
1.GB為單位查詢內存
gwmi Win32_PhysicalMemory | %{$sum = 0} { $sum += $_.Capacity } {Write-Host ($sum / 1GB) "GB"}
--查詢空閑內存
Get-WmiObject win32_OperatingSystem FreePhysicalMemory
--查詢內存狀態
gwmi Win32_PerfFormattedData_PerfOS_Memory
gwmi Win32_PerfFormattedData_PerfOS_Memory | %{$sum = 0} { $sum += $_.AvailableBytes} {Write-Host ($sum / 1GB) "GB"}
獲取系統的信息: Get-WmiObject –class win32_OperatingSystem
獲系統的信息: Get-WmiObject –class win32_ComputerSystem
獲取磁盤信息: Get-WmiObject –class Win32_LogicalDisk
獲取網絡信息: Get-WmiObject –class Win32_NetworkAdapterConfiguration
獲取網卡及帶寬:gwmi Win32_PerfFormattedData_Tcpip_NetworkInterface
2.GB為單位查詢硬盤
gwmi Win32_DiskDrive | %{$sum = 0} { $sum += $_.Size } {Write-Host ($sum / 1GB) "GB"}
--查詢硬盤剩余空間
使用Windows PowerShell來
BIOS: PS C:/> Get-WmiObject -Class Win32_BIOS
內存: PS C:/> Get-WmiObject -Class Win32_PhysicalMemory
處理器: PS C:/> Get-WmiObject -Class Win32_Processor
顯卡: PS C:/> Get-WmiObject -Class Win32_VideoController
硬盤: PS C:/> Get-WmiObject -Class Win32_DiskDrive
3.鏈接數據庫操作
PowerShell 連接 SQL SERVER 數據庫進行操作
- #配置信息
- $Database = 'DemoDB'
- $Server = '"WIN-AHAU9NO5R6U\DOG"'
- $UserName = 'kk'
- $Password = '123456'
- #創建連接對象
- $SqlConn = New-Object System.Data.SqlClient.SqlConnection
- #使用賬號連接MSSQL
- $SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"
- #或者以 windows 認證連接 MSSQL
- #$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security=SSPI;"
- #打開數據庫連接
- $SqlConn.open()
- #執行語句方法一
- $SqlCmd = New-Object System.Data.SqlClient.SqlCommand
- $SqlCmd.connection = $SqlConn
- $SqlCmd.commandtext = 'delete top(1) from dbo.B'
- $SqlCmd.executenonquery()
- #執行語句方法二
- $SqlCmd = $SqlConn.CreateCommand()
- $SqlCmd.commandtext = 'delete top(1) from dbo.B'
- $SqlCmd.ExecuteScalar()
- #方法三,查詢顯示
- $SqlCmd.commandtext = 'select name,recovery_model_desc,log_reuse_wait_desc from sys.databases'
- $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
- $SqlAdapter.SelectCommand = $SqlCmd
- $set = New-Object data.dataset
- $SqlAdapter.Fill($set)
- $set.Tables[0] | Format-Table -Auto
- #關閉數據庫連接
- $SqlConn.close()
感謝 黃澤成先生 blog:http://my.csdn.net/kk185800961