今天貼博文晚了,感謝各位能繼續關注!
本節將要給大家介紹一下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"中,用來篩選出符合條件的結果。
新聞熱點
疑難解答