日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

回归Dos操作的快感,进入PowerShell世界 (转)

發(fā)布時(shí)間:2025/4/16 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 回归Dos操作的快感,进入PowerShell世界 (转) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

寫(xiě)下本篇文章源于參加Tech.Ed的一場(chǎng)關(guān)于Window PowerShell的課程。雖然之前也經(jīng)常關(guān)注,但從沒(méi)有親自體驗(yàn)過(guò)。Windows PowerShell 是一種新的命令行外殼和腳本語(yǔ)言,用于進(jìn)行系統(tǒng)管理和自動(dòng)化任務(wù),它建立在 .NET Framework 的基礎(chǔ)上,可使 IT 專(zhuān)業(yè)人員和開(kāi)發(fā)人員控制和自動(dòng)完成Windows 和應(yīng)用程序的管理。更為強(qiáng)大之處在于它可以調(diào)用.NET Framework中的類(lèi)庫(kù),可以與COM、ADO、XML等交互。在本文中讓我們一起來(lái)體會(huì)一下回歸Doc操作的快感,進(jìn)入強(qiáng)大無(wú)比的Windows PowerShell世界。

在Windows PowerShell中包括了:

1. 129 個(gè)命令行工具(稱(chēng)為“cmdlet”),用于執(zhí)行常見(jiàn)系統(tǒng)管理任務(wù),如管理服務(wù)、進(jìn)程、事件日志、證書(shū)、注冊(cè)表以及使用 Windows Management Instrumentation (WMI)。

2. 采用標(biāo)準(zhǔn)命名約定和通用參數(shù)的命令行工具,易于掌握和使用;以及用于對(duì)數(shù)據(jù)和對(duì)象進(jìn)行排序、篩選以及格式設(shè)置的簡(jiǎn)便工具。

3. 對(duì)現(xiàn)有腳本語(yǔ)言、現(xiàn)有命令行工具以及多種 Windows 版本的支持,其中包括 Windows XP、Windows Server 2003、Windows Vista 以及 Windows Server 2008。

4. 方便的功能,使用戶(hù)能夠?yàn)g覽數(shù)據(jù)存儲(chǔ)(如注冊(cè)表和證書(shū)存儲(chǔ)),就像面對(duì)文件系統(tǒng)一樣。

5. 用于管理位于不同存儲(chǔ)中以及采用不同格式的 Windows 數(shù)據(jù)的標(biāo)準(zhǔn)實(shí)用程序,這些數(shù)據(jù)包括 Active Directory (ADSI)、Windows Management Instrumentation (WMI)、組件對(duì)象模型 (COM) 對(duì)象、ActiveX 數(shù)據(jù)對(duì)象 (ADO)、HTML 和 XML。

6. 在命令行進(jìn)行的高級(jí)表達(dá)式分析和 .NET 對(duì)象處理,其中包括對(duì)對(duì)象進(jìn)行流水線處理以幫助提高 IT 專(zhuān)業(yè)人員的工作效率。

7. 可擴(kuò)展的接口,使獨(dú)立軟件供應(yīng)商和企業(yè)開(kāi)發(fā)人員能夠構(gòu)建自定義 cmdlet 以滿(mǎn)足特有的應(yīng)用程序和系統(tǒng)管理要求。

簡(jiǎn)單示例

在開(kāi)始之前,先來(lái)看一個(gè)簡(jiǎn)單的示例,在.NET中獲取當(dāng)前系統(tǒng)所有進(jìn)程的一段代碼:

static void Main(string[] args) {Process[] proceses = Process.GetProcesses();foreach (var item in proceses){Console.WriteLine(item.ProcessName);}Console.ReadLine(); }

非常簡(jiǎn)單的一段代碼,直接獲取所有進(jìn)程并顯示出它們的名稱(chēng),如下圖所示:

在安裝完Windows PowerShell之后,可以看到它的界面與常用的命令行界面非常相似。現(xiàn)在再使用Windows PowerShell來(lái)獲取一下當(dāng)前系統(tǒng)所有的進(jìn)程,只有一個(gè)命令就可以完成:

Get-Process

輸出如下圖所示:

?

PowerShell命令

在Windows PowerShell中,內(nèi)置了129個(gè)命令供我們使用,這些命令稱(chēng)之為“Cmdlet”。除了很多在Dos中的命令繼續(xù)可以使用之外,還有PowerShell內(nèi)置的一些命令。每個(gè)命令由兩部分組成,前半部分表示動(dòng)作,后半部分表示動(dòng)作的標(biāo)的,如Get-Help、Get-Command、Write-Host等。在Windows PowerShell中輸入命令時(shí),不需要輸入全部名稱(chēng),可以只輸入其中幾個(gè)關(guān)鍵字,PowerShell會(huì)自動(dòng)匹配,如只輸入get-he,然后按下“Tab”鍵,屏幕上就可以出現(xiàn)完整的Get-Help命令。

Get-Help、Get-Command是PowerShell中非常重要的兩個(gè)命令,可以獲取幫助和獲取所有的命令列表,如輸入:

Get-Command

結(jié)果如下圖所示,列出了所有的命令:

與.NET Framework交互

Windows PowerShell更強(qiáng)大的地方在于它可以訪問(wèn).NET Framework的類(lèi)庫(kù),我們可以使用New-Object命令來(lái)創(chuàng)建一個(gè).NET? Framework中的類(lèi)實(shí)例,并保存在變量中,如下面的命令:

$d = New-Object -TypeName System.DateTime

這里使用New-Object來(lái)創(chuàng)建一個(gè)DateTime對(duì)象,使用-TypeName指定類(lèi)型名稱(chēng),創(chuàng)建的對(duì)象保存在$d變量中,輸出結(jié)果如下圖所示:

除此之外,還可以使用-ArgumentList來(lái)指定參數(shù),如下圖所示:

?

與COM交互

使用Windows PowerShell還可以完全與COM交互,這使的Windows PowerShell的功能更加強(qiáng)大,有了上面前面提到的訪問(wèn)WMI、與.NET Framework交互,再加上與COM交互,可以說(shuō)Windows PowerShell幾乎無(wú)所不能。如下面看一個(gè)例子,使用PowerShell來(lái)訪問(wèn)IE,可以使用如下命令來(lái)創(chuàng)建一個(gè)IE的對(duì)象,并讓它導(dǎo)航到博客園首頁(yè):

$ie = New-Object -ComObject InternetExplorer.Application $ie.Visible = $true $ie.Navigate("http://www.cnblogs.com") $ie.Quit()

簡(jiǎn)單解釋一下這段代碼,首先創(chuàng)建一個(gè)IE的COM對(duì)象,并讓它顯示,然后導(dǎo)航到博客園首頁(yè),最后程序退出。如下圖所示:

?

在這個(gè)過(guò)程中,大家會(huì)看到系統(tǒng)打開(kāi)了一個(gè)IE窗口,并且導(dǎo)航到了博客園。

訪問(wèn)注冊(cè)表

除此之外,Windows PowerShell還可以實(shí)現(xiàn)對(duì)注冊(cè)表的完全控制,包括查詢(xún)所有的Entry,或者修改、刪除鍵值等,可以說(shuō)是一切皆可控制,如使用下面的命令:

Get-ChildItem -Path hkcu:\

輸出如下圖所示,列出了HKEY_CURRENT_USER下面的信息:

創(chuàng)建別名

在Windows PowerShell中,還允許為命令創(chuàng)建自己熟悉的別名,這樣對(duì)于某些太長(zhǎng)的命令名可以使用自己的縮寫(xiě)來(lái)表示,或者對(duì)于某些不太容易記憶的命令,使用自己喜歡的名字來(lái)表示。

Set-Alias gh Get-Help

這里設(shè)置gh為Get-Help命令的別名,這樣在后面的操作中,當(dāng)輸入gh后,執(zhí)行的命名就是Get-Help,如下圖所示:

?

輸出文件

在Windows PowerShell中,我們還可以把操作的結(jié)果輸出到一個(gè)文件中,可以使用Out-File命令,另外可以使用-FilePath來(lái)指定輸出的路徑和文件名,如下命令所示:

Get-Process | Out-File -FilePath C:\temp.txt

現(xiàn)在打開(kāi)C盤(pán)的temp.txt文件,可以看到輸出的結(jié)果如下所示:

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 126 4 13272 10220 47 1204 audiodg73 4 2936 8080 61 1.05 3580 conime512 5 2188 4112 59 2.06 532 csrss511 7 5704 19744 182 93.44 588 csrss1249 109 127144 157128 561 44.67 6648 devenv 188 8 47088 73332 164 2,020.61 2508 dwm 2261 48 75040 72600 416 341.38 2548 explorer0 0 0 24 0 0 Idle 664 28 36696 49076 173 14.78 3384 iexplore969 35 74868 87576 328 43.92 7480 iexplore404 10 7280 640 96 6.23 2812 kavstart 65 3 1368 3360 46 0.09 316 kissvc80 5 6592 1012 62 1.28 496 kmailmon

以上所介紹只是Windows PowerShell強(qiáng)大功能的冰山之一角,除此之外,還可以與WMI交互,訪問(wèn)機(jī)器設(shè)備,對(duì)于輸出結(jié)果格式化等等,這里不再介紹。

總結(jié)

本文中簡(jiǎn)單介紹了一下Windows PowerShell,相信通過(guò)這些介紹大家已經(jīng)看到了Windows PowerShell的強(qiáng)大之處,而且在微軟以后的產(chǎn)品中,都會(huì)支持使用PowerShell進(jìn)行管理。

轉(zhuǎn)載于:https://www.cnblogs.com/qanholas/archive/2012/09/11/2680494.html

總結(jié)

以上是生活随笔為你收集整理的回归Dos操作的快感,进入PowerShell世界 (转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。