亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PowerShell > 正文

探索PowerShell (四) PowerShell的對象、格式與參數

2020-10-29 21:10:15
字體:
來源:轉載
供稿:網友

今天貼博文晚了,感謝各位能繼續關注!

本節將要給大家介紹一下PowerShell下的對象,基本格式以及參數。依然屬于PowerShell的基礎。

PowerShell中的對象

在本教程開篇我們說過,PowerShell是基于面向對象化的,不像傳統的shell那樣基于文本。這其中最主要的原因就是因為Win平臺在管理操作上主要以面向對象為主,因此為了符合系統特點和我們的操作習慣,PowerShell也繼承了這一特色。因此,不像傳統的shell,在PowerShell中,我們可以隨意地與對象進行互動,

先來認識一下,什么是對象――object

不知各位有沒有從事開發的經驗。實際上,面向對象這一概念的提出就是為了更好用程序語言解決現實問題而提出的。

廢話不多說,直接切入正題。在PowerShell中,“對象”是指我們收集信息或者執行操作的行為。包括屬性(信息,我們可以收集)和方法(我們可以執行)。

有一個生動的例子――“燈泡”。對象是顯而易見的,它是一個燈泡。一個燈泡的屬性可能包括了其顏色,功率和類型(熒光燈,白熾燈或鹵素燈)。對于它的操作,或者稱之為方法,則是我們可以執行的行為,如打開和關閉。這很容易理解!

讓我們看看在PowerShell中一個對象的屬性以及其方法。

首先,你可能會經常使用它"Get-Member”,這個cmdlet是用來檢查一個對象具有哪些屬性和方法的。

例如:

get-service | get-member 

使用這條命令就可以查看"get-service”t的屬性和方法。在這個例子中,我們使用管道符來進行命令的傳遞。運行結果如下:

當然,我們可以使用"get-member"的參數來查看"get-service"的所有的屬性類對象,或者方法類對象。

例如:

查看"get-service"的所有屬性類對象

Get-Service | Get-Member -MemberType Property<enter> 

查看get-service"的所有方法類對象

Get-Service | Get-Member -MemberType Method<enter> 

為什么我們如此的強調對象?原因就是在PowerShell中,所有的一切都是對象。

例如:

我們要找出指定日期寫入d:/的文件有哪些,使用如下命令:

Get-ChildItem -Path d:/ -Recurse | Where-Object {$_.LastWriteTime -gt "01/01/2010"}<enter>

現在來解釋一下:

首先,"get-childitem"是用來枚舉我們的文件系統的,使用"-path"參數,將路徑指向"d:/",使用"-recurse"參數,意味著將顯示所有的文件,甚至是子目錄下的。接下來,我們將結果使用管道符傳遞給循環聲明"where-object"中,用來篩選出符合條件的結果。

那么,"lastwritetime"又是什么?

我們使用如下命令看看"get-childitem"都有哪些屬性可供我們篩選:

get-chileitem | get-member

可以發現其中一條:

對,就是這個。我們需要篩選出的對象屬性就是最后寫日期。在后面的定義中可以看到"LastWriteTime"會將一個"Syetem.DateTime"數據類型作為反饋。因此,在整個語句的后半部,我們使用了"-gt"進行進一步的篩選,"-gt"是"greater than"的縮寫,意味“大于”。在以后的教程中我將會介紹更多類似這樣的操作。前面說到,"LastWriteTime"是一個"Syetem.DateTime"類型的數據,因此,我們最終使用類似"01/01/2010"這樣的表達。這一點需要大家多加注意,在以后的運用中需要注意數據類型。

后續的教程中,我還會盡可能全面的介紹WMI、COM以及 .NET,不過,我們現在知道并掌握上面的就足夠了。

PowerShell的格式

在這一小節,我將介紹PowerShell中的格式化輸出。當我們使用一個cmdlet時,參數"format-"允許我們選擇一種習慣的輸出模式。使用以下命令試一試:

Get-Command Format-* <enter>

其結果為:

好了,這一個知識點很簡單。請各位童鞋使用如下命令試一試,結果怎么樣看看就知道了。

get-childitem c:/windows | format-table <enter>get-childitem c:/windows | format-table -autosize <enter>get-childitem c:/windows | format-custom <enter>get-childitem c:/windows | format-list <enter>get-childitem c:/windows | format-list -Property FullName <enter>get-childitem c:/windows | format-wide <enter>

當然,復雜些的還有以下這些,我不想解釋過多,大家只要肯親自動手試一試,一眼就能看明白。

Get-ChildItem C:/Windows -Recurse | Format-List -Property FullName,CreationTime,LastWriteTime<enter>

Get-ChildItem C: | Format-Wide -Column 3<enter>

另外,在其他cmdlet中,存在其他格式的輸出。例如,在"get-process"中就有"group-object","Get-EventLog"中我們可能用到"Sort-Object",甚至,我們可以輸出為特定格式的文件,例如使用"Convertto-HTML"輸出為html,使用"Export-CSV"輸出為表格文件(可以使用Excel打開)。

統統舉例如下(記住管道符):

Get-Process | Group-Object Company<enter>

Get-EventLog System | Group-Object eventid<enter>

Get-EventLog System | Group-Object eventid | Sort-Object Count -descending<enter>

Get-Process | ConvertTo-html<enter>

Get-Process | ConvertTo-html | out-file “Processes.html”<enter>

Get-Process | Export-CSV Processes.csv<enter>

至于打開文件,使用如下命令即可:

Invoke-Item Processes.html<enter> 

Invoke-Item Processes.csv<enter>

看看截圖吧(輸出為".CSV"文件):

使用"Invoke-Item"命令打開:

Invoke-Item Processes.csv <Enter>

使用PowerShell的格式化輸出是不是很簡單呢?個人認為比VBScript要更加容易上手一些。管理系統更加方便!

PowerShell的常見參數

我們前面介紹過,為了簡化我們的記憶,PowerShell對cmdlet使用了全新的"動詞-名詞"的命名方式,更加方便的是,幾乎所有的cmdlet都擁有統一的標準化參數,當然,我說了,幾乎所有的――并非全部。下面這個列表,列舉出了“公共參數”(這些參數的名稱是我們無法自定義使用的):


-confirm 在執行cmdlet前提示用戶。

-debug  提供相關調試信息。

-ErrorAction 提示cmdlet在執行某項操作時可能出現的錯誤。如:繼續,停止等。 

-ErrorVariable  使用一個特定的變量($error)來保存錯誤信息。

-OutVariable 用于保存輸出信息的變量。

-OutBuffer 確定在進行下一次管道傳遞前需要緩存的對象數量。

-Verbose 為我們提供更多細節。

-whatif  并不會真正執行cmdlet,只是告訴你會發生什么。


此外,PowerShell中還保留了這些參數的下列別名:vb、db、ea、ev、ov 和 ob。

參數太多不好記?好辦,記得使用"Tab"鍵,如:

get-service -<Tab> 

或者使用幫助命令"get-help":

get-help get-service -full <Enter>

好了,我們做一些簡單的演示吧:

Set-ExecutionPolicy Unrestricted -whatif <enter> 

是不是很方便?在執行cmdlet之前,"-whatif"就會告訴你接下來會發生什么。

那么如下這條cmdlet呢:

Set-ExecutionPolicy Unrestricted -confirm <enter> 

是的,它將返回一條驗證操作,以獲取用戶的進一步許可。只是"Y"、"A"、"N"、"L"與"?"我們都能輕易理解,那么"S"呢?

請注意觀察以下執行結果:

Set-ExecutionPolicy Unrestricted -confirm<enter>  

Are you sure you want…  

S<enter> (places the prompt in suspend mode as denoted by “>>”).  

>>Get-ExecutionPolicy<enter>  

Resricted (or whatever the policy is set to).  

>>exit<enter> (Typing “exit” leaves suspend mode and returns to the original command)  

Are you sure you want…  

Y<enter> (Confirms “Yes” and sets the ExecutionPolicy to “Unrestricted”). 

執行實例截圖:

聰明的你,明白了么?


好了,本節內容就到這里。本節中對PowerShell中對象、格式與參數的介紹,僅僅是其冰山一角,在后續的教程中,我們將繼續利用今天學習的來進行工作。當然,在本節中還有很多其他我們尚未涉及到的內容、參數等,希望各位童鞋能積極利用PowerShell中所提供的工具進行探索,如"get-help"、"get-member"命令等。

Ps:最后,非常感謝各位能熱情而持續的關注本教程,如果您有任何意見或問題,請進行留言,我將做詳細解答!謝謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久99热精品| 久久资源免费视频| 亚洲三级黄色在线观看| 欧美成人精品h版在线观看| 日本久久久久久久久| 亚洲激情视频网站| 一区二区在线视频| 26uuu日韩精品一区二区| 国产精品在线看| 国产精品久久久久久久久久久不卡| 91免费看国产| 日韩电影中文字幕在线观看| 亚洲国产美女精品久久久久∴| 日韩av大片免费看| 一本一本久久a久久精品牛牛影视| 91精品国产高清久久久久久91| 日本19禁啪啪免费观看www| 久久久999精品免费| 91成品人片a无限观看| 久久久久久久久久久免费| 精品国产31久久久久久| 国产精品久久久久久久久久久久久| 国产成人亚洲综合91| 日韩精品999| 亚洲一区国产精品| 97视频在线观看免费高清完整版在线观看| 亚洲国产黄色片| 久久综合久久八八| 精品久久久久久亚洲精品| 欧美成人一区二区三区电影| 欧美尤物巨大精品爽| 亚洲天堂av在线免费观看| 中文字幕日韩综合av| 亚洲激情视频在线播放| 亚洲激情在线观看视频免费| 91精品在线观看视频| 亚洲成人亚洲激情| 97人人模人人爽人人喊中文字| 欧美日本精品在线| 午夜免费在线观看精品视频| 亚洲精品视频久久| 日本久久亚洲电影| 中文字幕亚洲综合| 欧美日韩免费区域视频在线观看| 超碰日本道色综合久久综合| 久久久免费高清电视剧观看| 亚洲欧美一区二区三区久久| 色婷婷综合成人av| 高清欧美性猛交xxxx| 日韩激情av在线免费观看| 国产+人+亚洲| 日韩欧美高清在线视频| 欧美成人剧情片在线观看| 日韩av在线电影网| 午夜精品久久久久久99热| 日韩激情在线视频| www.亚洲免费视频| 欧美最猛性xxxx| 亚洲美女精品久久| 亚洲午夜av久久乱码| 国产一区二区三区日韩欧美| 欧美激情免费在线| 日韩av免费在线播放| 日日狠狠久久偷偷四色综合免费| 久久成人一区二区| 伊人伊人伊人久久| 最近中文字幕2019免费| 庆余年2免费日韩剧观看大牛| 亚洲精品白浆高清久久久久久| 精品国产一区二区在线| 亚洲国产精品99| 欧美洲成人男女午夜视频| 亚洲欧美成人精品| 精品日本美女福利在线观看| 欧美野外猛男的大粗鳮| 97免费视频在线播放| 国产成人在线亚洲欧美| 91高潮精品免费porn| 黄网站色欧美视频| 国产欧美日韩丝袜精品一区| 91精品综合久久久久久五月天| 国产精品主播视频| 亚洲欧洲国产精品| 国产精品自产拍在线观看| 欧美亚洲另类视频| 狠狠色狠色综合曰曰| 96sao精品视频在线观看| 岛国精品视频在线播放| 国产精品欧美激情| 成人激情电影一区二区| 国产综合久久久久久| 久久久久久久久久久av| 欧美激情二区三区| 久久这里有精品| 日韩免费观看网站| 亚洲精品成人久久电影| 欧美黑人xxxx| 欧美黑人xxxⅹ高潮交| 91亚洲国产成人久久精品网站| 激情久久av一区av二区av三区| 亚洲国产精品免费| 亲子乱一区二区三区电影| 国产99久久精品一区二区| 操日韩av在线电影| 日韩美女激情视频| 国产精品老女人精品视频| 国产欧美日韩专区发布| 97精品国产97久久久久久春色| 欧美视频在线观看免费| 精品成人乱色一区二区| 欧美久久精品一级黑人c片| 久99九色视频在线观看| 亚洲欧美资源在线| 97在线视频免费播放| 国产精品入口免费视频一| 欧美福利小视频| 久久人人爽人人爽人人片av高请| 97视频国产在线| 亚洲www视频| 92看片淫黄大片欧美看国产片| 欧美日韩美女在线观看| 91精品久久久久久久久久久久久| 色综合亚洲精品激情狠狠| 亚洲sss综合天堂久久| 91高清视频免费观看| 欧美专区在线观看| 97碰碰碰免费色视频| 色综合91久久精品中文字幕| 国产精品久久久久久久久久久久| 亚洲色图偷窥自拍| 91色视频在线导航| 亚洲欧洲国产精品| 国产欧美久久久久久| 91久久国产婷婷一区二区| 亚洲最新av在线| 亚洲精品成人久久久| 人人爽久久涩噜噜噜网站| 欧美大片免费观看在线观看网站推荐| 国产mv免费观看入口亚洲| 精品丝袜一区二区三区| 国产精品中文久久久久久久| 亚洲国模精品私拍| 亚洲欧美日韩一区二区三区在线| 国产精品欧美一区二区三区奶水| 伊人伊成久久人综合网小说| 久久天天躁狠狠躁老女人| 日韩毛片在线看| 色婷婷av一区二区三区久久| 亚洲欧美激情精品一区二区| 亚洲黄页视频免费观看| 91精品国产沙发| 亚洲天堂网在线观看| 18性欧美xxxⅹ性满足| 国产一区私人高清影院| 中日韩午夜理伦电影免费| 国产伦精品免费视频| 久久久免费在线观看| 91中文在线观看| 在线观看国产精品91| 国产精品白丝av嫩草影院| 欧美性色视频在线| 日韩国产欧美区| 成人免费直播live| 久久这里有精品视频|