2015-04-01 74 views
1

通配符當你這樣做Get-Help SomeCommand -Full,每個參數下的描述後,還有一些額外的參數屬性。其中一個屬性是「接受通配符?」。當我爲自定義腳本cmdlet創建幫助信息時,如何指定參數接受通配符?如何指定一個參數接受一個自定義腳本cmdlet的

+0

我覺得這真的取決於究竟你在做什麼。你是用C#寫一個cmdlet嗎?如果是這樣,那麼只需在創建參數時(參見代碼示例[here](https://msdn.microsoft.com/en-us/library/ms714667(v = vs.85).aspx#declareparametersdataaccess)聲明模式參數)。 – TheMadTechnician 2015-04-02 01:05:40

回答

3

如果你希望能夠做到這一點,它會需要一些東西。首先,您必須創建一個.dll文件,您不需要創建一個模塊,。我不打算詳細介紹創建模塊的各種細節,現在已經有很多關於如何在互聯網上完成這些工作的指導書,您可以查閱。

當你的模塊的一部分,你可以包括類似於可用於單個腳本註釋的幫助下提供幫助的信息.XML文件。 XML風格確實具有一些優點,例如一致性和一些高級功能,但確實需要更多努力。爲此,我強烈建議閱讀Writing Help for Windows PowerShell Modules,因爲它會解釋放置XML文件的位置,如何構造它們,以及所需的標題以及哪些不是。

如果是我,我可能會複製現有的XML幫助文件並對其進行編輯以適應我對cmdlet的需求,查找並閱讀其中一個關於創建模塊的快捷方法,然後放棄在這個想法上,因爲如果這一切都只是作爲一個基本的腳本和評論幫助而開始,那麼就不需要付出努力來添加'支持通配符'的標誌(在我看來)。

但是我的回答是,爲您的小命令模塊和支持基於XML的幫助文件。有了這個,你可以爲你的參數添加對接受通配符標誌的支持。

2

在腳本的param部分,添加屬性SupportsWildcards()

例:

param (
     [SupportsWildcards()][String]$variable 
    ) 
+0

這似乎對定位參數聲明非常敏感。我不能讓它的工作權利,除非它是第一個屬性: '[SupportsWildcards()] [參數()] [字符串] $ ComputerName' – CitizenRon 2017-10-10 16:36:49

相關問題