Controlos programáticos para atualizações de funcionalidades do Windows
Importante
As informações na secção aplicam-se às licenças Business Premium, A3+, E3+ e F3. Para obter mais informações, veja Funcionalidades e capacidades e Licenças e elegibilidades.
Os controlos programáticos do Windows Autopatch são utilizados para aprovar e agendar atualizações de software através do Microsoft API do Graph. Pode chamar a API diretamente, através de um SDK do Graph, ou integrá-la numa ferramenta de gestão, como Microsoft Intune.
Este artigo utiliza o Graph Explorer para percorrer todo o processo de implementação de uma atualização de funcionalidades nos clientes. Neste artigo, irá:
Neste artigo, irá:
- Abrir o Graph Explorer
- Executar consultas para identificar dispositivos
- Registrar dispositivos
- Listar entradas de catálogo para atualizações de funcionalidades
- Criar uma implementação
- Adicionar membros à audiência de implementação
- Colocar uma implementação em pausa
- Eliminar uma implementação
- Cancelar registro de dispositivos
Pré-requisitos
Todos os pré-requisitos do Windows Autopatch têm de ser cumpridos.
Permissões
São necessárias as seguintes permissões para as consultas listadas neste artigo:
- WindowsUpdates.ReadWrite.All para operações de Bloqueio Automático do Windows .
- Pelo menos , permissão Device.Read.All para apresentar informações do dispositivo .
Algumas funções, como o administrador de implementação Windows Update, já têm estas permissões.
Pontos finais necessários
Tem de ter acesso aos seguintes pontos finais:
- *.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 do Graph pontos finais:
- devicelistenerprod.microsoft.com
- login.windows.net
- payloadprod*.blob.core.windows.net
Abrir o Graph Explorer
Para este artigo, irá utilizar o Graph Explorer para fazer pedidos às APIs do Microsoft Graph para obter, adicionar, eliminar e atualizar dados. O Graph Explorer é uma ferramenta de programador que lhe permite saber mais sobre as APIs do Microsoft Graph. Para obter mais informações sobre como utilizar o Graph Explorer, consulte Introdução ao Graph Explorer.
Aviso
- Os pedidos listados neste artigo requerem o início de sessão com uma conta do Microsoft 365. Se necessário, está disponível uma avaliação gratuita de um mês para Microsoft 365 Business Premium.
- Utilizar um inquilino de teste para aprender e verificar se o processo de implementação é altamente recomendado. O Graph Explorer destina-se a ser uma ferramenta de aprendizagem. Certifique-se de que compreende a concessão de consentimento e o tipo de consentimento do Graph Explorer antes de continuar.
Num browser, aceda ao Graph Explorer e inicie sessão com uma conta de utilizador Microsoft Entra.
Poderá ter de ativar a
WindowsUpdates.ReadWrite.All
permissão para utilizar as consultas neste artigo. Para ativar a permissão:Para fazer pedidos:
- Selecione GET, POST, PUT, PATCH ou DELETE na lista pendente do método HTTP.
- Introduza o pedido no campo URL. A versão será preenchido automaticamente com base no URL.
- Se precisar de modificar o corpo do pedido, edite o separador Corpo do pedido.
- Selecione o botão Executar consulta . Os resultados serão apresentados na janela Resposta .
Dica
Ao rever a documentação do Microsoft Graph, poderá reparar que os pedidos de exemplo normalmente listam
content-type: application/json
. Especificarcontent-type
normalmente não é necessário para o Graph Explorer, mas pode adicioná-lo ao pedido selecionando o separador Cabeçalhos e adicionando ocontent-type
ao campo Cabeçalhos de pedido como a Chave eapplication/json
como o Valor.
Executar consultas para identificar dispositivos
Utilize o tipo de recurso do dispositivo para localizar clientes para se inscreverem no Windows Autopatch. Altere os parâmetros de consulta de acordo com as suas necessidades específicas. Para obter mais informações, veja Utilizar parâmetros de consulta.
Apresenta o ID do Dispositivo do AzureAD e o Nome de todos os dispositivos:
GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName
Apresenta o ID do Dispositivo do AzureAD e o Nome dos dispositivos que têm um nome a começar por
Test
:GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName
Adicionar um cabeçalho de pedido para consultas avançadas
Para os próximos pedidos, defina o cabeçalho ConsistencyLevel como eventual
. Para obter mais informações sobre parâmetros de consulta avançados, veja Advanced query capabilities on Microsoft Entra directory objects (Capacidades de consulta avançadas em objetos de diretório Microsoft Entra).
No Graph Explorer, selecione o separador Cabeçalhos do pedido.
Para Tipo de chave em
ConsistencyLevel
e para Valor, escrevaeventual
.Selecione o botão Adicionar . Quando tiver terminado, remova o cabeçalho do pedido ao selecionar o ícone do caixote do lixo.
Apresentar o Nome e a versão do sistema operativo do dispositivo que tem
01234567-89ab-cdef-0123-456789abcdef
como ID de Dispositivo do AzureAD:GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"&$select=displayName,operatingSystemVersion
Para localizar dispositivos que provavelmente não são máquinas virtuais, filtre por dispositivos que não tenham máquinas virtuais listadas como modelo, mas que tenham um fabricante listado. Apresentar o ID do Dispositivo do AzureAD, o Nome e a versão do sistema operativo para cada dispositivo:
GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion
Dica
Normalmente, os pedidos que utilizam o tipo de recurso do dispositivo têm um id
e um deviceid
:
- O
deviceid
é o Microsoft Entra ID do Dispositivo e será utilizado neste artigo.- Mais adiante neste artigo, será
deviceid
utilizado como umid
quando efetuar determinados pedidos, como adicionar um dispositivo a uma audiência de implementação.
- Mais adiante neste artigo, será
- Normalmente
id
, o do tipo de recurso do dispositivo é o Microsoft Entra ID do Objeto, que não será utilizado neste artigo.
Registrar dispositivos
Quando inscreve dispositivos na gestão de atualizações de funcionalidades, o Windows Autopatch torna-se a autoridade para atualizações de funcionalidades provenientes de Windows Update. Desde que um dispositivo permaneça inscrito na gestão de atualizações de funcionalidades através do Windows Autopatch, o dispositivo não recebe quaisquer outras atualizações de funcionalidades de Windows Update a menos que seja explicitamente implementado com o Windows Autopatch. É disponibilizada a atualização de funcionalidades especificada a um dispositivo se ainda não tiver recebido a atualização. Por exemplo, se implementar Windows 11 atualização de funcionalidades versão 22H2 num dispositivo inscrito na gestão de atualizações de funcionalidades e estiver atualmente numa versão mais antiga do Windows 11, o dispositivo é atualizado para a versão 22H2. Se o dispositivo já estiver a executar a versão 22H2 ou posterior, este permanecerá na versão atual.
Dica
Windows Update para Empresas tem um livro que apresenta a versão atual do sistema operativo para dispositivos. No livro, aceda ao separador Atualizações de funcionalidades e, no mosaico Atualização de funcionalidades no Serviço , selecione a ligação Ver detalhes para abrir a lista de opções de detalhes. A versão do SO e Microsoft Entra ID de dispositivos podem ser facilmente exportados para um ficheiro .csv ou abertos nos Registos do Azure Monitor para ajudar na criação de uma audiência de implementação.
Inscreve dispositivos com base nos tipos de atualizações que pretende que recebam. Atualmente, pode inscrever dispositivos para receber atualizações de funcionalidades (feature
) ou controladores (driver
). Pode inscrever dispositivos para receber atualizações de várias classificações de atualizações.
- Para inscrever dispositivos, post to updatableAssets using enrollAssets. O exemplo seguinte inscreve três dispositivos para receber atualizações do controlador:
No Graph Explorer, selecione POST na lista pendente do verbo HTTP.
Introduza o seguinte pedido no campo URL:
https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets
No separador Corpo do pedido , introduza o seguinte JSON, fornecendo as seguintes informações:
-
Microsoft Entra ID do Dispositivo como
id
-
driver
Oufeature
para updateCategory
{ "updateCategory": "driver", "assets": [ { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcdef" }, { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcde0" }, { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcde1" } ] }
-
Microsoft Entra ID do Dispositivo como
Selecione o botão Executar consulta . Os resultados serão apresentados na janela Resposta . Neste caso, o http status código de
202 Accepted
.
Listar entradas de catálogo para atualizações de funcionalidades
Cada atualização de funcionalidades está associada a uma entrada de catálogo exclusiva. O id
devolvido é o ID do Catálogo e é utilizado para criar uma implementação. As atualizações de funcionalidades são implementáveis até atingirem as datas de descontinuação do suporte. Para obter mais informações, veja as datas de ciclo de vida do suporte para as edições Windows 10 e Windows 11 Enterprise e Education. A consulta seguinte lista todas as entradas de catálogo de atualização de funcionalidades implementáveis:
GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry')
A seguinte resposta truncada apresenta um ID de Catálogo de para a atualização de d9049ddb-0ca8-4bc1-bd3c-41a456ef300f
funcionalidades Windows 11, versão 22H2:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries",
"value": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
"id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f",
"displayName": "Windows 11, version 22H2",
"deployableUntilDateTime": "2025-10-14T00:00:00Z",
"releaseDateTime": "2022-09-20T00:00:00Z",
"version": "Windows 11, version 22H2",
"buildNumber": "22621"
}
]
}
Criar uma implementação
Ao criar uma implementação para uma atualização de funcionalidades, existem várias opções disponíveis para definir o comportamento da implementação. As definições de implementação e monitorização são opcionais. As seguintes definições de implementação são definidas no corpo do pedido de exemplo para implementar a atualização de funcionalidades Windows 11, versão 22H2 (ID do Catálogo de d9049ddb-0ca8-4bc1-bd3c-41a456ef300f
):
- Data de início da implementação de 14 de fevereiro de 2023 às 5:00 UTC
- Implementação gradual a um ritmo de 100 dispositivos a cada três dias
- Regra de monitorização que interrompe a implementação se cinco dispositivos reverterem a atualização de funcionalidades
- Comportamento de suspensão de salvaguarda predefinido da aplicação de todas as salvaguardas aplicáveis aos dispositivos numa implementação
- Quando as suspensões de salvaguarda não são explicitamente definidas, o comportamento de suspensão de salvaguarda predefinido é aplicado automaticamente
POST https://graph.microsoft.com/beta/admin/windows/updates/deployments
content-type: application/json
{
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
"id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f"
}
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"startDateTime": "2023-02-14T05:00:00Z",
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P3D",
"devicesPerOffer": "100"
}
},
"monitoring": {
"monitoringRules": [
{
"signal": "rollback",
"threshold": 5,
"action": "pauseDeployment"
}
]
}
}
}
O corpo da resposta contém:
O novo ID de Implementação,
de910e12-3456-7890-abcd-ef1234567890
no exemploO novo ID de Audiência,
d39ad1ce-0123-4567-89ab-cdef01234567
no exemploQuaisquer definições definidas no corpo do pedido de implementação
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments/$entity", "id": "de910e12-3456-7890-abcd-ef1234567890", "createdDateTime": "2023-02-07T19:21:15.425905Z", "lastModifiedDateTime": "2023-02-07T19:21:15Z", "state": { "effectiveValue": "scheduled", "requestedValue": "none", "reasons": [] }, "content": { "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", "catalogEntry@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('de910e12-3456-7890-abcd-ef1234567890')/content/microsoft.graph.windowsUpdates.catalogContent/catalogEntry/$entity", "catalogEntry": { "@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry", "id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f", "displayName": "Windows 11, version 22H2", "deployableUntilDateTime": "2025-10-14T00:00:00Z", "releaseDateTime": "0001-01-01T00:00:00Z", "version": "Windows 11, version 22H2" } }, "settings": { "contentApplicability": null, "userExperience": null, "expedite": null, "schedule": { "startDateTime": "2023-02-14T05:00:00Z", "gradualRollout": { "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", "durationBetweenOffers": "P3D", "devicesPerOffer": 100 } }, "monitoring": { "monitoringRules": [ { "signal": "rollback", "threshold": 5, "action": "pauseDeployment" } ] } }, "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": [] } }
Editar uma implementação
Para atualizar a implementação, a aplicação PATCH do recurso de implementação através do ID de Implementação fornece as definições atualizadas no corpo do pedido. O exemplo seguinte mantém as definições de implementação gradual existentes que foram definidas ao criar a implementação, mas altera a data de início da implementação para 28 de fevereiro de 2023 às 5:00 UTC:
PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
content-type: application/json
{
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"startDateTime": "2023-02-28T05:00:00Z",
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P3D",
"devicesPerOffer": "100"
}
}
}
}
Verifique as definições de implementação da implementação com um ID de Implementação do de910e12-3456-7890-abcd-ef1234567890
:
GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
Adicionar membros à audiência de implementação
O ID da Audiência, d39ad1ce-0123-4567-89ab-cdef01234567
, foi criado quando a implementação foi criada. O ID de Audiência é utilizado para adicionar membros à audiência de implementação. Após a atualização da audiência de implementação, Windows Update começa a oferecer a atualização aos dispositivos de acordo com as definições de implementação. Desde que a implementação exista e o dispositivo esteja na audiência, a atualização é disponibilizada.
O exemplo seguinte adiciona três dispositivos à audiência de implementação através do Microsoft Entra ID para cada dispositivo:
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"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde1"
}
]
}
Para verificar se os dispositivos foram adicionados à audiência, execute a seguinte consulta com o ID de Audiência de d39ad1ce-0123-4567-89ab-cdef01234567
:
GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members
Colocar uma implementação em pausa
Para colocar uma implementação em pausa, patch a implementação para ter uma requestedValue
de paused
para deploymentState. Para retomar a implementação, utilize o valor none
e o estado será atualizado para offering
ou scheduled
se a implementação ainda não atingiu a data de início.
O exemplo seguinte coloca a implementação em pausa com um ID de Implementação do de910e12-3456-7890-abcd-ef1234567890
:
PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
content-type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"state": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentState",
"requestedValue": "paused"
}
}
Eliminar uma implementação
Para remover completamente a implementação, elimine a implementação. Eliminar a implementação impede que os conteúdos sejam oferecidos aos dispositivos se ainda não o tiverem recebido. Para retomar a oferta do conteúdo, é necessário criar uma nova aprovação.
O exemplo seguinte elimina a implementação com um ID de Implementação do de910e12-3456-7890-abcd-ef1234567890
:
DELETE https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
Cancelar registro de dispositivos
Quando um dispositivo já não precisar de gestão, anula-o no Windows Autopatch. Tal como a inscrição de um dispositivo, especifique ou driver
feature
como o valor do updateCategory
. O dispositivo deixará de receber atualizações do Windows Autopatch para a categoria de atualização especificada. Consoante a configuração do dispositivo, poderá começar a receber atualizações de Windows Update. Por exemplo, se um dispositivo ainda estiver inscrito para atualizações de funcionalidades, mas não estiver inscrito nos controladores:
- As implementações de controladores existentes do serviço não serão oferecidas ao dispositivo
- O dispositivo continua a receber atualizações de funcionalidades do Windows Autopatch
- Os controladores podem começar a ser instalados a partir de Windows Update consoante a configuração do dispositivo
Para anular a inscrição de um dispositivo, POST para updatableAssets com unenrollAssets. No corpo do pedido, especifique:
-
Microsoft Entra ID do Dispositivo como
id
para o dispositivo -
driver
Oufeature
para updateCategory
O exemplo seguinte remove a driver
inscrição de dois dispositivos 01234567-89ab-cdef-0123-456789abcdef
e 01234567-89ab-cdef-0123-456789abcde0
:
POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/unenrollAssets
content-type: application/json
{
"updateCategory": "driver",
"assets": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcdef"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde0"
}
]
}