Azure 函数无法识别 Get-AzADApplication
Azure function not able to recognize Get-AzADApplication
我创建了一个 azure 函数,我试图在其中执行代码 Get-AzADApplication -DisplayName cs-sp-aro-testrotation
当我 运行 我得到的错误是
术语 'Get-AzADApplication' 未被识别为 cmdlet
的名称
我正在粘贴我的整个 azure 函数代码,请告诉我如何做同样的事情
using namespace System.Net
# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)
# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."
# Interact with query parameters or the body of the request.
$name = $Request.Query.Name
if (-not $name) {
$name = $Request.Body.Name
}
Get-AzADApplication -DisplayName cs-sp-aro-testrotation
$body = "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."
if ($name) {
Get-AzADApplication -DisplayName cs-sp-aro-testrotation
$body = "Hello, $name. This HTTP triggered function executed successfully."
}
# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $body
})
导航到门户中的函数应用程序 -> App files
-> requirements.psd1
,确保你已经安装了 Az
powershell 模块(对于新创建的应用程序,此行将默认有注释,如果有,取消注释即可)。
@{
'Az' = '5.*'
}
更新:
当然你需要登录,默认情况下它会自动使用你的函数应用程序的MSI(managed identity)登录,如profile.ps1
.
所示
if ($env:MSI_SECRET) {
Disable-AzContextAutosave -Scope Process | Out-Null
Connect-AzAccount -Identity
}
要让 Get-AzADApplication
正常工作,您还需要执行其他步骤。
1.Navigate 到门户中的 Identity
-> 启用 system-assigned MSI,如下所示。
2.Navigate 到门户中的 Azure Active Directory
-> Roles and administrators
-> 搜索 Directory readers
-> 单击它 -> Add assignments
-> 添加MSI 作为 Directory readers
角色(只需搜索您的函数应用程序名称)。
然后运行Get-AzADApplication -DisplayName xxxx
,就可以了。
我创建了一个 azure 函数,我试图在其中执行代码 Get-AzADApplication -DisplayName cs-sp-aro-testrotation
当我 运行 我得到的错误是 术语 'Get-AzADApplication' 未被识别为 cmdlet
的名称我正在粘贴我的整个 azure 函数代码,请告诉我如何做同样的事情
using namespace System.Net
# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)
# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."
# Interact with query parameters or the body of the request.
$name = $Request.Query.Name
if (-not $name) {
$name = $Request.Body.Name
}
Get-AzADApplication -DisplayName cs-sp-aro-testrotation
$body = "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response."
if ($name) {
Get-AzADApplication -DisplayName cs-sp-aro-testrotation
$body = "Hello, $name. This HTTP triggered function executed successfully."
}
# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $body
})
导航到门户中的函数应用程序 -> App files
-> requirements.psd1
,确保你已经安装了 Az
powershell 模块(对于新创建的应用程序,此行将默认有注释,如果有,取消注释即可)。
@{
'Az' = '5.*'
}
更新:
当然你需要登录,默认情况下它会自动使用你的函数应用程序的MSI(managed identity)登录,如profile.ps1
.
if ($env:MSI_SECRET) {
Disable-AzContextAutosave -Scope Process | Out-Null
Connect-AzAccount -Identity
}
要让 Get-AzADApplication
正常工作,您还需要执行其他步骤。
1.Navigate 到门户中的 Identity
-> 启用 system-assigned MSI,如下所示。
2.Navigate 到门户中的 Azure Active Directory
-> Roles and administrators
-> 搜索 Directory readers
-> 单击它 -> Add assignments
-> 添加MSI 作为 Directory readers
角色(只需搜索您的函数应用程序名称)。
然后运行Get-AzADApplication -DisplayName xxxx
,就可以了。