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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Visual Studio 2010 一步一步创建Powershell Module 和 Cmdlet

發布時間:2023/12/2 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Visual Studio 2010 一步一步创建Powershell Module 和 Cmdlet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前寫了一個C# 調用PowerShell方法, 那么怎么反過來操作呢,也就是怎么樣用C#寫一個powershell命令呢?

現在就用C#寫一個超級簡單的Module和Cmdlet

1. 在VS中創建一個Library的項目

文件->新建->項目->C#->Class Library

?

?

在這里給我們的Class Library起一個名字”FirstPS”

2. 添加必要的引用“System.Management”和“System.Management.Automation”

2.1?? 添加System.Management

在新建的項目下面找到引用->添加引用

?

在.net選項卡下找到System.Management

?

2.2?? 添加System.Management.Automation

可以在C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\下面找到

在添加引用的窗口選擇“瀏覽”選項卡,找到需要的引用

?

3. 現在進入今天的一個重要環節,編寫業務邏輯

1 namespace FirstPS 2 { 3 [Cmdlet(VerbsCommon.Get, "Greeting")] //創建get命令,get-Greeting 4 public class DemoPS : PSCmdlet 5 { 6 [Parameter(Mandatory = true)] //命令行后需要一個參數: get-Greeting -Name 輸入一個字符串 7 public string Name { get;set;} 8 9 protected override void ProcessRecord() 10 { 11 WriteObject(string.Format("Hello {0}, 現在是: {1}", Name, Greeting())); 12 } 13 14 /// <summary> 15 /// 根據系統時間,判斷十二個時辰 16 /// </summary> 17 /// <returns>當前時間是那個時辰</returns> 18 private string Greeting() 19 { 20 int hour = DateTime.Now.Hour; 21 if (hour >= 23) 22 { 23 return "子時\n【子時】夜半,又名子夜、中夜:十二時辰的第一個時辰。(北京時間23時至01時)。"; 24 } 25 if (hour >= 21) 26 { 27 return "亥時\n【亥時】人定,又名定昏等:此時夜色已深,人們也已經停止活動,安歇睡眠了。人定也就是人靜。(北京時間21時至23時)。"; 28 } 29 if (hour >= 19) 30 { 31 return "戌時\n【戌時】黃昏,又名日夕、日暮、日晚等:此時太陽已經落山,天將黑未黑。天地昏黃,萬物朦朧,故稱黃昏。(北京時間19時至21時)。"; 32 } 33 if (hour >= 17) 34 { 35 return "酉時\n【酉時】日入,又名日落、日沉、傍晚:意為太陽落山的時候。(北京時間17是至19時)。"; 36 } 37 if (hour >= 15) 38 { 39 return "申時\n【申時】哺時,又名日鋪、夕食等:(北京時間15食至17時)。"; 40 } 41 if (hour >= 13) 42 { 43 return "未時\n【未時】日昳,又名日跌、日央等:太陽偏西為日跌。(北京時間13時至15時)。"; 44 } 45 if (hour >= 11) 46 { 47 return "午時\n【午時】日中,又名日正、中午等:(北京時間11時至13時)。"; 48 } 49 if (hour >= 9) 50 { 51 return "巳時\n【巳時】隅中,又名日禺等:臨近中午的時候稱為隅中。(北京時間09 時至11時)。"; 52 } 53 if (hour >= 7) 54 { 55 return "辰時\n【辰時】食時,又名早食等:古人“朝食”之時也就是吃早飯時間,(北京時間07時至09時)。"; 56 } 57 if (hour >= 5) 58 { 59 return "卯時\n【卯時】日出,又名日始、破曉、旭日等:指太陽剛剛露臉,冉冉初升的那段時間。(北京時間05時至07時)。"; 60 } 61 if (hour >= 3) 62 { 63 return "寅時\n【寅時】平旦,又稱黎明、早晨、日旦等:時是夜與日的交替之際。(北京時間03時至05時)。"; 64 } 65 if (hour >= 1) 66 { 67 return "丑時\n【丑時】雞鳴,又名荒雞:十二時辰的第二個時辰。(北京時間01時至03時)。"; 68 } 69 if (hour >= 0) 70 { 71 return "子時\n【子時】夜半,又名子夜、中夜:十二時辰的第一個時辰。(北京時間23時至01時)。"; 72 } 73 return "二十四個時辰已經不適合這臺電腦了, 快回自己的自己的星球!!";

?

74 } 75 } 76 }

代碼大功告成,現在需要把這個Library進行編譯,編譯好后就可以為powershell用了。

4. 現在進入今天另外一個重要的環節,導入DLL到powershell并執行Cmdlet

4.1 使用Import-Module dll的全路徑,導入dll

4.2 現在就是見證奇跡的時刻,輸入我們的命令get-Greeking -Name test

在英文系統下直接執行上面的cmdlet,中文顯示亂碼,使用ISE就沒有亂碼的問題,在此謝謝@walkerwang幫助解決亂碼問題

?

這個是我第一次如此認真的寫完一篇博客,希望這個對大家有幫助,如果有幫助就推薦一下吧,謝謝支持!

轉載于:https://www.cnblogs.com/BoyceYang/archive/2013/06/13/3134286.html

總結

以上是生活随笔為你收集整理的使用Visual Studio 2010 一步一步创建Powershell Module 和 Cmdlet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。