婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > PowerShell入門教程之訪問(wèn).Net程序集、COM和WMI實(shí)例

PowerShell入門教程之訪問(wèn).Net程序集、COM和WMI實(shí)例

熱門標(biāo)簽:電話機(jī)器人公司招聘 如何根據(jù)經(jīng)緯度百度地圖標(biāo)注 六寸地圖標(biāo)注點(diǎn)怎么刪除 莫拉克電梯系統(tǒng)外呼怎么設(shè)置 新鄭電銷機(jī)器人一個(gè)月多少錢 萬(wàn)全縣地圖標(biāo)注app 印臺(tái)區(qū)呼叫中心外呼系統(tǒng) 地圖標(biāo)注的圖案 騰訊地圖標(biāo)注中心怎么標(biāo)注

PowerShell可以設(shè)計(jì)的大而全,重新實(shí)現(xiàn)一切;也可以像現(xiàn)在一樣設(shè)計(jì)成膠水語(yǔ)言,利用現(xiàn)有的資源。特別是,與.Net、COM和WMI三大豪門的聯(lián)姻,使得PowerShell必將在Windows世界里大放光彩。

與新銳.Net聯(lián)姻

  在Windows的世界里,.Net代表著現(xiàn)在和將來(lái),是新生力量。與.Net聯(lián)姻,就意味著榜上了粗腿,邁上了快車道。號(hào)稱基于.Net Framework,那么使用.Net的基類就易如反掌?;静襟E如下:1、添加類所在程序集;2、創(chuàng)建類的實(shí)例;3、調(diào)用實(shí)例的函數(shù)或者屬性。以StringBuilder類為例,代碼如下:

復(fù)制代碼 代碼如下:

Add-Type -AssemblyName mscorlib

$str = New-Object System.Text.StringBuilder

$str.Append("Hello")

$str.ToString()

其結(jié)果是輸出Hello字符串。

  其實(shí)最讓人開(kāi)心的,是PowerShell能夠使用自定義的.Net類庫(kù)。這意味著我們的產(chǎn)品或者工具都能在PowerShell中繼續(xù)有效?;静襟E是:寫一個(gè)類庫(kù),編譯成DLL,導(dǎo)入到PowerShell會(huì)話中,然后所定義的函數(shù)和屬性都可以使用了。示例如下:

首先寫好代碼,編譯成DLL,假設(shè)路徑是D:\PowerShellDemo\PowerShellDemo.dll。

復(fù)制代碼 代碼如下:

using System;

namespace PowerShellDemo
{
    public class PowerShellDemo
    {
        public void Greet()
        {
            Console.WriteLine("Hello!");
        }
    }
}

然后將其導(dǎo)入到PowerShell會(huì)話中,并使用其函數(shù)或者屬性。

復(fù)制代碼 代碼如下:

Add-Type –Path “D:\PowerShellDemo\PowerShellDemo.dll”

$obj = New-Object PowerShellDemo.PowerShellDemo

$obj.Greet()

以上調(diào)用的輸出是Hello字符串.

如此容易就能使用.Net的托管程序集,必然為它招徠一大票簇?fù)怼?/p>

與貴族COM為伍

COM就像沒(méi)落的貴族一樣,雖然過(guò)氣,但那個(gè)范兒還在。作為遺產(chǎn),它們還在放光發(fā)熱。PowerShell沒(méi)有嫌棄它,而是選擇與他們兼容。這也讓現(xiàn)在依舊戰(zhàn)斗在Native C++的程序員頗為欣慰。PowerShell對(duì)COM的訪問(wèn)方式是通過(guò)其ProgID來(lái)進(jìn)行。示例如下:

復(fù)制代碼 代碼如下:

$ie = New-Object -ComObject InternetExplorer.Application

$ie.Visible = $true

$ie.Navigate(“www.bing.com”)

$ie.Quit()

以上這個(gè)示例演示了對(duì)IE的啟動(dòng)、顯示、導(dǎo)航和退出等操作,非常簡(jiǎn)便。與COM的良好關(guān)系,也讓PowerShell操作一些系統(tǒng)接口變得簡(jiǎn)單而其直接。這絕對(duì)是個(gè)加分的設(shè)計(jì)。

與實(shí)力派WMI結(jié)盟

  WMI是訪問(wèn)本機(jī)和域內(nèi)標(biāo)準(zhǔn)資源的強(qiáng)大武器,接管了WMI的資源訪問(wèn),PowerShell也從此邁入豪門。它沒(méi)有做多余的工作,只是輕巧的通過(guò)幾個(gè)WMIObejct命令,就擁有了WMI的一整套訪問(wèn)機(jī)制。對(duì)于域內(nèi)其他機(jī)器的訪問(wèn),甚至不用利用PowerShell的遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)。訪問(wèn)WMI的示例如下:

復(fù)制代碼 代碼如下:

Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process

  這個(gè)命令的功能跟Get-Process一樣,獲取本機(jī)上正在運(yùn)行的進(jìn)程,只是它們得到的結(jié)果的形式有一點(diǎn)點(diǎn)小的區(qū)別。真正的區(qū)別在于當(dāng)從遠(yuǎn)程計(jì)算機(jī)上獲取進(jìn)程信息時(shí),Get-Process必須用Invoke-Command命令,在PowerShell遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)下運(yùn)行,而Get-WmiObject命令只需加上-ComputerName參數(shù)即可。這份從容,是從WMI娘家?guī)?lái)的。

  擅用WMI,必將大大提高訪問(wèn)本機(jī)和遠(yuǎn)程系統(tǒng)資源的效率。不管你信不信,反正我是信了!

結(jié)語(yǔ)

  不管是建立在.Net的基礎(chǔ)上,還是兼容COM,再或者是以WMI的方式訪問(wèn)資源,PowerShell一心想成為多面膠,成為大眾而非小眾的朋友。作為IT人士的你,有沒(méi)有別粘(電)到?

您可能感興趣的文章:
  • 使用PowerShell .Net獲取電腦中的UUID
  • PowerShell中使用.NET將程序集加入全局程序集緩存
  • Powershell中可以使用的.Net實(shí)用靜態(tài)方法
  • Powershell小技巧之查看安裝的.Net framework版本信息
  • PowerShell中調(diào)用.NET對(duì)象的靜態(tài)方法、靜態(tài)屬性和類方法、類屬性例子
  • PowerShell中查看當(dāng)前版本、Windows版本、.NET版本信息的代碼
  • 一個(gè)ASP.Net下的WebShell實(shí)例
  • PowerShell 定時(shí)執(zhí)行.Net(C#)程序的方法
  • ASP.NET下使用WScript.Shell執(zhí)行命令
  • 如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用

標(biāo)簽:汕頭 南昌 湘潭 臨汾 襄陽(yáng) 喀什 疫苗接種 天水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell入門教程之訪問(wèn).Net程序集、COM和WMI實(shí)例》,本文關(guān)鍵詞  PowerShell,入門教程,之,訪問(wèn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PowerShell入門教程之訪問(wèn).Net程序集、COM和WMI實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PowerShell入門教程之訪問(wèn).Net程序集、COM和WMI實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 色达县| 浠水县| 乌海市| 沙洋县| 碌曲县| 汉寿县| 铁岭县| 中山市| 嘉荫县| 阿拉善盟| 尼勒克县| 揭东县| 镇江市| 关岭| 临沭县| 五指山市| 新乡市| 林芝县| 万全县| 河西区| 贵州省| 攀枝花市| 八宿县| 宁阳县| 清水河县| 曲松县| 尼勒克县| 溧水县| 永新县| 濮阳县| 赤水市| 河间市| 大竹县| 庆元县| 福建省| 固阳县| 云和县| 得荣县| 青岛市| 台中市| 来安县|