gpt4 book ai didi

azure - 通过 Microsoft Graph API 请求使用 $filter

转载 作者:行者123 更新时间:2023-12-02 23:57:56 24 4
gpt4 key购买 nike

我正在尝试通过一个小型 Powershell 脚本使用 MS graph API,如此处所述 https://learn.microsoft.com/en-us/graph/api/riskyusers-list?view=graph-rest-beta&tabs=http此过滤器不会给出任何结果,如果我将其删除,它会起作用,但不会给出完整的列表(只有很少的结果)

$ApplicationID = "45xxxxxxxx"
$TenatDomainName = "2a3xxxxx"
$AccessSecret = Read-Host "Enter Secret"

$Body = @{
Grant_Type = "client_credentials"
Scope = "https://graph.microsoft.com/.default"
client_Id = $ApplicationID
Client_Secret = $AccessSecret
}

$ConnectGraph = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenatDomainName/oauth2/v2.0/token" -Method POST -Body $Body

$token = $ConnectGraph.access_token

#$GrapRisk = "https://graph.microsoft.com/v1.0/identityProtection/riskyUsers"
$GrapRisk = "https://graph.microsoft.com/beta/identityProtection/riskyUsers?$filter=riskLevel eq microsoft.graph.riskLevel'medium'"


$riskyList= (Invoke-RestMethod -Headers @{Authorization = "Bearer $($token)"} -Uri $GrapRisk -Method Get).value |select userPrincipalName, riskState, riskLastUpdatedDateTime, riskLevel

$riskyList

我通过 Powershell ISE 执行此脚本,但即使使用curl 和终端,我也无法使用过滤器参数。谢谢

最佳答案

只要字符串文字使用双引号 ("'s),PowerShell 就会将其解释为可扩展,这意味着 PowerShell 将尝试解析和扩展变量表达式(例如 $filter) 在评估字符串时。

使用反引号 (`) 转义 $,它应该可以工作:

$GrapRisk = "https://graph.microsoft.com/beta/identityProtection/riskyUsers?`$filter=riskLevel eq microsoft.graph.riskLevel'medium'"

有关 PowerShell 中不同类型字符串文字语义的更多详细信息,请阅读 about_Quoting_Rules help topic

关于azure - 通过 Microsoft Graph API 请求使用 $filter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69076658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com