我使用PowerShell作为编程语言创建了一个Timer Trigger Azure Function。
我想知道Azure Function PowerShell环境中可用的Azure PowerShell模块及其各自的版本。我尝试使用下面的PowerShell代码来获得我想要的东西。
Get-Module -ListAvailable -Name *Azure*
所以问题是我应该/可以在Azure功能中做什么来获取Azure PowerShell模块和版本?
注意:在本地Windows PowerShell上运行的相同PowerShell代码能够列出Azure PowerShell模块名称,版本和其他详细信息。
答案 0 :(得分:2)
因为你只是这个代码并依赖于写入日志的输出;它将使用默认输出视图作为为主机定义的类型;并在此处生成名称上的ToString()。
当您在客户端上运行cmdlet时(来自powershell或ISE),它将使用在主机上为该类型定义的任何输出视图;导致输出的处理方式不同(类型和格式)。
你可以,例如选择格式化您自己的自定义输出以列出您喜欢的信息。
示例:
Get-Module -ListAvailable -Name *Azure*|ForEach-Object { "Name={0};Version={1};" -f $_.Name , $_.Version}
它将在输出日志中输出名称和版本,以;分隔。如果您需要额外的信息,可以将其添加到字符串格式函数中,或者在Foreach中添加更复杂的输出。
如果您对输出和默认格式的工作方式感兴趣,我建议您MSDN article