0

我有一個嵌入式工作流的自定義模塊&本機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

+1

我剛纔添加到您的其他信息的評論中,但可以請你分享模塊? Automation最近發佈了對UX的更改,如果模塊未能正確提取活動並應能看到潛在錯誤,則應該看到錯誤。如果你沒有看到這個錯誤,這意味着自動化認爲一切都能成功提取。使用未能提取的cmdlet查看模塊內容可幫助我們找出問題所在。 –

+0

是否有關於這些UX更改的發佈更新博客文章,以更好地表面模塊加載錯誤/信息?我特別希望看到.psm1(其中調用了Export-ModuleMember)的結果(詳細)輸出 – JoeBrockhaus

+0

沒有關於錯誤消息的專門文章。我們發佈了有關模塊導入改進的服務公告https://azure.microsoft.com/zh-CN/updates/automation-module-gallery/。如果您滾動到第二張到最後一張屏幕截圖,我們會顯示他們仍在提取的活動。如果發生故障,模塊列表中的狀態列將反映此情況。在模塊刀片上,您會在頂部看到一個失敗通知,您可以單擊該通知來查看拋出的錯誤。這雖然沒有捕獲來自導入的完整詳細輸出。 –

回答

0

只有PowerShell cmdlet/DSC資源可以通過PowerShell模塊導入到Azure自動化中。如果您將Workflow活動轉換爲cmdlet,則導入應成功。

你可能希望這些工作流活動中的cmdlet,無論如何,這樣他們就可以在被利用非PowerShell的工作流運行手冊爲好。

+0

謝謝喬。另一方面,由於WRT Workflow活動執行cmdlet(以及內部圖形Runbook)時存在警告,所以它幾乎是相同的折衷。我大概可以從cmdlet中下載並執行工作流程,就像我可以下載cmdlet並在工作流程中執行它一樣? – JoeBrockhaus

+0

我能體會啓用和優先這一切的鬥爭;) – JoeBrockhaus

+0

你知道它有一個圖形腳本的活動和工作流將InlineScript不同的沙盒限制? (也許這應該是另一個問題?) – JoeBrockhaus