Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> 關於XP系統教程 >> 詳解WindowsPowerShell腳本的使用

詳解WindowsPowerShell腳本的使用

日期:2017/1/23 16:51:51      編輯:關於XP系統教程

Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework 的強大功能。它引入了許多非常有用的新概念,從而進一步擴展了您在 Windows 命令提示符和 Windows Script Host 環境中獲得的知識和創建的腳本。本教程就為大家講解WMI中的WindowsPowerShell腳本使用.

WMI由三種基礎元素組成:

1.Provider -- 批准訪問管理對象並提供有效的WMI API

2.Classes -- 對象有屬性和方法的WMI陳述

3.Namespace -- 類的邏輯分組

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

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

1.Get-WmiObject—— 基於命名空間和提供的類別返回對象

2.Invoke-WmiMethod——調用WMI程序(通常用於執行靜態程序)

3.Register-WmiEvent——用於訂閱WMI事件

4.Remove-WmiObject -- 刪除一個現有的WMI類的實例(要清楚,它實際並沒有刪除類本身,而是在內存中這個類的實例)

5.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等免費工具來作弊。)

Copyright © Windows教程網 All Rights Reserved