我的目标是从 Azure AD 中导出用户和角色成员资格,并将列表导出到电子表格中。我从一位同事那里得到了这个代码,但我不断收到错误。目标是最终比较两个电子表格,以确定是否有任何角色在未经授权的情况下被更改。我也得到了该代码,但由于我无法获得第一个电子表格,第二部分将无法工作
我对 Powershell 没有太多经验,但我继承了这项任务。我对代码及其试图做什么有一个大致的了解,但我无法确定错误在哪里。我在 Java 方面有一些经验,我正在通过那个镜头查看这段代码,可能不是最好的方法。我希望有人能告诉我代码有什么问题,也许我可以在这里学到一些东西并能够解决第二部分。
$AzureADDirectoryRoles = Get-AzureADDirectoryRole
ForEach ($role in $AzureAdDirectoryRoles)
{
$Members = Get-AzureAdDirectoryRoleMember -ObjectID $($role.ObjectID)
ForEach ($member in $Members)
{
$obj = New-Object PSObject
Add-Member -InputObject $obj -MemberType NoteProperty -Name RoleName
-Value $($role.DisplayName)
Add-Member -InputObject $obj -MemberType NoteProperty -Name ObjectId
-Value $($Member.ObjectID)
Add-Member -InputObject $obj -MemberType NoteProperty -Name
ObjectType -Value $($Member.ObjectType)
Add-Member -InputObject $obj -MemberType NoteProperty -Name
DisplayName -Value $($Member.DisplayName)
Add-Member -InputObject $obj -MemberType NoteProperty -Name
UserPrincipalName -Value $($Member.UserPrincipalName)
$roleMembership += $obj
}
}
我收到多个错误,但都是一样的。这是我在下面得到的错误。
方法调用失败,因为 [System.Management.Automation.PSObject] 不包含名为“op_Addition”的方法。在行:13 字符:9