Powershell入門必備(四)
介紹
隨著我們這個系列文章的逐步深入,我們就越能發現powershell的強大之處,而這種強大只會越來越明顯。
在本篇文章中,我們會探索如何使用powershell來操作模塊。這對我們來說是學習PowerShell的一個非常有趣和重要的部分,因為它在許多任務和操作的自動化方面將會為我們提供許多幫助。
使用powershell模塊
正如我們在前面的文章中看到的,模塊是PowerShell里一個非常強大的概念。現在我們會來學習在滲透測試中如何創建和利用它們,特別是用於自動化日常任務。
首先,讓我們記住模塊的定義。Microsoft對模塊的描述定義是這樣的:
·「模塊是包含PowerShell命令的包,例如cmdlets,提供程序,函數,工作流,變數和別名。」
·「編寫命令的人可以使用模塊來組織命令並與他人共享命令。接收模塊的人可以將模塊中的命令添加到他們的PowerShell會話中,並像內置命令一樣使用它們。「
我們可以使用Get-Module 命令獲取可用模塊的列表:
該Get-Module命令可以幫助我們獲取已導入到當前會話中的模塊。在我們的示例中,我們使用此命令和-ListAvailable 選項來檢索計算機上安裝的模塊,並可以在我們的會話中導入。添加選項 -All 使我們能夠獲取當前會話中所有可用模塊的所有導出文件。
我們還可以使用Import-Module 命令非常簡單地導入模塊:
同時,我們也可以使用Remove-Module 命令將其刪除,如下所示:
使用powershell編寫模塊
現在讓我們談談如何使用PowerShell創建模塊。
PowerShell上的模塊的擴展名為「.psm1」。
我們首先創建一個示例模塊。首先,我們將在psm1文件中寫一個函數來創建我們的模塊。
除了文件擴展名外,這個模塊文件沒有什麼特別的,所以我們可以使用包含函數的普通PowerShell腳本並重命名它來創建psm1文件。是不是很簡單?
下面我們將使用一個簡單的函數。
這個函數是用來檢查文件是否存在:
還有一個重要的注意事項:我們必須添加一個模塊清單,將其稱為模塊。
清單只是添加有關模塊的元數據。它包括以下信息:
·作者信息
·版本
·自動載入模塊
模塊清單只是一個保存為psd1文件的哈希表,當我們導入數據時將載入它。
New-ModuleManifest cmdlet將通過為我們創建清單來幫助我們。
現在我們來生成第一個清單:
清單生成之後是這樣的:
清單中最有趣的屬性之一是FunctionsToExport 屬性。它的默認值為*,導出所有函數,但我們也可以使用以下語法選擇特定函數:
FunctionsToExport =「GetFunction」 。
最後,我們來談談RootModule。根模塊參數會指示應運行哪個PowerShell模塊文件。
不要忘了將所有文件放在同一個文件夾中,如下所示:
現在我們來進行導入:
在這個示例中,Import-Module命令會自動查找psm1文件。
好了,本篇文章差不多就是這樣。
現在你已經知道如何使用powershell來操作模塊了。你會發現這真的非常有用。
總結
powershell中模塊的概念十分重要,而且對我們非常有幫助。
在下一篇文章中,我們將開始使用powershell進行實戰利用,並且開始討論使用PowerShell進行遠程處理。
TAG:嘶吼RoarTalk |