Get-EntraSubscribedSku

Pobiera subskrybowane jednostki SKU do usługi firmy Microsoft.

Składnia

GetQuery (domyślnie)

Get-EntraSubscribedSku

    [-Property <String[]>]
    [<CommonParameters>]

GetById

Get-EntraSubscribedSku

    -SubscribedSkuId <String>
    [-Property <String[]>]
    [<CommonParameters>]

Opis

Polecenie Get-EntraSubscribedSku cmdlet pobiera subskrybowane jednostki SKU do usługi firmy Microsoft.

W scenariuszach delegowanych z kontami służbowymi podczas działania na innym użytkowniku zalogowany użytkownik musi mieć obsługiwaną rolę Microsoft Entra lub rolę niestandardową z niezbędnymi uprawnieniami. Następujące najmniej uprzywilejowane role obsługują tę operację:

  • administrator Dynamics 365 Business Central (dostęp tylko do odczytu do właściwości standardowych)
  • Globalny czytnik
  • Czytelnicy katalogów

Przykłady

Przykład 1. Pobieranie subskrybowanych jednostek SKU

Connect-Entra -Scopes 'Organization.Read.All', 'LicenseAssignment.Read.All'
Get-EntraSubscribedSku
Id                                                                        AccountId                            AccountName   AppliesTo CapabilityStatus ConsumedUnits SkuId                                SkuPartNumber
--                                                                        ---------                            -----------   --------- ---------------- ------------- -----                                -------
aaaa0000-bb11-2222-33cc-444444dddddd 0000aaaa-11bb-cccc-dd22-eeeeee333333 M365x99297270 User      Enabled          20            aaaaaaaa-0b0b-1c1c-2d2d-333333333333 EMSP...
bbbb1111-cc22-3333-44dd-555555eeeeee 1111bbbb-22cc-dddd-ee33-ffffff444444 M365x99297270 User      Enabled          20            bbbbbbbb-1c1c-2d2d-3e3e-444444444444 ENTE...
cccc2222-dd33-4444-55ee-666666ffffff 2222cccc-33dd-eeee-ff44-aaaaaa555555 M365x99297270 User      Enabled          2             cccccccc-2d2d-3e3e-4f4f-555555555555 ENTE...

W tym przykładzie pokazano, jak pobrać subskrybowane jednostki SKU do usługi firmy Microsoft.

Przykład 2. Pobieranie subskrybowanych jednostek SKU przez subskrybowane identyfikatorySkuId

Connect-Entra -Scopes 'Organization.Read.All', 'LicenseAssignment.Read.All'
Get-EntraSubscribedSku -SubscribedSkuId 'abcdefgh-1111-2222-bbbb-cccc33333333_dddddddd-4444-5555-eeee-666666666666'
Id                                                                        AccountId                            AccountName   AppliesTo CapabilityStatus ConsumedUnits SkuId                                SkuPartNumber
--                                                                        ---------                            -----------   --------- ---------------- ------------- -----                                -------
aaaa0000-bb11-2222-33cc-444444dddddd 0000aaaa-11bb-cccc-dd22-eeeeee333333 M365x99297270 User      Enabled          20            aaaaaaaa-0b0b-1c1c-2d2d-333333333333 EMSP...

W tym przykładzie pokazano, jak pobrać określone subskrybowane jednostki SKU do usługi firmy Microsoft.

  • -SubscribedSkuId parametr określa identyfikator jednostki SKU (jednostka przechowywania zapasów).

Przykład 3. Pobieranie dostępnych planów licencji

Connect-Entra -Scopes 'User.ReadWrite.All', 'Organization.Read.All', 'LicenseAssignment.Read.All'
Get-EntraSubscribedSku | Select-Object -Property Sku*, ConsumedUnits -ExpandProperty PrepaidUnits
Enabled              : 5
LockedOut            : 0
Suspended            : 0
Warning              : 0
AdditionalProperties :
SkuId                : efccb6f7-5641-4e0e-bd10-b4976e1bf68e
SkuPartNumber        : EMS
ConsumedUnits        : 3

W tym przykładzie pokazano, jak pobrać dostępne plany licencji.

Przykład 4. Pobieranie wszystkich użytkowników, którym przypisano określoną licencję

Connect-Entra -Scopes 'Organization.Read.All', 'LicenseAssignment.Read.All'
$sku = Get-EntraSubscribedSku | Where-Object { $_.SkuPartNumber -eq 'DEVELOPERPACK_E5' }
$skuId = $sku.SkuId
$usersWithDeveloperPackE5 = Get-EntraUser -All | Where-Object {
    $_.AssignedLicenses -and ($_.AssignedLicenses.SkuId -contains $skuId)
}
$usersWithDeveloperPackE5 | Select-Object Id, DisplayName, UserPrincipalName, AccountEnabled, UserType | Format-Table -AutoSize
Id                                   DisplayName     UserPrincipalName               AccountEnabled   UserType
--                                   -----------     -----------------               --------------   --------
cccccccc-2222-3333-4444-dddddddddddd  Angel Brown    AngelB@contoso.com              True             Member
dddddddd-3333-4444-5555-eeeeeeeeeeee  Avery Smith    AveryS@contoso.com              True             Member
eeeeeeee-4444-5555-6666-ffffffffffff  Sawyer Miller  SawyerM@contoso.com             True             Member

W tym przykładzie pokazano, jak pobrać wszystkich użytkowników, którym przypisano określoną licencję.

Przykład 5. Pobieranie listy użytkowników, przypisanych licencji i źródła licencjonowania

Connect-Entra -Scopes 'Organization.Read.All', 'User.Read.All', 'Group.Read.All', 'LicenseAssignment.Read.All'

# Get all users with specified properties
$Users = Get-EntraUser -All -Property AssignedLicenses, LicenseAssignmentStates, DisplayName, UserPrincipalName, ObjectId

$SelectedUsers = $Users | Select-Object ObjectId, UserPrincipalName, DisplayName, AssignedLicenses -ExpandProperty LicenseAssignmentStates

# Group Name lookup
$GroupDisplayNames = @{}

# Sku Part Number lookup
$SkuPartNumbers = @{}

# Populate the hashtable with group display names and SKU part numbers
foreach ($User in $SelectedUsers) {
    $AssignedByGroup = $User.AssignedByGroup
    $SkuId = $User.SkuId

    try {
        # Check if the group display name is already in the hashtable
        if (-not $GroupDisplayNames.ContainsKey($AssignedByGroup)) {
            $Group = Get-EntraGroup -GroupId $AssignedByGroup
            $GroupDisplayNames[$AssignedByGroup] = $Group.DisplayName
        }

        $User | Add-Member -NotePropertyName 'GroupDisplayName' -NotePropertyValue $GroupDisplayNames[$AssignedByGroup]
    }
    catch {
        $User | Add-Member -NotePropertyName 'GroupDisplayName' -NotePropertyValue 'N/A (Direct Assignment)'
    }

    try {
        # Check if the SKU part number is already in the hashtable
        if (-not $SkuPartNumbers.ContainsKey($SkuId)) {
            $Sku = Get-EntraSubscribedSku | Where-Object { $_.SkuId -eq $SkuId } | Select-Object -ExpandProperty SkuPartNumber
            $SkuPartNumbers[$SkuId] = $Sku
        }

        $User | Add-Member -NotePropertyName 'SkuPartNumber' -NotePropertyValue $SkuPartNumbers[$SkuId]
    }
    catch {
        $User | Add-Member -NotePropertyName 'SkuPartNumber' -NotePropertyValue 'N/A'
    }
}

$SelectedUsers | Format-Table UserPrincipalName, DisplayName, AssignedByGroup, GroupDisplayName, SkuId, SkuPartNumber, State, Error -AutoSize
userPrincipalName       displayName       assignedByGroup                      GroupDisplayName    skuId                                SkuPartNumber  state  error
-----------------       -----------       ---------------                      ----------------    -----                                -------------  -----  -----
averyh@contoso.com      Avery Howard      cccccccc-2222-3333-4444-dddddddddddd Contoso Team        abcdefgh-1111-2222-bbbb-cccc33333333 ENTERPRISEPACK Active None
devont@contoso.com      Devon Torres      ffffffff-5555-6666-7777-aaaaaaaaaaaa Retail              abcdefgh-1111-2222-bbbb-cccc33333333 ENTERPRISEPACK Active None

W tym przykładzie przedstawiono listę użytkowników, ich licencje i źródło licencji, takie jak przypisana bezpośrednio lub przypisana grupa.

Parametry

-Property

Określa właściwości, które mają być zwracane.

Właściwości parametru

Typ:

System.String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Select

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SubscribedSkuId

Identyfikator obiektu jednostki SKU (jednostka przechowywania zapasów).

Właściwości parametru

Typ:System.String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Identyfikator Obiektu

Zestawy parametrów

GetById
Position:Named
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.