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

首頁 > 開發 > PowerShell > 正文

PowerShell入門教程之編寫和使用腳本模塊實例

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

現在通過編寫模塊就可以在PowerShell命令行或者腳本中管理大型、分布式軟件系統,就像Exchange Server和SharePoint Server正在做的那樣。你有這樣的需求嗎?

模塊、腳本模塊

  模塊是PowerShell V2中引入的概念,用以改進之前提出的“管理單元”。將管理單元也作為模塊(二進制模塊)處理之后,PowerShell中就包括兩種模塊――腳本模塊和二進制模塊。那么什么是模塊呢?模塊就是包含一些PowerShell命令、項的程序包,它以一個整體被分發共享和加載使用。

  腳本模塊是在PowerShell V2中與模塊一起提出的概念,它完全由PowerShell語法和環境編寫,不需要切換到其他編譯語言或者開發環境。腳本模塊是現在編寫PowerShell模塊時推薦的方法,要好好學哦。

編寫腳本模塊

  編寫腳本模塊包括確定模塊路徑、創建模塊文件夾、編寫模塊文件和編寫Manifest文件等幾個方面,都非常容易操作,具體內容如下:

模塊安裝路徑

  理論上,模塊可以放在本機的任何位置,但是如果放在Env:/PSModulePath搜索范圍內,將會更加便于管理和使用。Env:/PSModulePath是與系統變量%Path%具有相同建模方式的變量,其變量值是由逗號分隔的路徑組成的字符串。雖然env:PSModulePath變量中有系統預定義的兩個目錄,但他們可能并未創建,需要在使用的時候創建。

  可以用以下命令獲得兩個路徑:

復制代碼 代碼如下:

PS C:/Users/luke> $paths = (dir Env:/PSModulePath).Value.Split(";")
PS C:/Users/luke> $paths
C:/Users/luke/Documents/WindowsPowerShell/Modules
C:/Windows/system32/WindowsPowerShell/v1.0/Modules/

檢查路徑是否已經創建可以用如下命令:
復制代碼 代碼如下:

PS C:/Users/luke> Test-Path -Path $paths[0]
False

以上返回False,則表示路徑未創建。創建路徑可使用文件瀏覽器、Cmd命令或者PowerShell命令。這里使用PowerShell命令如下:
復制代碼 代碼如下:

New-Item -Path $paths[0] -ItemType directory  -Force

這樣放置模塊所需要的路徑就創建好了,可以進行下一步了。

模塊文件夾

  模塊文件夾是模塊的一個組成部分,要與模塊具有相同的名字。模塊所包含的模塊文件、描述文件以及其他可能用到的腳本文件都要放在這個文件夾中。例如本文需要創建模塊ModuleDemo1,可以使用上述的new-item命令或者切換到腳本路徑之后使用md命令,即md ModuleDemo1。

腳本模塊文件

  腳本模塊文件與一般的腳本文件內容相似,只是后綴是.psm1而非.ps1,其文件名就是模塊的名字。不過,一般來說模塊中應該只包含函數、別名、變量等的定義,不應進行很多操作或者輸出。ModuleDemo1.psm1的簡單示例如下:

復制代碼 代碼如下:

function Greet([String] name)
{
    "Hello $name"
}

模塊描述文件

  描述文件也稱為Manifest文件,擴展名是.psd1,它的文件名也要與模塊相同。它的內容實際上是一個Hashtable;不同的是,這個Hashtable中鍵的名字是系統預先定義的。腳本模塊文件的作用主要是限制運行環境、設置依賴項和對腳本進行一些描述。

  創建和編輯模塊描述文件可以使用任何文本編輯器,但首次使用推薦使用命令進行。創建模塊描述文件的命令如下:

復制代碼 代碼如下:

PS C:/Users/luke/Documents/WindowsPowerShell/Modules/ModuleDemo1> New-ModuleManifest -Path ./ModuleDemo1.psd1

cmdlet New-ModuleManifest at command pipeline position 1
Supply values for the following parameters:
NestedModules[0]:
Author: Luke Zhang
CompanyName: CaiJu
Copyright:
ModuleToProcess: ModuleDemo1
Description: Demo1
TypesToProcess[0]:
FormatsToProcess[0]:
RequiredAssemblies[0]:
FileList[0]:

這樣模塊描述文件就創建好了,詳細信息可以打開文件編輯。

使用腳本模塊

  腳本模塊編寫好以后就可以使用了,加載使用腳本模塊文件主要利用Get-Module命令和Import-Module命令。執行如下命令就能顯示出我們剛剛編寫的模塊:

復制代碼 代碼如下:

PS D:/> Get-Module -ListAvailable

ModuleType Name                      ExportedCommands
---------- ----                      ----------------
Manifest   ModuleDemo1               {}
Manifest   ADRMS                     {}
Manifest   AppLocker                 {}
Manifest   BestPractices             {}
Manifest   BitsTransfer              {}
Manifest   PSDiagnostics             {}
Manifest   ServerManager             {}
Manifest   TroubleshootingPack       {}
Manifest   WebAdministration         {}

然后導入我們剛剛編寫的模塊:

復制代碼 代碼如下:

PS D:/> Import-Module -Name ModuleDemo1

導入之后,模塊中定義的Geet函數就可以使用了:
復制代碼 代碼如下:

PS D:/> Greet "Luke"
Hello Luke

如果模塊中還定義了其他別名、變量等,也都可以使用。

結語

  模塊不但是大型軟件腳本化管理的高效解決方案,也是共享PowerShell命令的好辦法。它是PowerShell程序員為數不多的展示工作成果的方式之一,而且是其中最專業化的方式。所以,玩兒轉模塊,秀給所有人看。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色视频www在线播放国产成人| 国产精品影片在线观看| 国产一区二区三区三区在线观看| 不卡av电影在线观看| 搡老女人一区二区三区视频tv| 国产亚洲a∨片在线观看| 国产精品久久色| 国产精品色午夜在线观看| 精品亚洲一区二区三区四区五区| xx视频.9999.com| 高清欧美性猛交xxxx黑人猛交| 亚洲自拍欧美另类| 欧美性xxxx18| 狠狠色狠色综合曰曰| 色婷婷综合久久久久中文字幕1| 欧美大片在线看免费观看| 中日韩美女免费视频网站在线观看| 久久国产精品亚洲| 亚洲欧美日韩中文在线制服| 国产精品美腿一区在线看| 国产不卡视频在线| 亚洲国产福利在线| 亚洲xxx视频| 欧美最猛性xxxx| 高清在线视频日韩欧美| 久久综合88中文色鬼| 国产精品久久久久91| 国产aⅴ夜夜欢一区二区三区| 国产在线精品一区免费香蕉| 亚洲欧美变态国产另类| 国产成人免费91av在线| 美日韩精品视频免费看| 欧美日韩亚洲91| 91wwwcom在线观看| 久久精品视频一| 国产成人a亚洲精品| 亚洲久久久久久久久久久| 国产+人+亚洲| www.欧美三级电影.com| 精品magnet| 中文在线资源观看视频网站免费不卡| 亚洲自拍偷拍色图| 91日本在线观看| 国产成人激情小视频| 中文字幕不卡在线视频极品| 亚洲第一天堂无码专区| 成人在线免费观看视视频| 午夜精品美女自拍福到在线| 久久精品国产欧美亚洲人人爽| 国产精品免费视频xxxx| 国产成人精品一区二区在线| 欧美成人精品h版在线观看| 亚洲人高潮女人毛茸茸| 色婷婷av一区二区三区久久| 成人精品久久av网站| 91久热免费在线视频| 日韩成人av在线| 欧美成人免费在线观看| 91干在线观看| 中文字幕亚洲图片| 欧美亚洲成人免费| 精品美女永久免费视频| 亚洲精品美女在线观看| 中文字幕精品www乱入免费视频| 日韩亚洲一区二区| 蜜臀久久99精品久久久无需会员| 国产在线精品自拍| 国内精品国产三级国产在线专| 国产精品羞羞答答| 欧美老妇交乱视频| 欧美一级视频免费在线观看| 国产成人avxxxxx在线看| 国产成人av在线| 91av视频在线播放| 欧美裸体xxxx极品少妇软件| 日韩欧美a级成人黄色| 精品中文字幕久久久久久| 欧美日韩国产中文字幕| 国产成人精品视频在线观看| 国产成人一区二区三区电影| 亚洲最大激情中文字幕| 亚洲国产精品久久久久秋霞不卡| 日韩av成人在线| 欧美成人午夜影院| 欧美成年人视频网站| 亚洲图片欧洲图片av| 欧美性xxxx极品hd满灌| 亚洲国产精品久久久久久| 日韩av在线天堂网| 久久久久久久久91| 国产精品成人一区| 欧美亚洲国产日本| 亚洲女人天堂色在线7777| 国产亚洲精品久久久久久| 亚洲全黄一级网站| 亚洲国产精品久久久久秋霞蜜臀| 日韩av在线网| 亚洲欧美资源在线| 欧美一区二区三区精品电影| 精品久久香蕉国产线看观看gif| 中文字幕日韩精品在线观看| 亚洲福利影片在线| 久久天天躁狠狠躁老女人| 精品久久久999| 亚洲精品丝袜日韩| 国产婷婷97碰碰久久人人蜜臀| 日韩电影中文字幕一区| 免费99精品国产自在在线| 亚洲国产另类 国产精品国产免费| 亚洲欧洲日韩国产| 国产视频精品xxxx| 这里只有精品久久| 国产成+人+综合+亚洲欧洲| 亚洲精品aⅴ中文字幕乱码| 欧美日韩免费观看中文| 成人在线精品视频| 欧美极品少妇xxxxⅹ免费视频| 性色av香蕉一区二区| 成人性生交大片免费观看嘿嘿视频| 久久免费精品视频| 国产精品视频成人| 亚洲成人av片| 国产成人精品在线观看| 日韩中文字幕视频| 91禁外国网站| 伊人男人综合视频网| 国产精品久久久久久久久久东京| 亚洲一区亚洲二区亚洲三区| 亚洲精品久久久久久久久久久久久| 欧美视频国产精品| 欧美日韩免费观看中文| 日韩精品免费在线播放| 欧美肥婆姓交大片| 欧美日韩免费区域视频在线观看| 上原亚衣av一区二区三区| 国产精品久久久久久久av大片| 欧美另类交人妖| 精品国产户外野外| 国内精品久久久久伊人av| 国产91露脸中文字幕在线| 久久亚洲国产精品成人av秋霞| 国产成人精品视频在线观看| 成人网在线免费看| 91亚洲国产成人精品性色| 久热国产精品视频| 欧美肥老太性生活视频| 538国产精品一区二区免费视频| 一本色道久久88亚洲综合88| 亚洲日韩欧美视频一区| 2019中文字幕在线免费观看| 亚洲国产精彩中文乱码av在线播放| 国产97在线亚洲| 91深夜福利视频| 国产精品午夜一区二区欲梦| 久久久精品在线观看| 国产精品美女主播在线观看纯欲| 久久久精品在线| 国产欧美一区二区三区视频| 精品在线观看国产| 最近更新的2019中文字幕| 伊人青青综合网站| 欧美日韩中国免费专区在线看| 成人福利视频在线观看| 亚洲香蕉伊综合在人在线视看|