Get-EntraSubscribedSku
Obtiene las SKU suscritas a servicios Microsoft.
Sintaxis
GetQuery (valor predeterminado)
Get-EntraSubscribedSku
[-Property <String[]>]
[<CommonParameters>]
GetById
Get-EntraSubscribedSku
-SubscribedSkuId <String>
[-Property <String[]>]
[<CommonParameters>]
Description
El Get-EntraSubscribedSku cmdlet obtiene SKU suscritas a servicios Microsoft.
En escenarios delegados con cuentas profesionales o educativas, al actuar en otro usuario, el usuario que ha iniciado sesión debe tener un rol de Microsoft Entra compatible o un rol personalizado con los permisos necesarios. Los siguientes roles con privilegios mínimos admiten esta operación:
- Dynamics 365 Business Central Administrador (acceso de solo lectura a las propiedades estándar)
- Lector universal
- Lectores de directorios
Ejemplos
Ejemplo 1: Obtener SKU suscritas
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...
En este ejemplo se muestra cómo recuperar las SKU suscritas a servicios Microsoft.
Ejemplo 2: Obtener SKU suscritas por SubscribedSkuId
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...
En este ejemplo se muestra cómo recuperar las SKU suscritas especificadas a servicios Microsoft.
-
-SubscribedSkuIdel parámetro especifica el identificador de la SKU (unidad de mantenimiento de existencias).
Ejemplo 3: Obtener planes de licencia disponibles
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
En este ejemplo se muestra cómo recuperar los planes de licencia disponibles.
Ejemplo 4: Recuperar todos los usuarios asignados a una licencia específica
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
En este ejemplo se muestra cómo recuperar todos los usuarios asignados a una licencia específica.
Ejemplo 5: Obtener una lista de usuarios, sus licencias asignadas y el origen de licencias
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
En este ejemplo se muestra una lista de usuarios, sus licencias y el origen de la licencia, como asignados directamente o grupos asignados.
Parámetros
-Property
Especifica las propiedades que se van a devolver.
Propiedades de parámetro
| Tipo: | System.String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Select |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-SubscribedSkuId
Identificador de objeto de la SKU (unidad de mantenimiento de existencias).
Propiedades de parámetro
| Tipo: | System.String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | ObjectId (identificador de objeto) |
Conjuntos de parámetros
GetById
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.