gpt4 book ai didi

rest - 在PowerShell中访问枚举名称

转载 作者:行者123 更新时间:2023-12-03 00:47:49 29 4
gpt4 key购买 nike

我正在使用PowerShell编写脚本,并且使用枚举类型一直很困难。我对SharePoint Online执行REST调用以获取有关特定组的信息。

$group = Invoke-SPORestMethod -Url "https://tenant.sharepoint.com/sites/site/_api/web/RoleAssignments/GetByPrincipalId(8)?`$expand=RoleDefinitionBindings"
$group.RoleDefinitionBindings.results[0].RoleTypeKind

它返回一个int,RoleTypeKind,它是 [Microsoft.SharePoint.Client.RoleType]中的一个枚举。我在访问关联的枚举值的名称属性时遇到困难。我目前正在这样做,但似乎非常错误:
function getGroupPermissionKind([int]$roleType){
#https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.roletype.aspx
[Enum]::GetValues([Microsoft.SharePoint.Client.RoleType]) | foreach {
$Name = $_
$Value = ([Microsoft.SharePoint.Client.RoleType]::$_).value__
if ($Value -eq $roleType){
return $Name
}
}
}

知道 $group.RoleDefinitionBindings.results[0].RoleTypeKind返回了枚举的正确int,我如何能更直接地访问枚举的名称,而不是使用我想出的看似笨拙的实现?

最佳答案

据我所知,您只能使用强制转换:

[System.AttributeTargets]4096

这导致
Delegate

如果需要纯字符串,请按以下方式调用 ToString()
([System.AttributeTargets]4096).ToString()

关于rest - 在PowerShell中访问枚举名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38568214/

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