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

主頁 > 知識庫 > PowerShell入門教程之訪問.Net程序集、COM和WMI實例

PowerShell入門教程之訪問.Net程序集、COM和WMI實例

熱門標簽:電話機器人公司招聘 如何根據經緯度百度地圖標注 六寸地圖標注點怎么刪除 莫拉克電梯系統外呼怎么設置 新鄭電銷機器人一個月多少錢 萬全縣地圖標注app 印臺區呼叫中心外呼系統 地圖標注的圖案 騰訊地圖標注中心怎么標注

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

與新銳.Net聯姻

  在Windows的世界里,.Net代表著現在和將來,是新生力量。與.Net聯姻,就意味著榜上了粗腿,邁上了快車道。號稱基于.Net Framework,那么使用.Net的基類就易如反掌。基本步驟如下:1、添加類所在程序集;2、創建類的實例;3、調用實例的函數或者屬性。以StringBuilder類為例,代碼如下:

復制代碼 代碼如下:

Add-Type -AssemblyName mscorlib

$str = New-Object System.Text.StringBuilder

$str.Append("Hello")

$str.ToString()

其結果是輸出Hello字符串。

  其實最讓人開心的,是PowerShell能夠使用自定義的.Net類庫。這意味著我們的產品或者工具都能在PowerShell中繼續有效。基本步驟是:寫一個類庫,編譯成DLL,導入到PowerShell會話中,然后所定義的函數和屬性都可以使用了。示例如下:

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

復制代碼 代碼如下:

using System;

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

然后將其導入到PowerShell會話中,并使用其函數或者屬性。

復制代碼 代碼如下:

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

$obj = New-Object PowerShellDemo.PowerShellDemo

$obj.Greet()

以上調用的輸出是Hello字符串.

如此容易就能使用.Net的托管程序集,必然為它招徠一大票簇擁。

與貴族COM為伍

COM就像沒落的貴族一樣,雖然過氣,但那個范兒還在。作為遺產,它們還在放光發熱。PowerShell沒有嫌棄它,而是選擇與他們兼容。這也讓現在依舊戰斗在Native C++的程序員頗為欣慰。PowerShell對COM的訪問方式是通過其ProgID來進行。示例如下:

復制代碼 代碼如下:

$ie = New-Object -ComObject InternetExplorer.Application

$ie.Visible = $true

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

$ie.Quit()

以上這個示例演示了對IE的啟動、顯示、導航和退出等操作,非常簡便。與COM的良好關系,也讓PowerShell操作一些系統接口變得簡單而其直接。這絕對是個加分的設計。

與實力派WMI結盟

  WMI是訪問本機和域內標準資源的強大武器,接管了WMI的資源訪問,PowerShell也從此邁入豪門。它沒有做多余的工作,只是輕巧的通過幾個WMIObejct命令,就擁有了WMI的一整套訪問機制。對于域內其他機器的訪問,甚至不用利用PowerShell的遠程基礎結構。訪問WMI的示例如下:

復制代碼 代碼如下:

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

  這個命令的功能跟Get-Process一樣,獲取本機上正在運行的進程,只是它們得到的結果的形式有一點點小的區別。真正的區別在于當從遠程計算機上獲取進程信息時,Get-Process必須用Invoke-Command命令,在PowerShell遠程基礎結構下運行,而Get-WmiObject命令只需加上-ComputerName參數即可。這份從容,是從WMI娘家帶來的。

  擅用WMI,必將大大提高訪問本機和遠程系統資源的效率。不管你信不信,反正我是信了!

結語

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

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

標簽:汕頭 南昌 湘潭 臨汾 襄陽 喀什 疫苗接種 天水

巨人網絡通訊聲明:本文標題《PowerShell入門教程之訪問.Net程序集、COM和WMI實例》,本文關鍵詞  PowerShell,入門教程,之,訪問,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PowerShell入門教程之訪問.Net程序集、COM和WMI實例》相關的同類信息!
  • 本頁收集關于PowerShell入門教程之訪問.Net程序集、COM和WMI實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 石柱| 海阳市| 蓬溪县| 方山县| 嘉义县| 瓮安县| 牙克石市| 桃园县| 合阳县| 英超| 吐鲁番市| 洱源县| 延庆县| 莱西市| 波密县| 元谋县| 中卫市| 慈溪市| 咸阳市| 巴林右旗| 德阳市| 镇远县| 游戏| 旺苍县| 烟台市| 兖州市| 师宗县| 无棣县| 海丰县| 阿城市| 胶州市| 临沂市| 阿拉善右旗| 武邑县| 胶南市| 天水市| 长沙县| 扬中市| 蒙阴县| 辽宁省| 龙江县|