我有一個嵌入式工作流的自定義模塊&本機ps1 cmdlet。Azure自動化模塊導入 - 如何調查模塊成員未被導出/提取爲活動?
當我導入此模塊中,僅小命令的子集被顯示爲模塊下提取的活動。
該模塊成功完成的進口,並顯示爲可用。
是否有任何地方去找找特定的輸出和任何可能的成員專用導入錯誤?
其無法加載的小命令取決於加入的組件的一部分的一些新類型。加載的cmdlet也取決於該程序集的類型。
增加到混亂,當我在ISE本地導入這個模塊,一切工作正常,所有的cmdlet可用/可執行文件。
進一步:我已經看到這與本機PowerShell cmdlet,但它也似乎(單)PowerShell Workflow活動.ps1內不支持。
此外,我已經看到,本地,取決於是否加載我的模塊使用.psd1或.psm1,我得到不同的行爲&結果WRT相關的程序集加載。
特別是,當試圖排除本地不一致性時,我得到了一些「無法找到類型」或「找到多於一個過載的ctor with 1 arg」(儘管問題類型沒有與1個ARG一個構造函數)通過[OutputType([typename])]
引用類型等,當那些依靠來自同一個組件類型的其他cmdlet被發現就好了錯誤..
[編輯]從我的測試
當地的詳細輸出.psm1
VERBOSE:導入功能在'同步測試'上。
VERBOSE:將命令導入爲工作流「Sync-VsoGitRmRunbook」。
在AA中,sync-test(只是寫入字符串輸出的普通Runbook)顯示正常,而Sync-VsoGitRmRunbook則沒有。
如果我轉換同步測試工作流程,它也停止進口,導致我相信,有與模塊輸出工作流活動被捆綁作爲的.ps1文件(而不是封裝模塊中爲C#類的限制)
[編輯]
我已經創建了再現該問題的模塊。 https://github.com/JoeBrockhaus/AzureAutomationVsoGitSync
我剛纔添加到您的其他信息的評論中,但可以請你分享模塊? Automation最近發佈了對UX的更改,如果模塊未能正確提取活動並應能看到潛在錯誤,則應該看到錯誤。如果你沒有看到這個錯誤,這意味着自動化認爲一切都能成功提取。使用未能提取的cmdlet查看模塊內容可幫助我們找出問題所在。 –
是否有關於這些UX更改的發佈更新博客文章,以更好地表面模塊加載錯誤/信息?我特別希望看到.psm1(其中調用了Export-ModuleMember)的結果(詳細)輸出 – JoeBrockhaus
沒有關於錯誤消息的專門文章。我們發佈了有關模塊導入改進的服務公告https://azure.microsoft.com/zh-CN/updates/automation-module-gallery/。如果您滾動到第二張到最後一張屏幕截圖,我們會顯示他們仍在提取的活動。如果發生故障,模塊列表中的狀態列將反映此情況。在模塊刀片上,您會在頂部看到一個失敗通知,您可以單擊該通知來查看拋出的錯誤。這雖然沒有捕獲來自導入的完整詳細輸出。 –