成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WMI中的Windows PowerShell腳本使用方法

系統 Windows
雖然自90年代初期Windows Management Instrumentation(WMI)就已經存在,但是由于WMI的復雜性,其推廣速度非常緩慢。Windows PowerShell打破了這個障礙,它讓WMI的使用更容易,這也改變了IT行業的面貌。在本文中將向你闡述WMI中的Windows PowerShell腳本使用方法。

Windows Management Instrumentation(WMI)是能夠改變你日常生活的工具之一。雖然自90年代初期它就已經存在,但是由于WMI的復雜性,其推廣速度非常緩慢。Windows PowerShell打破了這個障礙,它讓WMI的使用更容易,這也改變了IT行業的面貌。

在我們著重于鉆研如何用PowerShell來簡化WMI之前,先讓我們來看一看什么是WMI。這是個最簡單的術語,你可以認為WMI是一個充滿了查提供一致且可靠的各種格式數據的資料庫。

維基百科解釋說WMI旨在“規定一個獨立環境標準的非專有設置,它讓管理應用程序之間能共享管理信息。”這是一個相當抽象的解釋,而WMI可能已經開始在做“環境獨立”的嘗試,現在情況已經改變,這些天開始思考下WMI會變成什么樣子吧。當你今天聽說WMI時,它通常是通過內置供應程序用于微軟的WMI實施環境中。這也是本文將要關注的點。

WMI由三種基礎元素組成:

  • Provider -- 批準訪問管理對象并提供有效的WMI API
  • Classes -- 對象有屬性和方法的WMI陳述
  • Namespace -- 類的邏輯分組

那么PowerShell是如何做到讓WMI的訪問更加容易的呢?

首先,讓我們來了解一下PowerShell為WMI提供的工具。總體來說有5個PowerShell 命令集,這讓WMI的使用簡單容易。這里我將把它們都列出來,但是我接下來只會著重講其中一個(Get-WMIObject):

  • Get-WmiObject—— 基于命名空間和提供的類別返回對象
  • Invoke-WmiMethod——調用WMI程序(通常用于執行靜態程序)
  • Register-WmiEvent——用于訂閱WMI事件
  • Remove-WmiObject -- 刪除一個現有的WMI類的實例(要清楚,它實際并沒有刪除類本身,而是在內存中這個類的實例)
  • Set-WmiInstance -- 創建或更新一個現有WMI類的實例(要謹慎地使用它,因為它實際上會寫入WMI庫)

現在讓我們來解決WMI中***的難題,搞清楚它究竟是什么,并且能提供什么數據。

你可以依靠下面的代碼來寫程序:

$Root = "\\.\ROOT:__namespace"
$WMIProv = New-Object System.Management.ManagementClass
    ($Root)
$WMIProv.GetInstances() | Select Name

(但是,這比其它任務更復雜些。幸運的是,你不用經常這么做。)

下面是你通過特定命名空間列出提供類的方法(默認是Root\CIM2,它包括所有的Microsoft Win32類):

# On local machine
Get-WmiObject –Namespace Root\SecurityCenter –List
# On Remote machine
Get-WmiObject –Namespace Root\SecurityCenter –List
    –Computer core
# To filter you can use wildcards
Get-WmiObject –Namespace Root\SecurityCenter –List
    *firewall*
# To list the classes for HyperV on remote server
Get-WmiObject –Namespace Root\Virtualization –List
    –Computer core

(這很艱難,但是你可以通過WMI瀏覽器或微軟的PowerShell Scriptomatic等免費工具來作弊。)

現在是時候坐下來了解一下Get-WMIObject的不尋常之處了,它是五個命令集中最有用的一個。工具箱里有了它,你幾乎與所有你能想到的任一塊數據(微軟相關的系統)都只有一線之隔。有超過600個Win32類,用來顯示CPU、內存、磁盤、進程、網絡、BIOS和USB等信息。激動嗎?等一下你就會知道它有多簡單。

獲取操作系統的信息:

Get-WmiObject –class win32_OperatingSystem

獲取計算機系統的信息

Get-WmiObject –class win32_ComputerSystem

獲取磁盤信息:

Get-WmiObject –class Win32_LogicalDisk

獲取網絡信息:

Get-WmiObject –class Win32_NetworkAdapterConfiguration

只要嘗試一下 - 就是那么簡單。

讓我們看一個使用WMI獲取IP信息的例子。下面有效的腳本代替了ipconfig和它通常的awful輸出。

function Get-IP
{
[Cmdletbinding()]
Param(
[alias('dnsHostName')]
[Parameter(ValueFromPipelineByPropertyName=$true,ValueFromPipeline=
$true) [string]$ComputerName = $Env:COMPUTERNAME
)
process
{
$NICs = Get-WmiObject
Win32_NetworkAdapterConfiguration -Filter
"IPEnabled='$True'" -ComputerName $ComputerName
foreach ($Nic in $NICs)
{
$myobj = @{
Name = $Nic.Description
MacAddress = $Nic.MACAddress
IP4 = $Nic.IPAddress | where{$_
-match
"\d+\.\d+\.\d+\.\d+"}
IP6 = $Nic.IPAddress | where{$_
-match "\:\:"}
IP4Subnet = $Nic.IPSubnet | where{$_
-match
"\d+\.\d+\.\d+\.\d+"}
DefaultGWY = $Nic.DefaultIPGateway |
Select -First 1
DNSServer = $Nic.DNSServerSearchOrder
WINSPrimary = $Nic.WINSPrimaryServer
WINSSecondary = $Nic.WINSSecondaryServer
}
$obj = New-Object PSObject -Property $myobj
$obj.PSTypeNames.Clear()
$obj.PSTypeNames.Add('BSonPosh.IPInfo')
$obj
}
}
}

你可以在微軟的網站上找到更多的關于WMI的信息,還能看到WMI術語和Win32類的列表。

【編輯推薦】

  1. Windows PowerShell 的新增功能
  2. Windows PowerShell:通過命令而不是腳本完成操作
  3. Windows PowerShell 捕獲錯誤
  4. 如何使用Windows PowerShell控制活動目錄
責任編輯:張浩 來源: TT中國
相關推薦

2019-11-07 23:48:12

shell腳本getopts

2011-07-12 17:11:13

PHPSHELL

2013-11-07 15:55:29

PowerShellVDI

2010-11-08 14:47:02

Powershell函數

2011-08-23 09:44:28

LUA腳本

2011-07-19 15:38:15

故障恢復控制臺

2012-01-16 09:18:08

虛擬化桌面虛擬化PowerShell

2012-02-01 10:32:07

PowerShellWindows 7

2010-10-08 14:27:25

JavascriptSplit

2010-10-09 10:30:03

JS event

2011-06-14 10:18:58

QThread Qt 線程

2018-06-20 10:34:56

堆棧iOSswift

2013-06-08 17:09:35

Android開發移動開發XML解析

2021-07-16 07:57:35

JavaScriptEval函數

2009-09-23 13:23:12

Hibernate M

2021-05-08 06:14:28

Vue.js片段開發

2010-03-10 11:11:16

Python編程

2011-08-03 17:27:40

iPhone UIScrollVi

2010-07-05 09:38:47

LinuxNFS

2017-06-07 10:00:56

PythonBeautifulSo解析器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人免费视频在线观看 | 国产一区二区小视频 | 成人午夜影院 | 日韩精品一区二区三区老鸭窝 | 精品国产一区二区三区四区在线 | 天色综合网| 久久国产精品偷 | 亚洲一区 | 久久久久国产精品午夜一区 | www.日韩免费 | 最新黄色毛片 | 国产精品无码久久久久 | 久操伊人 | 男女网站免费 | 国产三区av | 一级黄色片一级黄色片 | 国产精品国产亚洲精品看不卡15 | av片在线观看网站 | 久久久成人动漫 | 日韩一区二区成人 | 国产精品久久久久久久久免费丝袜 | 精品国产乱码久久久久久88av | 久久久国产精品网站 | 黄色一级在线播放 | 久久国产一区二区 | 国产精品免费视频一区 | 青青久在线视频 | 91视频在线 | 欧美国产精品久久久 | 欧美另类视频 | 亚洲欧美中文日韩在线v日本 | 爱爱无遮挡 | 国产99久久久久 | 欧美精品综合在线 | 国产欧美精品一区二区色综合 | 国产av毛片| 欧美在线视频观看 | 成人精品系列 | 色天天综合 | 国产一区二区在线91 | 永久看片|