Contrôles programmatiques pour les mises à jour qualité Windows accélérées
Dans cet article, vous allez :
Conditions préalables
Tous les prérequis windows autopatch doivent être respectés , notamment s’assurer que les outils d’intégrité de mise à jour sont installés sur les clients.
- Les outils d’intégrité de mise à jour sont installés à partir de KB4023057. Pour confirmer la présence des outils d’intégrité de mise à jour sur un appareil, utilisez l’une des méthodes suivantes :
- Exécuter un test de préparation pour les mises à jour accélérées
- Recherchez le dossier C :\Program Files\Microsoft Update Health Tools ou passez en revue Ajouter des programmes de suppression pour Microsoft Update Health Tools.
- Exemple de script PowerShell pour vérifier l’installation des outils :
Get-CimInstance -ClassName Win32_Product \| Where-Object {$_.Name -match "Microsoft Update Health Tools"}
Autorisations
Les autorisations suivantes sont nécessaires pour les requêtes répertoriées dans cet article :
- WindowsUpdates.ReadWrite.All pour les opérations de mise à jour automatique Windows .
- Au moins l’autorisation Device.Read.All pour afficher les informations de l’appareil .
Certains rôles, tels que l’administrateur de déploiement Windows Update, disposent déjà de ces autorisations.
Points de terminaison requis
Vous devez avoir accès aux points de terminaison suivants :
Windows Update points de terminaison
- *.prod.do.dsp.mp.microsoft.com
- *.windowsupdate.com
- *.dl.delivery.mp.microsoft.com
- *.update.microsoft.com
- *.delivery.mp.microsoft.com
- tsfe.trafficshaping.dsp.mp.microsoft.com
API Graph points de terminaison :
- devicelistenerprod.microsoft.com
- login.windows.net
- payloadprod*.blob.core.windows.net
Ouvrir l’Explorer Graph
Pour cet article, vous allez utiliser Graph Explorer pour effectuer des demandes aux API Microsoft Graph pour récupérer, ajouter, supprimer et mettre à jour des données. Graph Explorer est un outil de développement qui vous permet d’en savoir plus sur les API Microsoft Graph. Pour plus d’informations sur l’utilisation de Graph Explorer, consultez Prise en main de Graph Explorer.
Warning
- Les demandes répertoriées dans cet article nécessitent une connexion avec un compte Microsoft 365. Si nécessaire, un essai gratuit d’un mois est disponible pour Microsoft 365 Business Premium.
- L’utilisation d’un locataire de test pour apprendre et vérifier le processus de déploiement est fortement recommandée. Graph Explorer est destiné à être un outil d’apprentissage. Veillez à bien comprendre l’octroi du consentement et le type de consentement pour Graph Explorer avant de continuer.
À partir d’un navigateur, accédez à Graph Explorer et connectez-vous à l’aide d’un compte d’utilisateur Microsoft Entra.
Vous devrez peut-être activer l’autorisation
WindowsUpdates.ReadWrite.All
pour utiliser les requêtes de cet article. Pour activer l’autorisation :Pour effectuer des demandes :
- Sélectionnez GET, POST, PUT, PATCH ou DELETE dans la liste déroulante de la méthode HTTP.
- Entrez la demande dans le champ URL. La version est renseignée automatiquement en fonction de l’URL.
- Si vous devez modifier le corps de la demande, modifiez l’onglet Corps de la demande .
- Sélectionnez le bouton Exécuter la requête . Les résultats s’affichent dans la fenêtre Réponse .
Astuce
Lorsque vous passez en revue la documentation Microsoft Graph, vous pouvez remarquer que des exemples de requêtes répertorient
content-type: application/json
généralement .content-type
En règle générale, la spécification n’est pas obligatoire pour graph Explorer, mais vous pouvez l’ajouter à la requête en sélectionnant l’onglet En-têtes et en ajoutant aucontent-type
champ En-têtes de la demande comme clé etapplication/json
comme valeur.
Exécuter des requêtes pour identifier les appareils
Utilisez le type de ressource d’appareil pour rechercher les clients à inscrire dans Windows Autopatch. Modifiez les paramètres de requête en fonction de vos besoins spécifiques. Pour plus d’informations, consultez Utiliser des paramètres de requête.
Affiche l’ID d’appareil AzureAD et le nom de tous les appareils :
GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName
Affiche l’ID d’appareil AzureAD et le nom des appareils dont le nom commence par
Test
:GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName
Ajouter un en-tête de requête pour les requêtes avancées
Pour les requêtes suivantes, définissez l’en-tête ConsistencyLevel sur eventual
. Pour plus d’informations sur les paramètres de requête avancés, consultez Fonctionnalités de requête avancées sur Microsoft Entra objets d’annuaire.
Dans Graph Explorer, sélectionnez l’onglet En-têtes de requête.
Pour Type clé dans
ConsistencyLevel
et pour Valeur, tapezeventual
.Sélectionnez le bouton Ajouter . Lorsque vous avez terminé, supprimez l’en-tête de requête en sélectionnant l’icône de corbeille.
Affichez le nom et la version du système d’exploitation pour l’appareil qui a
01234567-89ab-cdef-0123-456789abcdef
comme ID d’appareil AzureAD :GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"&$select=displayName,operatingSystemVersion
Pour rechercher les appareils qui ne sont probablement pas des machines virtuelles, filtrez les appareils qui n’ont pas de machine virtuelle répertoriée comme modèle, mais dont le fabricant est répertorié. Affichez l’ID, le nom et la version du système d’exploitationAzureAD pour chaque appareil :
GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion
Astuce
Les requêtes utilisant le type de ressource d’appareil ont généralement à la fois un id
et un deviceid
:
-
deviceid
est l’ID d’appareil Microsoft Entra et sera utilisé dans cet article.- Plus loin dans cet article, il
deviceid
sera utilisé en tant queid
lorsque vous effectuez certaines demandes, telles que l’ajout d’un appareil à une audience de déploiement.
- Plus loin dans cet article, il
- Le
id
du type de ressource d’appareil est généralement l’ID d’objet Microsoft Entra, qui ne sera pas utilisé dans cet article.
Répertorier les entrées de catalogue pour les mises à jour accélérées
Chaque mise à jour est associée à une entrée de catalogue unique. Vous pouvez interroger le catalogue pour rechercher les mises à jour qui peuvent être accélérées. Le id
retourné est l’ID de catalogue et est utilisé pour créer un déploiement. La requête suivante répertorie toutes les mises à jour de sécurité et de qualité non liées à la sécurité qui peuvent être déployées en tant que mises à jour accélérées par Windows Autopatch. L’utilisation $top=2
de et le classement par ReleaseDateTimeshows
affichent les mises à jour les plus récentes qui peuvent être déployées comme accélérées.
GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry') and microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/isExpeditable eq true&$orderby=releaseDateTime desc&$top=2
La réponse tronquée suivante affiche un ID de catalogue de pour la mise à jour de e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5
08/08/2023 - 2023.08 B SecurityUpdate for Windows 10 and later
sécurité :
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries",
"value": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry",
"id": "e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5",
"displayName": "08/08/2023 - 2023.08 B SecurityUpdate for Windows 10 and later",
"deployableUntilDateTime": null,
"releaseDateTime": "2023-08-08T00:00:00Z",
"isExpeditable": true,
"qualityUpdateClassification": "security",
"catalogName": "2023-08 Cumulative Update for Windows 10 and later",
"shortName": "2023.08 B",
"qualityUpdateCadence": "monthly",
"cveSeverityInformation": {
"maxSeverity": "critical",
"maxBaseScore": 9.8,
"exploitedCves@odata.context": "https://graph.microsoft.com/$metadata#admin/windows/updates/catalog/entries('e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5')/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/cveSeverityInformation/exploitedCves",
"exploitedCves": [
{
"number": "ADV230003",
"url": "https://msrc.microsoft.com/update-guide/vulnerability/ADV230003"
},
{
"number": "CVE-2023-38180",
"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-38180"
}
]
}
}
]
}
Windows Autopatch peut afficher plus d’informations sur les mises à jour publiées à partir de janvier 2023. L’utilisation de la révision de produit vous donne des informations supplémentaires sur les mises à jour, telles que les numéros de la base de connaissances et le MajorVersion.MinorVersion.BuildNumber.UpdateBuildRevision
. Windows 10 et 11 partagent les mêmes versions principales et mineures, mais ont des numéros de build différents.
Utilisez ce qui suit pour afficher les informations de révision du produit pour la mise à jour qualité la plus récente :
GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$expand=microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/productRevisions&$orderby=releaseDateTime desc&$top=1
La réponse tronquée suivante affiche des informations sur KB5029244 pour Windows 10, version 22H2 et KB5029263 pour Windows 11, version 22H2 :
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries(microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/productRevisions())",
"value": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry",
"id": "e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5",
"displayName": "08/08/2023 - 2023.08 B SecurityUpdate for Windows 10 and later",
"deployableUntilDateTime": null,
"releaseDateTime": "2023-08-08T00:00:00Z",
"isExpeditable": true,
"qualityUpdateClassification": "security",
"catalogName": "2023-08 Cumulative Update for Windows 10 and later",
"shortName": "2023.08 B",
"qualityUpdateCadence": "monthly",
"cveSeverityInformation": {
"maxSeverity": "critical",
"maxBaseScore": 9.8,
"exploitedCves@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries('e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5')/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/cveSeverityInformation/exploitedCves",
"exploitedCves": [
{
"number": "ADV230003",
"url": "https://msrc.microsoft.com/update-guide/vulnerability/ADV230003"
},
{
"number": "CVE-2023-38180",
"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-38180"
}
]
},
"productRevisions@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries('e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5')/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/productRevisions",
"productRevisions": [
{
"id": "10.0.19045.3324",
"displayName": "Windows 10, version 22H2, build 19045.3324",
"releaseDateTime": "2023-08-08T00:00:00Z",
"version": "22H2",
"product": "Windows 10",
"osBuild": {
"majorVersion": 10,
"minorVersion": 0,
"buildNumber": 19045,
"updateBuildRevision": 3324
},
"knowledgeBaseArticle@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries('e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5')/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/productRevisions('10.0.19045.3324')/knowledgeBaseArticle/$entity",
"knowledgeBaseArticle": {
"id": "KB5029244",
"url": "https://support.microsoft.com/help/5029244"
}
},
{
"id": "10.0.22621.2134",
"displayName": "Windows 11, version 22H2, build 22621.2134",
"releaseDateTime": "2023-08-08T00:00:00Z",
"version": "22H2",
"product": "Windows 11",
"osBuild": {
"majorVersion": 10,
"minorVersion": 0,
"buildNumber": 22621,
"updateBuildRevision": 2134
},
"knowledgeBaseArticle@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries('e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5')/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry/productRevisions('10.0.22621.2134')/knowledgeBaseArticle/$entity",
"knowledgeBaseArticle": {
"id": "KB5029263",
"url": "https://support.microsoft.com/help/5029263"
}
},
Créer un déploiement
Lors de la création d’un déploiement, plusieurs options sont disponibles pour définir le comportement du déploiement. L’exemple suivant crée un déploiement pour la 08/08/2023 - 2023.08 B SecurityUpdate for Windows 10 and later
mise à jour de sécurité avec l’ID e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5
d’entrée de catalogue et définit les expedite
options de déploiement et userExperience
dans le corps de la requête.
POST https://graph.microsoft.com/beta/admin/windows/updates/deployments
content-type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry",
"id": "e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5"
}
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"expedite": {
"isExpedited": true
},
"userExperience": {
"daysUntilForcedReboot": 2
}
}
}
La requête retourne un code de réponse 201 Created et un objet de déploiement dans le corps de la réponse pour le déploiement nouvellement créé, qui inclut :
- ID
de910e12-3456-7890-abcd-ef1234567890
de déploiement du déploiement nouvellement créé. -
ID d’audience
d39ad1ce-0123-4567-89ab-cdef01234567
de l’audience de déploiement nouvellement créée.
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments/$entity",
"id": "de910e12-3456-7890-abcd-ef1234567890",
"createdDateTime": "2024-01-30T19:43:37.1672634Z",
"lastModifiedDateTime": "2024-01-30T19:43:37.1672644Z",
"state": {
"effectiveValue": "offering",
"requestedValue": "none",
"reasons": []
},
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('073fb534-5cdd-4326-8aa2-a4d29037b60f')/content/microsoft.graph.windowsUpdates.catalogContent/catalogEntry/$entity",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry",
"id": "e317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5",
"displayName": null,
"deployableUntilDateTime": null,
"releaseDateTime": "2023-08-08T00:00:00Z",
"isExpeditable": false,
"qualityUpdateClassification": "security",
"catalogName": null,
"shortName": null,
"qualityUpdateCadence": "monthly",
"cveSeverityInformation": null
}
},
"settings": {
"schedule": null,
"monitoring": null,
"contentApplicability": null,
"userExperience": {
"daysUntilForcedReboot": 2,
"offerAsOptional": null
},
"expedite": {
"isExpedited": true,
"isReadinessTest": false
}
},
"audience@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('de910e12-3456-7890-abcd-ef1234567890')/audience/$entity",
"audience": {
"id": "d39ad1ce-0123-4567-89ab-cdef01234567",
"applicableContent": []
}
}
Ajouter des membres à l’audience de déploiement
L’ID d’audience, d39ad1ce-0123-4567-89ab-cdef01234567
, a été créé lors de la création du déploiement.
L’ID d’audience est utilisé pour ajouter des membres à l’audience de déploiement. Une fois l’audience de déploiement mise à jour, Windows Update commence à proposer la mise à jour aux appareils en fonction des paramètres de déploiement. Tant que le déploiement existe et que l’appareil se trouve dans l’audience, la mise à jour est accélérée.
L’exemple suivant ajoute deux appareils à l’audience de déploiement à l’aide de la Microsoft Entra ID pour chaque appareil :
POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience
content-type: application/json
{
"addMembers": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcdef"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde0"
}
]
}
Pour vérifier que les appareils ont été ajoutés à l’audience, exécutez la requête suivante à l’aide de l’ID d’audience de d39ad1ce-0123-4567-89ab-cdef01234567
:
GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members
Supprimer un déploiement
Pour arrêter un déploiement accéléré, supprimez le déploiement. La suppression du déploiement empêche l’offre de contenu aux appareils s’ils ne l’ont pas déjà reçu. Pour reprendre l’offre du contenu, une nouvelle approbation doit être créée.
L’exemple suivant supprime le déploiement avec l’ID de déploiement :de910e12-3456-7890-abcd-ef1234567890
DELETE https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
Test de préparation pour l’accélération des mises à jour
Vous pouvez vérifier la préparation des clients à recevoir des mises à jour accélérées à l’aide de isReadinessTest. Créez un déploiement qui spécifie qu’il s’agit d’un test de préparation d’accélération, puis ajoutez des membres à l’audience de déploiement. Le service case activée pour voir si les clients remplissent les conditions préalables pour accélérer les mises à jour. Les résultats du test sont affichés dans le classeur rapports Windows Update pour les entreprises. Sous l’onglet Mises à jour de qualité, sélectionnez la vignette Accélérer status, qui ouvre un menu volant avec un onglet Préparation avec les résultats du test de préparation.
POST https://graph.microsoft.com/beta/admin/windows/updates/deployments
content-type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry",
"id": "317aa8a0455ca604de95329b524ec921ca57f2e6ed3ff88aac757a7468998a5"
}
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"expedite": {
"isExpedited": true,
"isReadinessTest": true
}
}
}
La réponse tronquée affiche que isReadinessTest est défini sur true
et vous donne un DeploymentID de de910e12-3456-7890-abcd-ef1234567890
. Vous pouvez ensuite ajouter des membres à l’audience de déploiement pour que le service case activée que les appareils répondent aux conditions préalables, puis passer en revue les résultats dans le classeur rapports Windows Update for Business.
"expedite": {
"isExpedited": true,
"isReadinessTest": true
}
},
"audience@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('6a6c03b5-008e-4b4d-8acd-48144208f179_Readiness')/audience/$entity",
"audience": {
"id": "de910e12-3456-7890-abcd-ef1234567890",
"applicableContent": []
}
Emplacement du journal des outils d’intégrité de mise à jour
Les outils d’intégrité de mise à jour sont utilisés lorsque vous déployez des mises à jour accélérées. Dans certains cas, vous pouvez consulter les journaux des outils d’intégrité de mise à jour.
Emplacement du journal : %ProgramFiles%\Microsoft Update Health Tools\Logs
- Les journaux sont au
.etl
format .- Microsoft propose PerfView en tant que téléchargement sur GitHub, qui affiche les
.etl
fichiers.
- Microsoft propose PerfView en tant que téléchargement sur GitHub, qui affiche les
Pour plus d’informations, consultez Résolution des problèmes liés aux mises à jour accélérées.