From bdd09a3b5da304d1ebf5ac8dece85adbd95a11f7 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 20 Jan 2023 12:31:25 -0800 Subject: [PATCH 001/102] wufbds reorg --- windows/deployment/TOC.yml | 17 ++++++++++++----- .../deployment-service-expedited-updates.md | 17 +++++++++++++++++ .../deployment-service-feature-updates.md | 17 +++++++++++++++++ .../update/deployment-service-prerequisites.md | 18 ++++++++++++++++++ 4 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 windows/deployment/update/deployment-service-expedited-updates.md create mode 100644 windows/deployment/update/deployment-service-feature-updates.md create mode 100644 windows/deployment/update/deployment-service-prerequisites.md diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 4ac1a97b0f..4e2b24d2be 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -164,11 +164,6 @@ href: update/waas-configure-wufb.md - name: Use Windows Update for Business and WSUS href: update/wufb-wsus.md - - name: Windows Update for Business deployment service - href: update/deployment-service-overview.md - items: - - name: Troubleshoot the Windows Update for Business deployment service - href: update/deployment-service-troubleshoot.md - name: Enforcing compliance deadlines for updates href: update/wufb-compliancedeadlines.md - name: Integrate Windows Update for Business with management solutions @@ -177,6 +172,18 @@ href: update/waas-wufb-group-policy.md - name: 'Walkthrough: use Intune to configure Windows Update for Business' href: update/deploy-updates-intune.md + - name: Windows Update for Business deployment service + items: + - name: Windows Update for Business deployment service overview + href: update/deployment-service-overview.md + - name: Prerequisites for Windows Update for Business deployment service + href: update/deployment-service-prerequisites.md + - name: Deploy feature updates + href: update/deployment-service-feature-updates.md + - name: Deploy expedited updates + href: update/deployment-service-expedited-updates.md + - name: Troubleshoot Windows Update for Business deployment service + href: update/deployment-service-troubleshoot.md - name: Monitor items: - name: Windows Update for Business reports diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md new file mode 100644 index 0000000000..862ba6b171 --- /dev/null +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -0,0 +1,17 @@ +--- +title: Deploy expediated updates with Windows Update for Business deployment service +description: Use Windows Update for Business deployment service to deploy expedited updates. +ms.prod: windows-client +author: mestew +ms.localizationpriority: medium +ms.author: mstewart +manager: aaroncz +ms.topic: article +ms.technology: itpro-updates +ms.date: 02/14/2023 +--- + +# Deploy expedited updates with Windows Update for Business deployment service + +***(Applies to: Windows 11 & Windows 10)*** + diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md new file mode 100644 index 0000000000..ca15200ed1 --- /dev/null +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -0,0 +1,17 @@ +--- +title: Deploy feature updates with Windows Update for Business deployment service +description: Use Windows Update for Business deployment service to deploy feature updates. +ms.prod: windows-client +author: mestew +ms.localizationpriority: medium +ms.author: mstewart +manager: aaroncz +ms.topic: article +ms.technology: itpro-updates +ms.date: 02/14/2023 +--- + +# Deploy feature updates with Windows Update for Business deployment service + +***(Applies to: Windows 11 & Windows 10)*** + diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md new file mode 100644 index 0000000000..31148a17fe --- /dev/null +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -0,0 +1,18 @@ +--- +title: Prerequisites for the Windows Update for Business deployment service +description: Prerequisites for using the Windows Update for Business deployment service. +ms.prod: windows-client +author: mestew +ms.localizationpriority: medium +ms.author: mstewart +manager: aaroncz +ms.topic: article +ms.technology: itpro-updates +ms.date: 02/14/2023 +--- + +# Windows Update for Business deployment service prerequisites + +***(Applies to: Windows 11 & Windows 10)*** + +## Prerequisites From 8cc157be07ec12074c008c52eafe78529e09e098 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 20 Jan 2023 12:40:10 -0800 Subject: [PATCH 002/102] wufbds reorg --- windows/deployment/TOC.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 4e2b24d2be..983b5bd989 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -178,10 +178,12 @@ href: update/deployment-service-overview.md - name: Prerequisites for Windows Update for Business deployment service href: update/deployment-service-prerequisites.md - - name: Deploy feature updates - href: update/deployment-service-feature-updates.md - - name: Deploy expedited updates - href: update/deployment-service-expedited-updates.md + - name: Deploy updates using Windows Update for Business deployment service + items: + - name: 'Tutorial: Deploy feature updates' + href: update/deployment-service-feature-updates.md + - name: 'Tutorial: Deploy expedited updates' + href: update/deployment-service-expedited-updates.md - name: Troubleshoot Windows Update for Business deployment service href: update/deployment-service-troubleshoot.md - name: Monitor From f1f7fce4fcc6afb2e1e0d57bc9b5ee3ecf723e1b Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 20 Jan 2023 16:33:57 -0800 Subject: [PATCH 003/102] add include file for graph exp --- windows/deployment/TOC.yml | 4 ++- .../update/deployment-service-drivers.md | 29 ++++++++++++++++++ .../deployment-service-expedited-updates.md | 20 ++++++++++-- .../deployment-service-feature-updates.md | 14 +++++++-- .../update/deployment-service-overview.md | 2 +- .../wufb-deployment-graph-explorer.md | 25 +++++++++++++++ .../media/wufbds-graph-modify-permission.png | Bin 0 -> 165885 bytes 7 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 windows/deployment/update/deployment-service-drivers.md create mode 100644 windows/deployment/update/includes/wufb-deployment-graph-explorer.md create mode 100644 windows/deployment/update/media/wufbds-graph-modify-permission.png diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 983b5bd989..f14ccb8dbe 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -178,12 +178,14 @@ href: update/deployment-service-overview.md - name: Prerequisites for Windows Update for Business deployment service href: update/deployment-service-prerequisites.md - - name: Deploy updates using Windows Update for Business deployment service + - name: Deploy updates with Windows Update for Business deployment service items: - name: 'Tutorial: Deploy feature updates' href: update/deployment-service-feature-updates.md - name: 'Tutorial: Deploy expedited updates' href: update/deployment-service-expedited-updates.md + - name: 'Tutorial: Deploy driver and firmware updates' + href: update/deployment-service-drivers.md - name: Troubleshoot Windows Update for Business deployment service href: update/deployment-service-troubleshoot.md - name: Monitor diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md new file mode 100644 index 0000000000..9306660954 --- /dev/null +++ b/windows/deployment/update/deployment-service-drivers.md @@ -0,0 +1,29 @@ +--- +title: 'Tutorial: Deploy drivers and firmware updates with Windows Update for Business deployment service.' +description: Use Windows Update for Business deployment service to deploy driver and firmware updates. +ms.prod: windows-client +author: mestew +ms.localizationpriority: medium +ms.author: mstewart +manager: aaroncz +ms.topic: tutorial +ms.technology: itpro-updates +ms.date: 02/14/2023 +--- + +# Deploy drivers and firmware updates with Windows Update for Business deployment service + +***(Applies to: Windows 11 & Windows 10)*** + + +In this tutorial, you will: +> [!div class="checklist"] +> * Do X +> * Do Y +> * Do Z + + +## Open Graph Explorer + + +[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 862ba6b171..a8ba04d28f 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -1,17 +1,31 @@ --- -title: Deploy expediated updates with Windows Update for Business deployment service +title: 'Tutorial: Deploy expedited updates with Windows Update for Business deployment service' description: Use Windows Update for Business deployment service to deploy expedited updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: article +ms.topic: tutorial ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Deploy expedited updates with Windows Update for Business deployment service +# Tutorial: Deploy expedited updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** +In this tutorial, you will: +> [!div class="checklist"] +> * Do X +> * Do Y +> * Do Z + + +## Prerequisites + + +## Open Graph Explorer + + +[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index ca15200ed1..e1f9d5e2d9 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -1,12 +1,12 @@ --- -title: Deploy feature updates with Windows Update for Business deployment service +title: 'Tutorial: Deploy feature updates with Windows Update for Business deployment service.' description: Use Windows Update for Business deployment service to deploy feature updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: article +ms.topic: tutorial ms.technology: itpro-updates ms.date: 02/14/2023 --- @@ -15,3 +15,13 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** +In this tutorial, you will: +> [!div class="checklist"] +> * Do X +> * Do Y +> * Do Z + +## Open Graph Explorer + + +[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 3d655149d9..7ef4804c87 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -34,7 +34,7 @@ The service is privacy focused and backed by leading industry compliance certifi ## How it works -The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Businesss reports](wufb-reports-overview.md). +The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). :::image type="content" source="media/wufbds-product-large.png" alt-text="Elements in following text."::: diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md new file mode 100644 index 0000000000..fd82db4ad9 --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -0,0 +1,25 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.prod: w10 +ms.collection: M365-modern-desktop +ms.topic: include +ms.date: 08/18/2022 +ms.localizationpriority: medium +--- + + +For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](https://learn.microsoft.com/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](https://docs.microsoft.com/graph/graph-explorer/overview). + +> [!WARNING] +> Using a test tenant for tutorials is recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. + +1. From a browser, go to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) and sign in using an Azure Active Directory (Azure AD) user account. +1. You may need to enable the [`WindowsUpdates.ReadWrite.All` permission](/graph/permissions-reference#windows-updates-permissions) to use the queries in this tutorial. To enable the permission: + 1. Select the **Modify permissions** tab in Graph Explorer. + 1. In the permissions dialog box, select the **WindowsUpdates.ReadWrite.All** permission then select **Consent**. You may need to sign in again to grant consent. + + :::image type="content" source="../media/wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer"::: + + diff --git a/windows/deployment/update/media/wufbds-graph-modify-permission.png b/windows/deployment/update/media/wufbds-graph-modify-permission.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa73d51755c52557e298b079a254d33fb775fef GIT binary patch literal 165885 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νQsDocnMU?9Kr@=ntJxujQRTzMjk zZ7a=r*({4$1SM=~1&%4)NTeJes3eI*8+k8LQ&?4La?h~^u!^NS5-p5HRWI5SC&xXZ zlD|FOOtsZjOv<|<<^E!Vf@EkRL+jLg+trsB@yFwZz(KX_EoSbu$OG?ZKge4j2B1GF zuLtOZRGH|%a^^?g-G8bKXg^^-0FA>VhL_4uGT)kQ^eSe{1EA1bA$t}(S+Y6tz#7us zR;iryW=L9FOD;zWi^uZqY1a38ByZBe{os2> zH8YN3=&0FV>q(Kj8w8#HFtl!0ShKK{6s})r?p}Dm<3>SVJr0arSs2vm%rxsys`Gbk zE}@wrte^5D_#<2cWW`8-)391gx^7PJ)4_a}g{~{%X>a|V2FIS#@bLLe+v9BK|IWVyCjk`Ui>Q**30aw>k4wMwcJDU)^o$s zw@s4dG~P6>!wZv1_C0a5`kLzsg;opi;y5OO;EN@^eeLjYy+k&9I7=$6#vpZUMPv4ETvY6e&I+G6KSkcOj}qB< zB6_+%qW63$+9w4Xs;7|2;yPhy2ONb4j;0D1yz6x6dSAGdPKz|jWYzZZV1Jj1J;tGn zv?|QDCW2GF_qqj*{>0~g8r`quD0YeYI!l$7l#B5Am3-wvfq^4V%J9+z$Z;2zltR2{wj)i{|`bvu7v#fG$p<|lj4fjCbNrQMHDA^L;)1vY_MR?Ipy ztpL7mh`1*_tna=+#Hmr70;P_UT{r?59Amf`HayvPG+(7S37lEBiVBbdeLLN(fY+CP zXgP{~s;cYM2l;~;$%{gZYG-B&S&wtkNOW{9VR2S4 zLCXd3Vkw9U-+IJZu%@fr9(8SQq6)PY7YHb>?0&z z&-T3T?fpRPMy;Srnq7Ttpe|otub-$}-+=UummPGz6MB%pc)>%o#I8bSY1Gk;8BUrd zWB4Y*7HlgwAl>))=}$*8@Q`A#MEqWUS(Cz1BEa&X%xP6?EQ)jo&IMY-VT3#2p6 z#~aX(5bnx*f$3IFdSe}sR&YKqsn=L|Rnli3FeDajucN>Xbvy*H&w$;mC~tS+#k7H} zi(gi$7ikw4*xQ!0Y7-S}`-)v9zWHfn0|YF|=Hy_GFq*}JKQtsMjv)&%^w0rUpWQ9C<_->UhRPkRQ$>=unY1F;j1o*7SRBPlTkhq zR8&thDEt6Iitu_Z6ty-((Ja&eK)Q-u@n54ju7>)GNY5ybxjhIcywaD>ica_}GRV-X`4nyejZKx3hW1t@-XXFke zLnT`OGUC9$C8F{9YR^u;a!|flM9|r-rpysDQ7fkJE3zQd@CZ(Ren9PMue%%IRmdum zxH^QJD$!BzQvoyQ9vv$)J+V-0FWImJg*9cp- zqH~pIK}Y%a->nC@<&*q;KvENwa0@&gIsaaHlaWO-?|1P0rD5~Ui84IElKf@g9>0&T z)X?`Z4ZhhT<70vVC_NG9wbK4qpZ@(&%FegHUj6O*0U(sDhq3~_#2lBqHaC3#{pU-| zlnU7oEd?UdYKxEpBA0%VDP;czBftfu97(c&qt<^e-rTwVpHT#UBSQ)(5C3^(yt#k< zzpkZzdTrr9f4lVg!Q*Uz(Mk^JR9xwa3y^#1jEXg26niChu2b=T=lUhm>Nrjf;wVRe z*8EWg1Z;;-Ydo;4TB#x~{^|d|%bOClVriKYoK(@dOa)76pe$=s zui5yJm~uLFpbg`3+uOQ%ZdeM92egY7cepI0hUOtWqm|C+vgi+s%g%<;2sbzV^z`WF zhwFa6e}}o08<^HhpRX7n@2}&52cH0z9{>RX*xT)Uyw0vu?_2-~C2VxbF{@=}{S0VC zi2)yRlM%;kySZM*Y}$P*DHQJ-+TYJzv&<;4aew&z_^-DyAA9^Wfz>YPcjisNAqF`;e^8#@B>;$Xiwb#uaP$n~{BFAKU!GY_!PPRt^ zUiPESLLU5Ks}EjUB@h15M~HTR8yO{W{AAU<4^U9H&*p$Q8hLK$wcS`lI0qcpr}ONO z99*dT7qdwEcgQ|^1H@wSWGOK@!!=_^k*!#Sj_S9K!w1i~&L}imcV= zd7^omM=rQfa|j@^SAAs{T;bve699W^PbqowiO+2Mf=;plL}xqYHw`0-qLWYaQjDS` z&)mO|wn-i>QxO1$O3%p~z-ktJg6t8zTIIh0x7SS}d9nk<&SGju*Utub8b23@B2#LX_3rqcM`-K%SS!z0f zaHxZ>&H$bzi`a~`OUQO=*}oHreMpRJln=p~uZT22XRFEf#KtPI_Z++Ks{;g;8-)!o zsk4iNL4aM?3*4wG2H@o?H^!jTN2qibc`)Bv(070-?c5kILPL&Psi|4KcUr0)mSj2g z>YYbRb(ebLxzVox*`z>OCd2;@(VkAstB=TQ*}u&IiL7e8NQVSYtp`L>PMzR%H$b+C zn}+LP&8}V&%{A?fuVWS4doD|}Sg-X?C@_u#+(YqV{_}id;dkBUm;xFW|GyjMG}*Nzg?dS~Z&QCHjq1fEx}gidGQjoKST^&(t{~iF7{d{1kS|jbM?S zCF%iLjb87#d(&z_oo3jo{9+TN=r9xB>w1V(AcEk5!EMeaULX|*gdKxqaW7ZC+>as$ zGfqW{sUkc#$5A2UM{C(p6lvV`&d-A=6G!(;uRIN0D%kTmJ-%NKy@u4hJt<$4hH!48 z{HQc?94{=;s85^bw!EK~ZUBVCNCj&9hF#fW+^t55aZgWQec$@m$#j%((Ww*MgwVr6 z+nY*^lafHe^%DrR*s)}HWZgku4}9nXx0d`Ps$X{KQor3qn6Z9fKx>~|IlEvxG#};i zbBv8$l<@C{6$ z+7^G3l%7jj65KTMP^P$qShD%`fOL`4vKPDe*2U&Y#PrW(Hk}C2!vx8v-z4nLXYyqy=jsYB_m@L?zBxuVZ zUl*9vpgvJBs64WPtLM9?Ws0_JNZM6@T=dGLaTQq3HT2KTme=NVPcu0uC=Hyc=Y%Sb z)0=i$$pXr>1Z->P%=?wFV<)Gs`SncznAtiyxxNj(e3iI%PytMsVk?>((=cF?PaFYu zHhVxUcO0?w1eyB+`Yj23^_LGcYz?xEsAQ;20X8L}pGLibnt`tzhh%8$Y$FWgK)6XVXKJiXf`sVBW9Dj?GYD;mTwMW7$(;`33O6*F_ zoNom}-;2A`V{08J(&2mRLV?y*M_e%!@tsN-s;5#WBLzHS1+Y&IrUqCQ3wk@~M7dzU z#V=gF<~O7Z2$D>?=_exk_4F?*#fqZ*n%7+bM*8Qp1k39B(auq^akkltA3!i{E|oaR zbv{!eHBcKX=F^m_h0sG1_>mWknOcj$}5}%1>O*%h2XfF0R1;lGOlU!A8MmlH~yUijg znaT?&qFuXM87|}XXtv7=*+(JckG<36hQ*whLUQ5OXITzYvXZIeTIjoHO}A6eg=Rhl z=mGNQBs%NhC_^g1v4142hUJd1zQ>SAL88@M>X%hC&~bbbH(dgUciDdErR8lpG{QSp zQIIgZe~dhESw2H#u!4o=|HSn1zgf{8{N7c+CQd`Ywc(9u3iD?9YX5Gxl48nFTi?WK z?f6tmNYQd`U3aH*NGWeytf)qNaR*&^gmM{p^Nhfw)s$|JxeB+hX_~|N9XkD1%EJor zLLMP@cefv(pRG;T*hd~f20VP^3_RC!CP&sqIT|Fgd=3Ekx_sC-WWArbEInh9p1@Gz zWY8((ZR2uMCE*zn`3-M;=#zKXaQJC7JkA0YJR1{@O00f6y>^h8o?b154RK?ZZE~xG zKb}QB0oIN3_lw};^A(weUl7%Y$&TuL`dP0p^d-3NU_nzW&9Vo?b*$ZhC`qC+4E2Xf z$(fcw{iF%N4_jFUt?LqkKUfXgo(kuCGTr}PdWVdMf7x9Pdx6uMdx_8Ss( zFkSHd1VD)wSONAK2V?^{5#(ssT`FGITNt=(%}fG-PLxr|E~P(N2u}19FmM>`4Z}sg zkw#9=3TFnQX|SnrF_hDhXgJHmf`yZ7ywYk_i?*XG>ZIYc`f0;0qLO+(!U+}*Bb#1C z$Ye(1>mmzY%{UDRcglv-Mf=EuB3`i&0UGy7*-*Q4sz!k_jr#6lyIu%-{baCAV*OXl z%t_Umh?!Nj4sG(OFl&A0OM={&MId^a5m`42rc!)yzmxoOR`MNY_xa0i%=w9~{chbq z9&ZJOSb&k9N`P9;rQvpE!|LPdF>Y&>l87#voB#0taCPqSOuzsC*FkEM4wiCgrIQGi zQ_kloImO6fBsm|;`7lb2N=Sur%$dzLavrwm9hIDo9GB!c%xT7E{I0z}pYQGWy?yuB zZruobUDx$IJs$Tf-6S_q{^Mshc*+4ZEw%owyihiM0P!9_Ig>$NCOb|O=?dm6)^DE3qfb(v|`72eNtXFRa?x~MC+N>)mDwfFGvqQCB$%}+W( z(4J4BrD6if%AU#;hsO0p?VCu2DY!g-)qI**$dHRVpvWqnyz~shh=tXWRE;pJBeD5u zHTVZc1u7`rL@WDB<4$#!SHePHWcPM=L`nTJ?fE@iylO#s9v_!cEkXyow70RF1pqTRagIhomyI9XBxi4X7D)uL@pZI zPv7Qjr7(@yFHWRUX2M}Mo4b%v>>SGx_WP)z@ibWWci$ z_NB68h<}{U8C{P|*J>D-Z!i*4MAa2uL?rCygrEceh9Facdza+M+<}P4#}IenR~9AB zq4OmtJ-9=&vaCW1HBANQ{+RtP<}%VsmneddqVJiIrwB7A550*vpCo-{E;_f_wQ-6w z6o$t`G`|pn7Ut5NEt5?_m>A(UY`k%%K>9QqQWMTt^w~tWkiR-{myFNJ!Q3P?UyXEt z{;yiN3YfSjLkJJ8%XfcyzL`yK=|@tzh zp>96z@y};&Prr)x^Uk*M1p0)FBM(=fbYupP&30VMB*nraYlnSAkD=HEQ~ZU_3HU5k z?ISN!z4&k=Uchqpt|uZ+2xcmt&&wl1(7GtH`+|hs@`;<{S^W8xm!*1nvX~itd@3GB zTG_`U>mYG*8jTL}Gv$Tw_sNIGKb!TviS7`D*}JO+j3BvY^o&yl;o5V^JS|1%XM5DU zBO*{jtlO`!dhq_G{$sRbowWLItJ-Teje_ilt8Ht;InFb+ z9+~WRejDO?rbY_WVPY%zF5&!2-J1c07Uk)+L29}p16%nIOXPMdCvrTV5o$4MOC8Sk z;Cr~Wajz6;m&pKz{TyuP9&r_V=M2VJVW|dQrDZtngX9`S8)q;+nCrHu;MSCDC`!Jl-ve3eP=l zwJTFP3!Nq&(F9Mf_n1=}xm>;5k=tK=Ew1#suxdyduP6K@_O&q?gBIeos--sP?WTQ= z6ReL*8(*-1<9D}xTX=Qw{l(kw57!JyokY*~ug8`&n>}fe{>j{a5512*YQ?(H;H#&h z&zlDQi?&|60#~M9;PUnqtF&9#gD9i72gI#Ek$4sO&|a`wjeC5k(@~ibp!!GY?`xeA zZZ|&VAg7jB4_i%|z7(6~jmT{`bZ-jOd3)S-kfbktKZ)8q1`vWgZ1l=F#TT42=%3&>D2WXJ3kF{uQ`@>grlxNoGMR2bo;J7Rj+|wajzSP+~V^Hv!Zchv-@Qu zzI^Nd{Y8?bs>r~M*P$+7D9M`20GON-`JgD?{6sja9YcWTn~yM2`NsG?37 zk}-S2bH{Ce6vb_a)mdthzk1?tFd||J?T?sl@YymoJsAnp<#neMpC4>FR&dXfTAE(a z+^WU08-AOLMQ(f4v*V8^4KF-(K`t^oi!FTjJ%2Z&L}MVtDv35x-myC)J?pa@bN<@H zADc`h!8x^UVa26E+s;0U?qLu_oY& zt<*`q;T@f8JH)&7F7d)^CqQYdB~>rQ9_L|*7SJS+t_5E%f?oX8$y3|kw%E?0Q?!8z zplL=J8onb$_XMWu%#jUCWd@p{U?3W7ZihfZO&Psg61ZE zSrszNMieJYHH`#ma8!mHv{D)(`Tj-zZxgLIq#5*MgkXk%sl-Tp{$UgHY*xRuU=+Eu zsyW&KVgv0e>FKvJlXUCT^M~D$s5Li0zkI}}o^co+OV!S&7$Y*sdcN@Ul1uR744)x& z?o&xy)oxKGb-rfYmDT5MvOhqIzZk{Fx;H`#-Lu^t_+jcJ3&9Sd#}iX9ykC+8z2uAE z*frJorXZe_RNri>&~}HvzNph`KfleuQXMp2;xF_a=B12XU@} zZpE+Fw*N@LqQ0g4T!js_DE*W`=?xWp z&sVD#5@jz(G=%PtisW<(p%R%sUE#9isf4O|U7fB6>y4>DJpXiG?c;NSROT(nk~G#% z792KZDfCD7Ra3Wa>k$&3q-F;miISeR8&JZB&W2k(jZEwcezeh&7_bDb3B&8E951)| zZNMPL-2h2TuhH!xpG?`vdbU#ja@ZIR6JW5G!C*-r8K;w{Q`85x%E?y;g5M^DKWG#7 zxT>YNH7lQHOncE_Q*SWP&b94-{)0CV#}3sG52` z+lzhjClPznGIhsqqg|qwQS}MAo^gZ=Pon?Rzqt+xg?dQt?fWVU*TT3@`Z=Rdu?jQD z`L$`st;DfY2}hy0zX^Izs-pE#?Jv4e7Tm8OD*~D~^5W2hyOWqqdR$$k8O{=$=DE*i zJj-WqSGAjpJhs}r{hp*ipPn=+6aC3@1M}NLuoYg_2!xH*iH;3Qu_kO$m z+4QTwSimdjZO=v%rAYxsY<#sIG6Ex}YG#8gw2~bm+!OU)V&B2Mu@MZaGFj7qm(^Q- ztMb4l?s&rfQaaoX>usum+jikzo{n!$`bJ-R8XZL;)up))5HRk3sK3goRTIFu0V`Q^vJ8;L)T!FrSAf3>?vlkA)+-9TL zrJc?WqLRw603Y`#>eh4ULzPp{e?Yz#Y}W_jes(K9gQTG_?q{02V9PFD zE_wFgy9oZlO#N3YrHeYf)Ij@EHjQB-kt_OC7o3#=B6KC(Y84nK4nC>r2yX0LYb^CY zW8>dnva%~b!C5(Z)6<47KQXoLu1X_E(+V7SWpv zn3&Cfacq>LtsHc*((Q=qTRlbP8MPwH0G%!5bB0H=JD&;z-GMR|TPKP|rMdDkhwnrU z%(@VALu9W&j{*S`cUOmOxl;KcU#SBV$o>BJIFF@D9`(`YWYaIKK6ZLOeY4T77xSOF;k$zOp|_ZR z2tfsU?9&#Ek~jNm&PVg$MD&3G#FoWjoL2C##EFBxMcZ9u|GBfaECYBW;kxkP<>cl- zR7|;B6jdx;BI#HGy&EPro(>UEpZoJr%mR!34bO=uEo%wplU*zO&zk{}4W6~<_B3ko zV1mLk)|$n!9H3>cvGu9@$}Oz^)6!w$#U1AwZ8f+pm7fSk`qCj6sH$C&-3q$4f_%g% zf4Xo%+-Y}*gJ<=}OwTu@|@wdn^EcLsgm9SeJ>2pCyj;d-2 zElKO-vr<6Q`QSTqvNy8Lb9bspfmt&yFa0!eemAhP8)c>fZ-`*Zuvq>NB<}1abiE}H z`7!P>p<9ofmX(4PzJGr~5S!R9DYDNqYDV^wP&_|P2HE14d6v}&-(PYIL9%PNrA2Y~ z6V60Z~l)+%|D@IsrpzL4$&bB8h6#fOcX$KRukzX;~sUx-3p{K|Xqt=hijzpe;X zibXYXAmTTc{%T#_z_PN;Y&A%5{u(J&to}$>_;*^W!R%OY_r}6HOZrhgyE9C^TVhdn z2ARu<8&ixN4oH|oLJw_LMJn&m)%Wjo%uxKpC^PH{cO-leKXKyZYbvtno^nIHOv93P z0wZHAHLZmtliN*&ro?LO36PHQ&Ekz?)ExyISiwZ}>C$xU`qQ-bM1cj>+jM^c+t!Ls zwP_;%T0L%e*@X|Ji(wZt1K!l1v7jaGG;Z9#a$M7_512W^nX^TsABCgoHMNnnfxyFj zbJ0fGJcJL1Ql+yr@v0NMy!bqlO;JMVi2nGy9`eS!=>2Gj74N0d`ruCDamz*<`2lVI z*Uu~WjgQA!AND_Fs6Eu-HJAbOs^BP3f;XDwfm@ zpLLMI^!lHLJ)@O5=|^<6o@^hsSgl-6<0q?|7SybVUtc4~3nYQVju)P$KWvZS9Bs*d$?fY_(@IFrGL6zEw3pC&8*&%5_wiH*rin5CI0Cq0`+7FA4b{ibcVg2 z{iDB8VblkIoL!XGG%$U;va|IHEW#ZbkoD|o4p?DDnzzTzLk8#cHMS5(zbl?ERoSEq zHQFQl_1DWw?-^#-K?b(AfT++r>e9L1a{$TgM`zB@8uYowcKalZChA~vd&5gM}1G(JR{7Pw4pAvBEn+r-#3 znw?&tSTRKgrp@zpHLTVu>|v3x8|g(INcQ&hKxo%Tt##lCBCt;!r~bPqW{W!SF8H(6 z3n)p@$1l_?s1LTs3e#o4Z_;E&YHQpe?bH!1$VKQFU)fGnIFr%&aNFjr9@tlP5NcW4vBm0;q1Cx&w=Z^> ztcA>c;UC@#UHw#K`*t&Ut)b3;0Zd&Wh1$8-uI=~@i>L-!9N5dn6?7R*OweQBpC*^~ zH~e(?A#kH0U3#6$ufXjOq4n(zsr_RakYgORf37)4`Vh7GUaj(twF>F^S?#PW#>5)I zO;F}+(SQtbh-Z%9rd^Kp(R}T0yBDaKL7(Z00Q(6#E)OCUxO_$AaPa{z_7TjLVTQ~l zbl1si51#XmR^65loEk9F!t9n}KglV~54`%z;jx9r6GF(zLrH!3yCms3%#Vke5#cpd0yk*s;_!tFB95!~15H3&l=9k_Z@-s7DxJ}^RIRWMMkC~$cg zr=c9iSX?L^P~M0nf9aLH2V82NqbRF(hclDF`I$AEQQxo6a$wm-{e4zr74^+CTVmd- zcOVPRs0fF zJmrKim>WrtXl0R%Ug*=ya$Acu3#{)bcZ2%;VWdi|LQ_0#q7I=b72Pen%4gItA8(CY z{$*W$(-Aycdvt-lo6G)Mw&bs?B@jCjelBLP(-oYIYcsp+BCUEUk5U~TqF8K8MVZkk z3Ubj!l5Jc}k_tFhuzL?%)o0{-eW_t;DWzRDN^pSY&O{pa&eHb6JnYgogAcWr?%7OD zDAkL)NF92reFO2fi$Z_VMbTig3>6?{|zes+)PLNB*@ZzPiPyn?d>$1~ ztYOk=zI$Y+sYMK|F#3vKWoc1%=!H&a>J1IVS@412gg3MWk*;&fErDv`gzU-cpOk^M z$iCnLHz9;dcept#&z7+$y?>y+BrOrf*+lW)Os}r?Jc4m9%`wW{Hg>hcpY^3vzthu} z-Z0jdW~nC_JQC^}gi$MBcQQ-<5$ML`=sCFGpdYTa6-&6S8QNF=uz;VzXxoswfc{^k ztROBj$)cj2>7a$)?Zv)^aWDmL3wy!iH!N*R{@iHFT5PdgP4eitgYRZaJn#E@9`UzN zRSi*lCj>3QkE$DAAYY@$eTuxASo(?vx#ps64J0{N^vD?lf@+G=&6x>(HNNl~;1Y9_0>A4~^pJ^H%y^y_Eo zhPBoDMnru}pGy|~ThLRI`F)k>m;Ix7Lfx4+5~lL@f;(%m$<=0#MQM?}4SfOFe)C}_ zn6uQnthc^8`8F@wCfRJx(1==yEL<4i<5o^luN{C1pl!(2x|o>6{NL8WQy7{z_pEaD zP$c_EF*|=@pt|IHFuMo0stIN0g5JwBG`&iCh@`9lS*oIZ2^iPeRo@Xx%1pDLex7D! zHEDHu=r}fY`}fOv56!iVj$LfCB8{>&eb?)IO_Edc7J9?26%%G^-81!A4vKqc3VB2g z7hnq)MPcmj>7B=9SfCAfS3FVVlq)PA(4>Gz2O=*ND_g^V=#@wS<-q)17nkit?D2PN zidyk|_yZJ;H&R~7jafZ)K$79odk2g@O=m_C;e-Arn8?q&7F{&hqxopF(T32-DSr?-Xr{M{U5JpN{Y+1`89Zb1A6qU1C0akA%xqT8MyIXkj87i}0N38aSd zAs3Vb-{z5O=!%s#d2tt#+)dX?oR1>v?`X2d^{q$SB3_3Y&kSWk^r|gaXCS}%ziknZ zB1m0{w`b6+fzd6yMMjH0rH5fUjwOII3Idsk9yT8aF;Obrd1f zO@CL@LWglFW=1#Bv=vbHO%D@In6 z8Na@)7vK5nL+xz^wn6a?SQ^UYU-^>wYk{RpYtYe6v__@aW?=?h-?4P6xmPQ>8bT2` zg|V>=uA57B9ED>GmCjx&Ge@Dd4M)$Qe;kBcQ~9}3NW#+JJyxBuuL+valXEPW-{(Jd zx~LT)KTfGb`!Mc-biP75pA~Oh|2P<$`8WMO^?_s{8DSy2z|_$i&y%>-46Sn99s7YAlUKiTDZWe6x`NSd9K|I($q4manM>7a}ch`c1XNFhb_sarxT zsq`V&A!AWR_IP2sWV6&B-4!Iw@Gl=UYfOJAdnh5Gu_(aHV!ZIReXu5Gw_U4AC5g^c z;B%roepeU{c&rx_%^IT?i7X#Q#5wt0#pzOO#Qln{!Z+LcgQ&=YD+oo7&{^Qd+@6t| zdH;Ukh!$qARnUa(cGdWl_HhS|+Fg%~usl}AM9ysfq_opjKKTf#<=#BTs85O1IEtdC z-4LjC7|a9C%&TA62k)`E!x4&gl50Ii{Y>F2*34n+sJK~QQ}zPpc$;b2%=;PT7@YZx zkfx*GUo-tW&%=aqq(@iSa{|4W&Wqsb2`tftK;GogYMXRoYIh$&?CINHQG61r+(};f zXu~vo7Zp#k-pLAIEXN<04oCzdWm?L`BKEWfuId(8o?$aKDMS_dVh_7Bfnouo`glfL zI7dGH;$n8dM4-{%rIz^7kWAi-8Gg~>W9Da`-~?Y1#&!O<2?6h+z_-F~vn%4S6Unbs zx#pjPf72v%%PAj~59<>TK9(Q7k9!x+Ht(ZkzIx5*6aluuJ7MX`g4V=$OkKYOczJ$Dm>{@LZe=I;mE)*l{UNLZXoa_dizJY z@U#p!iv=u+4RvWrvl8n)t;D=-g+UUQwXj9>IkIHPg`(&lIYNK%x8F^RE|=NZJeO`Y ziYlQ4&izIGwQ-gEn%i2Y{B)bl0vLRCNdH~x^@Nr5*kETuzf0TZs!gZn2yYEP@Np{b zU;QH=zew1Ln~BurK9{J*EUq8aXh@JadcDX<7}ypVf5*ZXCVlR&wtw;*Mpi7##h-#f z{}mCM?k&E#1OCFV4YkRKJYMKv1!wpdM3c28MxSIG+%2$_?z{Fi;dnIF&I0~)A0>FS zI)7E}6N~5LX~QZ1^Cy|=8$kQiyWaS^W3%L%*(#(a`tK|o)5))fpDp{k)3_YN!U@W^ zqi^~80@+xA;23-yD;+K%pevlRy^)96vRuWd8TWN!wAT{Vx4O9JxT-aFSk(lD=g{c5 zu~sJA4y*o8ZkgSxX>S|R-TgEaXjuZ=v*Wh=H)U5FR-S76nH5LTcU`KQ+k#NcD6_wpqRBN69z?(bnCwAB8UfngdKwx+_z6C1q>rsrRq4CO9fqCqG2s zLdnp=_O3l%KxQEQ+WqxE)Lr@6>b%hEOKU4qivQ$Zkx%+{uX0!z!oCgN?8`t=+GtDJ!>`)KE=7l8WBVPblb6b9 zqxCgZ85`xxbi`QAH6Qb*hn&+(EUEQy8ZIyNrK1fyVrfKq!i^n^x zGUIxSOgeFq{8oi$mHzv=3S5g9k{>#gj?mvOKG5cE?Ocyd<(dCx(LE#i)uz(TG4Y^q z3Zlvq&fqe`Vk2^}N$|idBGWh8U$`{EuO=s4s!Gy(I{7D|RZ;W*@@t>h12 z(=XEqRB1*%e)rDJw-@RPKUHOe{>q(S#ioeyswtM{)HDT%OYKfz{p_Ap#sCp%`>06S zgYQRy$}^J#QV>$~nb&4gB3bS2hSZO9c1U$1NAkM~zG-NohO(Ge(qE16YvT49D$`y6 zdeSvx+(&G!JrwiEf$G-`P6zg#E|I{$NzxzTykdav0cn|9Yl?*t7P>cwE3GSloL14X zd2jHcOV1YrC*lXCie|#sn$GCV|(`HaG+>1iw7rizQojB=z(gAzu$~pzRz;se3Y&j zjPq0vtw96__NGvr1qBz~8nPUgS37an?%=`a^`VhD zQ)))9%l>Fy8S_tSuuFFRm4%cG0Cpg9KF1}kgKOK9VauQRDEq#-ry8Re*%K{HG-!dT$HG!rj`(> zr3c@~)ENST(4W=5VYXz)q}AK`4i4>xcm}@rqq@BsDS|F4dTAu8%-3cUR^OPV9rU%~zYOBJb7Jml@f*D)!4MMRBJ?vHA~S zn@P$`~ z@C~7B^*i^LzWkZeR*xb2lP7yd1LBD6e)*bGUgpp=kQoP_d5ylT5;*t3yzutJ-d(@c z1yW|&v+4Uyc;GkV2&TVm1RlqvKeBS0PTyEhE`{K#5JLFv3S^nc&Gy%l`?mn}#UHLu zl~;e(KW$YT$lL9j)jWL#?i*KVRWXh3vgb%@nt<9gN-#qMD2s#sCg~Gqb+faHm;B@} z;nj&yKh}70Uc#f!OCt%YmM`Yxn)5^Bj^mPHo6`QnPDm3s63b(mq zeq|zA1Sh;x$pmg^x;=fG=ya?+jP4-}`b1b@9j*#GO|bq$3Z{4~QXa*ztfP3=fgDmw ze{GCRvtfWrjsYB3gog%){=3q|AQA!>z&zsOqIN=zphHAA+)B4608(h7mowW}nmwZ( zdVQozZ%Npvwu$aEUDV6H3@8kf5XI(7X%8{es4iBZ88kNS(%P<<%$Jtr#}fOS|DU$4nLMKugiq2K0id)ExCg;cGKVPNPRhEv0mNXPeWrjfaP7d>s@s zZ9bbCo&aTk7UpH|YG~D~oJkKgpifV2jP&T~jtgq2REwmv*kqwEzOm*v<3hGc)jWXd zW8X4W560dcx*;koPb~`dP!_EyG)gC|e(oi>i+-UlNIK;%59iE@kch8o_Snchq0*)?hj!zV-~(AZPkW#XscU+W-d)L)Ig;+-3siFy4i?t~G zX(PFzQ%3kucbmow{h^h4o)H`4IG80H7LWe9rasts=e*)*$A@XdG0`oLCtVg%OFj}f5J7>r9nsu9w*SW&m5QEwa6lm2?-RUzq@jG zd3Y!vM-}HT3d#MG8+zU*Uic<-n3<{XSV*+Bt@3aNT9|Thnl_`z9OF6f7rpWN$j*3$ znfftBUweyD;1V08NG=0wyG}~sa6v?9J%Yyq z`3Kplx6%u<00--1^+9Jt`_7UNYyy4G8ugPxl8Yzm^ZWMvlPR0489p!?1Tp~X*l2uQ zz6VnXV19_quMzJ5>*uf#X^y0hgnvmLGl zJh}7aee_imBPAxX1ere_xcqH(_{{*(2(|n6LO985L0=RGAKQ3*i={2d42Y;&_>=g- zo>oH9Jph9NB?IM6(zno~g)d_*QjQf~k!pzFwuA7bmYfnM@k6h(kWwCn=BvFCUjlG* zx$hhVZ?0W`K1Lm9k0)Y$4jnN3yD_cTD=tFz+~OdUTBRB?Iet*g1@on>(g#3w(|R@S zL8lTj=$VH3Sq&#KcjVDcJHw#xW6*_+mwLSt@A9CP%Z(G3>{X=1mv^^r4 zO*;SaTA`kyXDzymZ#5VIHz0CJJZ|>^?kkXh=04qQX-$;mZGmskp4yrH%8%1Za!gMh zAm~~e&bdnUD#FCWjJ4pkZ_Ik1J+(qzBJ3}ugTe8epVc>{b+#JJ54crQ=!9?e8((Q> zQM%)wCB}$G@XCqexS%00cdVr3Etrt-s+4z5_VDr-22-lbl^vS}yt(6tJF*SYpDkxn zvz_wjVEXT-PN*&2jA49O_pEil4W2=WjVoMu^Fkr~(n8JGf1kp1Sz&yTwB$V9$b~h9 zF)z7e7)1H1lF*(1s6)?Kc%kC#9kFcB?>@e{xtZqWZbRQXRS#qf+frra5Yv2I^KNUK zm_kx8uw1^U1b@Fi`Oe&~7`GV{MLPiOt~9&P*yBnzAXP#fSST6Zi}Zb=&M@bTq^p(q zSwHayI!k}4*4}Ft@;GD{$93g(ys^+{l(1MHncWlY9a)^XfJ-X3lV zhYx91rpYg{jo45#c)oA6P1`|6GL?~p_WD9C*seHs;6kqv%YIjG^gnk6wbVo_))$8B znoSf5A)hmzkTDu@64YM57WPv((m}qrGKz2xT`$-Yc3j} zc8@={S~)e)*a28$74CiJs_~*k1b(_R7+hj7nPI5c&{>78YwY&P{gxOI6;rs{u?1yXeJwmL z`cYNbHK&$?47+QUuX1!^2|n%(Z_XRK#C8*pZh<*T5X+b{>oGo=|JL}?gdUXz=suk| z!W{bE?Ug>e#%divGcy-w@$*2Gqn9EiA{YH6ANFSC$NWicd|-K%x_F866b#^bJdVp#)+$O#&W;&bFsm;b^P@+F5xS z5%0$4b_GFQh&%aJVLx0@6)H4MrUZcKb8+|#fNT*u51!u73yWUs_lPS3-imRDJ*TzO+~-DM8P1g;%EG_wIYBCdfE(jA8>1}Lea_&u*V?4Yv9c<=3? zH1BPfM$0PY#0A{JHK$T3I5ZHIKc5v)&GqOI6X+7ZtpPs6c z-mV&d>5I}yBkIK+UyM#gD~hG_8pE#*6Xa*33z)L~UuEHUr>YXGd9V(pQ||+RuAsNp zkdTYR8R4I%zgNEj2Ti(8?t%`S3!{A9#{8G#rqZF@ftjk=+^##h@-I#qiBV4&MuHQ) zdQwS{<}Wq45FZh>NpI(ex9UeKFeh1-2dclixVTU)SX|v9Ik{;EuL%j6*q9C}uC` z!JN(v=r({J^MG8j`#?>XKV)8;Ygz~lze;J9mRu{~{3PtC$?qxlaL_Q$iD$-Gu0H4B z6odtDQgc0Q;289*ODD;ay@SFSA~%Y*w*+EzsTB(F?_Qp{0ec?r7Dp+DnoYh!lhlmx zzi&F)0dhV1+JRW7@|4t>uyb?3EBbJUu`sOIx@@WE_a1n3rrd?N!?v3rlnZ*iFG?XyhRwIq}wjP~4$e~`HIgvLm9<>TA3K%b(4@ml@IPbN-pkagt z4js`~Yk>Yk-tg1-=5gOF`4Gfj73Gcg>hn*#Ay{WoQp~G5J}WjG{kmU&S4lR>9upVX zotCmbo*kVNARo7Qo`8MP!^cH9q6xo>Ha-w*;E3LTfPuk$)+b96mF_LTboxU=Dj8iDW-CDhOSC(D_yu^+ly!cF<+` zn3_UTfck7>4&!C}$%u#OmtqR>`d;RN>g zuk4BPj%3|LJ>_+;dNZL#NIhnL9i31O6%AN#?4pAc`QRNf zE>QtDd|Cpju36u?8uBc}m`U{DcvuPboxY0X(0f4__C{>|Y2o=SIf2EzZBV{F~==ecHYhX^lb zUtG-k28YHsOX8_PpA*g{Q@bpl`Rb=nZD+GpmT}s)Clhk@jpk=@3jw1jl9V?!(5k|R zVC&G{R~)@}I5vR+g0EfnO%4icwVkW5UPxq9(5FXqn4j}w{rR}cu(van$sKA8y8*&? zkPXn%mMjZ4HkKzAqIOu>AmKuAfPNe%?f#}+r!@}~MIX$YwcWB?B_`LpCqO-siPqmA zrI^j0mK-BwJHNXue4Cp~<&Zq@br44whD@;4L^#Z6y%*>Uz{NJ7c0u};qWy8G$D&R9 zgP6?=pXAj?EUs0bO3>;4JT1g^FWfYn3?Xt@nE)PKg$SKYmOjC8TpnBG72ygJ0NdeL zAHMk|btDP0+17kM|rZ>&R58FHFCY zATk^I0UU*TvC+A}I0nJ)%@gi zgz&H&@|kx;jy}$D^#`g+Ky$omIxCzIr&M5=dZ^`|{+qdFEA!~E(PsyadHwn4Mblj_ z@PUed?han=pM%*o*#lR0sn_7AXL{V48zIklmYtU$^9=M3%;>j zJzm=im-t3{zb)s#_|NO{7C7N6Uj5*)Uar`87mzc)iUy&BbeGV%j+7=}8?5`z4N-LB zhhw*s&Hs7=n8&q{meQW{!FSt(2PQ+*hx~pU8kTzH9dE+?RO_$(HhU$O)$48&@6p;a*-q77>?#i|;&=5Ro&o~7FNoDO zb^gb&M8a-@70ydU`3hSDoWT9tm$D8B-$`>!$aaKj@C60&0+FN0*Ea zEt8Xs9a5h8cn_UHllQLa*JAwvAgY6f-=vZ`Yw6$DbFZCjogN#(UHKjgvG znk?n!;sIoBP^+@&aoyj@s;AkX-j$@PR2s!Z(~&$R=dY4hd@b`QK+5N%7QP-Z{`=KQ zS-aI90KTgi1=J?#jDw7UQm&wxt{k6?LbL1+h!*JZPVOGe4EnKI{*jBQpLhxo6Y2-` zVaUI`$AD32_+NY$P$OYxk~y7s06OBU2F)?ScO;;yQScs;V>Ik;1wP=<+zp^W?Ubw} zZ-8gl?*qK}iU|8R2!=%p==~bi&!I7Ps1*#JIM+;BnQR;Wm$5PvB5;FWSmCE=9M~WP zc7byWz!IR!=JwdOSXu-J2F=ju<%#sD|!Hm@Zr^?uJVgaXw+amMratpM zQ#-y7V^Q)(r6VmnA+~T}wOssjfBSC28OOm-&Wk799IUW5WS>U5CAH7JZMqATdp?5p zAvqkduIRB$a}s+!T{L*);o?@pyQHM?4it#$b**1tLV2@Z{O^bO@1|_0w3kKglPiy6 z!j1<2THB0k!o18PPrzyb5X?ox&i{?K-DaL}jrky=w7Debbc2?;q-FV|CG(U&;q&RD zDLX40qSa-3Clz6QQ8FEn9|}9GHEd=dVsJt*6Wp9ZpRJePD>FRvthl$9eiyKDaN>7N zH^8(xSqi;lOchr zx}CYFd;~O6f_^{Y83O#kl!@zr9iC@dc>AQ_T=e2amF&E)uyVrGB2 z)dxPk379t{TN5`Y<^N}wo{rkz-0P(e6c0k&eNmBeS2wZoY+{&fpJ%oG;jMg(4c=cL>fG1J(t6+oE@ zXz~Y(_i1_gr7Ifiznm6Q9U>nZxx}Vox~!91>K6$ZGA^?M^|2}5ZRqbPv33BorPAnydqMF_Tk^D@ysBT^c2kJ0KhuZR@8Qk?J z>6LW_+!d`5*Kb0ll}Ok@e-V!S29CbAF=Np@8PZnIt^Z5wz4pIoz3TwrGxQ@_^66FU zrgCk+(PugIm;DdIE^n)L6XR49(08rm>-(*tl$9#ULMIIjNL=D=XqLtWT}dLn$m-p z0n&AN0x|E))95g`8SQ_uYE1$v%U05Ti4TV{zZH%zT$G37B1`hDL1kBeRg0QGku%i> z6{osH`>oD!$_HCT_)~pc-0ra}+`o6WRuj{W*#)te?j14=%+{4Q-)fM@2bfbCBNeb8$dsBs1L$o06w^SAL=i9rQe7rsc$Vr4jq$N zI+gftPW?sIPplsD6F9AgGCjZV8wV@FXjgZ&$x|DpE(ABJzg2UCI57_iR zV{7>?DH6H94O&!y0$TgSL*8}_13rB(+VhEh$J{&Ft^_U&I5QF!t%Kz^ln|}+tcTO3~b&mz|KE<>fi5~Qg zRs?J`*Mru><0`)gE3rgU&z?IadAQSLb*AK3?TS8YJnii~X5ytYe;bYPjV?=6E5`eB zhoFxiQcRZe$h9_-*Uy94z&-WRf@^%Z?FP6tM#36|<5rt9!RL(dFCFn52x=c(o(c}l z3RBP3| zI5U-_k$}I(Tw3$nz&lGk<8&&(>rO%cp+L1`TxIP4Ad6kimP8MwBG1fEl#TdS{&R6P^`&|<@R`w)#h7BA&m9H|3Ykr6M%+EDSGS*D%5+Z^81k(Mc=WJ z4rS`);DPZqaP569&}0u2cecZ=kR#AqV(WjkwU_2Y${IV~vOczM#1vo~sI*Wyys{;|AU^4kvH%DJ|q z-Jdbr+e(iU@zF+d@Fo#sAZrF{9LK?4`$yl;o24gMKHdaWjoQPXtnl`@mv;Cha5Y_R zmpQp-u4ogKw0=}35ER%9;1CG9FUTr`Z#sWSv)3w_VsV@p>R@8_Bn7iMNmeBIT<^Nt z+s=~)dKRIofG*|Z;HHrPE{+M$4uP~((a@Gy4?qtq=U3l2U84T$Z4zbTH5jo+T?Xy( zD$F^ns)+aN!&{rHSip4j$*kh%;S+iQ3h_7K4*IG0PSKbAdqS^)C>iYZq%aiJFr(}4 zDr81Y8k0dD8**Wbm8A3c@e}(4d-87v{kT+AyXoaUmu}a}5fSjVyjKHB22Lz;ZKk{F zg#YMKHv)({YWny1|MNh&xbC0b->OjX*oHjz2>||aCs+I?YbCxn0y?b2>bgJfgTL8x z`+{j5rDi|+S$pKq4DBPYDWTJu((lYCmy+~P&87w01F)Rh_Qu53^i0cRDiAdJTxFq^ zd|e^DYY=4EA~{*wUpdquX)gf%XU|vm8vB!LA%lR2cKCL(-gtVyE5NWxeQt ztkNW@>>U*nA&xzh&9SoLAVR}vA!LM%WAA;0O2{4u$1#$<_c+Gy@v673>;1lcKA-RB z{rTR0zu)Kl(RJf;4zKlmJ|6eSeV{gxg5}Z=|8rpup(-J3z&-DImK(MO!`DK6#0{(f5&yltdX85ogVh5{JU*C@>RYaV7!>$~7@6Lz z$O)g$&?#{YthEN;(FYch4=$y|>hfPZpQ{?(>$0SjG1wL-eaNYo{f$~?+Oa6y<8*Md^wwbegL%*<7&E0k6vs17L*1!MD^q(qo zZs4k1g7JV|hZ4e{hT6ZqLaR3&q|Hjw@=I%;5!tzqUV%P^rZ?&YyUUxC(;>=C7CMV)#{~pJaF$=HEx) z>BSDfo-p|~;_~*7m*VMPj+y`X^4ZbfMx5}SYcF?PIDh`{^LPK}UZMYTGX9-kdKI?Y zJVED4m2_=E=QpKSjcWG>fsb=OWZx9`E6uB>YabV>wSu*?BipF1Ke1=HKEebnGxxhA zPD03wwd`&YO=JhFh`nwF8-ks|9&*z8jmYmqy(W=I^hPW_1%5K>e!htc3)ZBq(mw~X zKfgit?_KVH=Lr8_I<0T~?|zWAqG1;P2iE+#kqLdgJ!rqX?6+Y(Tz&wTwo$&h*<}hc z&nXKS5mm(XoRts1k2uV^*IM);_Ek>e*SoLIHao4-ad%U_GAv85y# zelSuI`ueN@)0FyMtm44V55s@QByT#4C7=2YZx;ytc_Jc(wXeW-II1zTzT89aJV({G za<<&;zPXLQz6mdBGQ~`#zd7Z?MUy`qrI5UL0Q5Ym^r`9#7FG-4Mn0Dg%;@FcgLm~T z;<5cl$c|e6gMbQfs@JoGX6l#n3+KAaX=k$i=UrRng#P-Q;*UtII_8>9Zy)hxyI@!y zmvB+5HTsJv3mXb3Zs+_i-fEeIa)%KH6L=MU_w zEb#UhHP?7*(Od8be|^@yw3#a$8Vy(3neKnqTFLQ$W#paw`^Uj{|7Vin=H)s*4{kxc zzDFt#hf)V0J;xEb{YOP88ErgMzQP6^l>Dl9m+i*R!gS3*;xI12DqO6R57)$o&vY58 z)TfH+hj5#+RB%j1%xozQGuZ}KcOGcZO0R!jbfCP|kQ(w%UDeo=>P+zaP9uyGKIM!W za2Q1q)2iMnOl^?s-C(-oJm0Ke%ZZJ)EzTn?dMCA7=!Pdg9>H|4h7t>9TsZaWKr`EI z+9*vUy|ohf7;j}E3^fvxN|ytuYC{N|Is1`@JO~fdl#-IVeDe-Or{yL_J*G=gQ0p|zBAvtE!VCfSDLc`&;ZT4kdR_R&`_n7E8{`*ea2w_TudT?a434eh z=+pXh%vR4sfTFHfw8o{G`&HLvh_2w9I?p!f!tT#-P5D8C+?f^xqt=z8k;U=^{KGYe z4d6*ng=nGoC-`Roh=`8d5He>*Tvv%uK6bUYfX7_{qLD$?2`fUr!(e5D$bwu!wAgC@ zo`QP!&FS)O_ldspa^c~1jk?)|vdQeao<;YvM7gkgCeawj%hjBJh|&z~pt~K>;yv~qcf=j;zJWuF|t((GH|<|H7+Cpb8zz?yd9?NuT2)I%b(p47(MtAmG5 zh`X0kYw>Qu9g&AH!{q_q;aTYcYgj8lT=~pePP>BPE^+(SsM~z(tTO<(j^D0ScOu;( zGRB~`L2%s4AAsX-zWlIezD38bk_nbI-OyQBL1_h+N{K~F&GS{}9jRt&Iu60$&;JD( zcKrvrcB;^_I%(&Y=S9LMYsb&*4@UW%%KTSH18NLJ@G2-Tt7e=#J-M|?s-MWekE@hM{UJ@^kCjwC%#c8aB#m9lWxRS{1~5Z*2UJ%HoY_v> zY9@OB`Y~km28coj7#GmvC-c~!i28iS9`1!_G8uCSDIB9J@vT-Ac2Ltc14 z0;51z>!nL%oQ1i|k0fk|`(3)+-4>{Ce#yymUopIHt2X$@Mc7)psA}jYn&(w2F5z}- zPkgX(14e84#++@dA`Fh`lselwZS9;1vZH*zQnI>0p&h;KKKoi@Z4Z_ZC4G!IE6#MZ8+*YL z_$IgB4aR6_TggCyv z=8Z0mHxzT%LM+4S-K5vycA0_&_n>=itgLhW%FjG2Ig|=01|uumwjGe%EQxf*BB(zr z-uBE3iDm0o>{h#yW`rHrtPkZ-R8?m|GjGD^#AzbUeD+^svogiEH@KbOz;PZflABuy z?D6=0h(5b^^5_=u&w{(;Uxs!Ty$eo$#r=XaVr^l+f~ffj*J|a#DX~pfbK3EzNs5CX zC)Z2`ENTgBRK2Z5=%;s;hpAlI_ROds&BPYjkjIZ_2zJMarP6Il#kr@^ZDH+1x-EE1 zp^Z$xC%`rKHmEP;MuARlkBvurGsTh>(=h-P*?Q+RitIi_l(Q#elt;1m)uM;6zv09! zcyfDq49p!x7*JKxs-L7~mjpg(p4~ZsYX&zDM;U{OerxwkXlJ>{Hq*xA8%f{QA6c9_ zT8lt_r~@hG!=~QrhY#_eU{1i3JW+I?nstFNhbI8Kd%W~i@q>D4+0aW&BF_}+P#)v3 zM+Owj9ULbJ9l^$T;MznCo0l)7W`J2cB+&5+r!T>3P{yf;>j`KL*atr4-YKc7IYTf& zb)Z`}*A>+qa&?bi_^Tj2YW(XK5}eH5c2`Zke`{qmT6`v>T zy2~lUcq!*yYJ1NEqgete2jM_Eg`4< zUBP_3?t+gs^1ql~o#fEdiOE5CcB#FQ3Pzvsc;8C0USXcAiIuprfn=u|!2-kl*QTZ1> z_4~&0^zvmDL9%ZWvt3p4BfVzlqw_2l=;UVhwW%z_xK>-g8}=xD%Me)khQ~8p=6}?r z&x{~Zu0l@J?}&^AqqgPln*f@j;eJ*LPIXU1J?aILp!Op>B!%f_5x@Pg99}ICo9P6B zOZt}c3r~kZ&Ev?w+w??Unn5>x_qmrUW9hS{P&^bZ;{lnlWRvpW=iVI)4M)1dTqZJk zLN@Q^50Vq=kT*RliRQI(hZI-}!yHD3HYG=py_Fb$VdE%s(56%Tm3xCd)@boN_U1Qq zqu6x#v0;kRc8@EQljZE|F0SZCAcY*`joXCO0l0C8QWc`brbiHlqBHShcSZ%n{;3pD`b2kL zip8|BoI%$5!ZhgfEgX^78SR$6@HE~^$-Z~oumtWlWJm6%?4}=I(WI*}h?5Gi8%UMZ zC@*IQGB&-s1u+)oVZr2J?-{L%agKKA&_EY;``VmwibwV+*rsQ&v3c?j(}w2&lIVi< z*%+#>0>tS(&FQU|txp@^rFrZqY$x0pFGlR<*~+U=Mydbv9#O5TwCUfPHr7<3nqSL2 zZNjUyHIU|1Sp79(HxU`=85g4@QpvRCy~H6tv}^N@--Xr5<~YClFz#xUZ?s+Qg$@wV zsfDGk-AH*xqbx%JE*<^5P#6;55t+MT(UtvyS{Sl+j9@mVc-iQf4^|KIk}WE=Cx%Ij zci{du)!HKUZ5N-#tq`om5mJga_Z(6#LA>}$$Vl-SQPZ~d5d|OqOJ6&-gkaOwp`Gt$ z!H|{@CiHxNtsrJA;gY7A*OP1h2QnsgBq%Ge~`Z7A@S9s(pqau>41k zLyC7+&279}zR#8s2Sv~~nlfxjd)ego$>GL0B|QSmV)2<0jRz1}w^Gz4`-Wr0J#ev= zlBG*HlIywf%*}1rnk~(&tJ6FKWMU!;J_~~i!XOR49Xk<{1oKBak;-L9D6G4{E_wo6 zz!t&VcdTurIQ+hv(W>CcJ6eBos=&V@K1$x73IV!=Rj~WmPAU8XI%wr1Q563{F3V`= zVxu^pN#{P-qOPZl2LqXUK^AHK6Er^dGqCmNBCJJEH?S5jJMBMSy;ppwahOhzuK1bF z4?t?X3|&*^m!jeaJEm|}##?Or6c{C(E3!nr zW|1gy--9Poff0brZ6V!49Y-3a$UpWsEZ}DAD4C+C3WP;~YH@%$h*9v>;hoPU(?0>f z;8xrz5nGkVd(L0{J1zy^*x5S3q{jJoQwrboJoWG3AFuwAx0i@)$!x5}gU>>#m`_HT zo!|%HBSv2f5+P>K7XYt910HbiXb|^VN40~S%iqu+*&!hwgiQW72uvMtvjnr>F-rei z(4GG|_VLg0Gc_Ern*cSA%+dm87u3vWtpA&khS|YN?h!f>0E-C7t>GnI!}d4akRXbD z;qwn>K3vL}806ey{(i0hH-cvWSP6?qfBqQs@{WsAy`J2u{sd|PH<&nk_*A5UiNGm?sSKS=qE>*C7QXXi136S0S&c8orKk?tj zL=`U^`Es)kYSq-WynL7XY)N`wt|@_&K$2W`DMtMyN&fRg?ejHZjdrTS%Gc-)HvUb9w~t&2zU=X{upeCs*r zDU`{^l*=AEq-f@0>9}-7{`9UygH=Ko?pC-$Ov)){AlT5~>@i zyHrc3uG{)WVwsMVQUyho6bMN#x{?84`D8|c3DOwPCbIn`K%Rl2 z6?Clmrp>2T+(aHCSdIy7PLZxeNR+Ya|M)26<;x>-FO>oJm`YBJva4%bd`SFJ^ExMV zCV)w}BdrSBAZw>ymqabSw1NakQuBpaBcqBpb7sBPxU~cfOh>xvHUNSnmX<;EBmw5O z7BKC~pDJBwsOaPb0i+3xwDJ)W*ybdD2D-;wpu4p}egg;pjG+B+=Ry9S{siC@YFWap zvTH)reZyIJJSncn-XM9BcFJ(dLLBp>6b5fhPWcH{P(m`Cvz}o=l zkN{=r_l{ew7E#xI4?KPNF3zf)c|yRoJFvo=vczyIv3acx-~#<;rE7z41MPofC_h*v zoQtQlyROn$njhy43=&rVjPatMDm<#o@d+0{mkxXcS-QqdhG1C=@e1L7&pngx{g|_% z5$*yej!sMh?js~@8z6~-CnF>)5nN3^!*lvGyEN`jld81*T z*bUKKXat~7=$3rsw!O89q&^~%uKb%|=d1I2@;BIJ_Z(6DBM^{RB`|f{k6qFp^^);< z0)4jCWt1hA4I=Lsh8obS!iyYD$o=+=jssz+>BL;5QiVjMpEOG%j!Id-J4Rv;Gz5{< zn^kv&r+6%S3bW*aLjW_#+x$}?ExL!yn+Z8?Yjy>VYN_f5Kb4jORl6*)q#sCjeYFV? zZ-K!$uDuWid1g>IboNK#g-i*F@)5&PK{u;&q4wz-dA55En9#*bGWR{IW2f5W_X_cE zZIP@C(A}XzlzHX3{x?iTbM=l!ak#0njCNa7;qqAW-d*Nh>O&@y+79*~0nQx#l7}XC z!>ONF-Jv`mz2nHDGG8~4)gxxQX=FugcV|-ivy6>+G z8&3)Cx78NfcauBjDUvo4`tY^OCW|_sQ zvl--isU^r_%eIkZcDs+S5$)mXqqE$S&6t6IknLD?wq$mVB_}$CfAs`EF4G*?tkhW4 z)JF97Mzv2lHc1rdNjguG$Tkup(003W&bukcBwkY)u(^nRCyInk46T6Z=pF#WSRIFU z6pU+bs||sot_!f|Tt@O1Bn2lDj1$lg$)APe`;pQfPcQdeoQ_N1E)~D z`!-kEQU7{P@w63yh)f_F%a){H`FKD2UC0t5PqFPDLHzSJ*C#U2m?{ZZcG8X3K3HX@ z1{-%w*cbNdQ74_?k zl!PSXM>o1kU2-foKSqmFHKCf*PMm&F<%!MUwJwvIIqB0BJG=3dN}0Fp=OLc_nT%7q zIvx0w=AFG?Py6DTq4P0dRE0c6 z)?A^&x^%q1H0hMag7Q+fBt8=uyG6s;Dixy?tT``Nx^Z%qibIO|BoZrw681|rv+()! zt2Imx-+(+(dmeV4zR`1K&s$1(7!VYN(kDZ&a5sFl4s`%+7xBF7X_emBu`GXs?{(!#e!Zl@eC)h$p_I*<${hqztA;+{|@<$uI2e zE?kL8_oIwFH`j2Bt9)c<5KSh-;x)??XSVohQU~Yk$h$he6rsK3bQK%IWnitRSnFf?#B2QPN8w{AVBuKxQM%+x zK>F}}J0aKXb;=9*V0P2Iz;Q#ta2EH~3i4OD7L8pcyJf5*upe)3Pkh-WN}t}llpEM= z>Xv$~{kBoGOsdgvsMj#;74=JbL=ZnXxtp>i?-qUeY)U=XgHC@!U5dJrcBoO1n0eSr z&rIvb1`o4j0b{oI_ecH~NyEh9fYi^wXsFIiBWwL}~vQpH~ zaFBnzZr8EF)2F`p&TH7_ro-DW6E3{3r;;$9YBGSG zMS!i>oCUM^k_ofeoL=L+q?|Usc!NEEQ0Yl3CY+u8lh8<8r9>{~!^!Nhts7>&LJdM0 z_nPNg9x$jJVYXVETkrV2?UMuN5q!wj`Q8t=DZtV{^^~fBC zbE$wxrhm@`+zXNOvb;>PSQ63IBTe_HWqlsMj6MrlsN8ThQWrUl~RpRWG!8AK?MLtB%Kjc`*rCaQhNu zqE(h}U3IgGNJ8?Y@#pv9`CPYrA6vmLZ?|_+9>*!OB4N_kPTTXZI zZO!LEs%sjRuoIOk81fgovM%lkzuTbslqPmKCjW_>86IDKLB6x)A zHXYi$7wFtnUyR2(v*M_)SE(qaxxaBDSn;d5Frq_rg6JAJ;)CMFlH1SaCYo`TOkTyS z<*c6znk*2O!)S9{RI_0&3Jf2C5ynXVNjqkUD}PG;RRQSd^ov+QYuPe@Rck+~H8lbITJP1X*~Q#1!njR}#hSpm z&Kj1lx~$0Xt;e)?Z1_>17T~m(3_5&0>DP(y4gKq5Be;AIu|#1ErL)^~K0=LayflG# zLajEBil`$#DO18wa4pNL16XQ^JNEnhY408Ayp-Th3QZ%vK(%AHaKb!E{mg7v%)hTA z^2_%VP4BN;{rLLwl0J&I2_8`c$LRX;L`@WqYB$2d#V^{!_T6LOoHS!j{uPF!G@FvSS>-GA2be#XzQQ4y@0_XN;o@L1arm z@#nLJs5BCkuEk^o<+rOa94x$CYSx-?=`cLfm|4pQ56dJA!NsxY>?b-;jwf!QX|Ur- zo4RmArBDn+b@UBU0Hda#QV$*tZv?jvuL}i=&S__f?QZ!UdUV}jW|eJ`Ui8H$bWR)o z*h`mH_N65B1CKIaUcRIc{HK*jZ#rOhmWs9Eok+vv{iI;TATV{KnKFgr1O`(4QA6L__sr zkl1v1I4E)V77PN4%^j9T(gy`?`maTZVIE#Knx}w0u3-$Y+U{l8Hz!w~W5<9SKAzC* z_+X}&NKA?`UQqxD82=cT-~w`WqF9frib3?gG?Puz7{W&{ai={msnQ?(+KZ?RQCCv+FJJCk#q`(V3ELt@$8ykq4`wazn#y)>G>vs2ylhl%- zSM1boa>`sU8i=@<29wS-yV5w$#JLF;(Jp6~f ze%Du%WJ$p2O9Gr0$ZAy7|6lO$&{GvAltG6ZFD>X%{onBKkm~_}@$c8a2lf7M;Me_i zo!}sD%I?ryp}nUJdZh+IsKBuz>+AqRIK7B$FQUJZE|L%Dse#Vz_{JMTsmnqtWbsxg z?3{vlHOS{~Wq54Tz~Kyb?fH4Y2HG3+O8Pg7bUrEH75Rb+ma>1m>6*lEcj}#w`Pa1Z ze+NPT|K+s)Gi-l47AV4;aqCwq6rOf%)ZqbmOZleCiA0HKVqky2>imWPJ~64lAgNF& zLUK0|{?7)Su%EAM50T-;v)Kpgn{sZ-TXu0sGf76=l=a-)k)gd zcnp*`IX5?@2l!twmIl^JRyqt$UK9WUu8iIs_L-v52JonE)C zB(Uu!e=b@7L$;ltVW8j_X64|FOb#s10^|e22gI8}udJtIFeb%-*#O_e#ZmnORKh4!`PTXbA3#=;YGf1%Ry>UyMqyGmkuP5wIl*|gScFB=$1MIC`&|mZIE%D+4A8wC1C3RcpZNF z-(l*}!QO67Xv;vS8!SyxY9&(85qZ}2#HAz9n>r4Y4YVsy1f#zW)LEDpx*Vf0-+Bn- zIz(-40o&;1j>#Brnrtv#K_1abC@!3;z*o)yQTVo+twUBjULGlcx&g7W1flixn)4#! z7}^Mo65*9%kT!Qi{5&Tc8{6AciLkVHBR-8G$zw~!HLuT^aP^%Kc1+dsgSNhR8es1N zoTjzBI9T$O0A0@O!eDDDaFFClVDgzAx`tGsF0N&+EBR1ucJ#WFtO#&Ty|c6yA+s1p z+LllN$CE%;4F#$xB+4g&*hLN9Yd`!g3-P;?w+D~8PAL4d@va-IbB=A`@H|p^x9ePY zbvNF9{i{nkkOlcb3(ldI{x0Q!2Y{i(+;C~#jp7?o9AFT-KjCYv{q>1ItlYDr5Q+FC zh(a2o3OW#bp=>~##oyk0u0E2zI+%>Nh(J=W3ofRWjOb+yKy+_D;sTNOIsq@@ci{LR zO9IjachL^pwW zHd*3}S*YmjTRAQQNsE381jUXLdb&ryg00gp0-~^5|PQ;~!yD7?Ir0M66ShogGGS zS%{2N-WAdrJE0*UE(0diGqnH-y`9j!j#tjvkVTA(39kKkO`Ho8u#HXAEfd0*o|6y% z0k;@m;Yc1$_cD~JMI(mISAI?diehc@@7KISi~iBomt`vKK>Mg60EFp;w20*o4H8pa zoNPxl4^7egj8H|lQx-2rcv(+LbDoov-&`4Ou3}OHq8D84Vq1hM2jB_0vXL3c0THna znzSj_`fzK$j!X5uBsqV;@(gIj^i85%5;oy}?V33kfZy6rIh+-5_qPjs9RRh6@(6?N z1E%-37sXFcXO1noJ?gb$u395|tPXqC-K04>zqQ^z#}BE-ZmVq%Mm=8~4EN|+ zaPMv@sLvtv=^BKVH@I)bNe3aa!=lT|5*`;HZXpIy z2D6}19~gdb)q0gqfPGSB6jMP?U$_|)qfOTa8~^^{7dKl?SrEGNa?5Qla>E=@^J2in zLj!8<9K)+jF17-~xmd_NeKAWbfTCwIuSYk4S12xmJUA)!-5G-OE zec^N;!g!p8{`Ppml#r^6(r8MI+R3yI60|K3GTOJ0fM~DeSBV(y6jjcGAaG=u=pZ3B zwC%mcE|LVgpoSuj^uo#x(DYYM0r#)Sq0J>tbvKU(=ebm%z+ZC4ucaG}^9p%@reac4 ze0C(L(hT)rf?_}Ma?JR{daaCRR~i1}PbwDxo^B!U?`GNBj6b#~myxLiHiZ&1!&}R5 zcS=>ywCBIbNmn=l3Z&;xf6KO4d~ELXbk@prfrn4?6iYYq{%YJWTFz9gac$v1G_?@3`6&!u$0-kj$Kh~pFa7OA z{vR<_H`Kq4sqX#{FxB?7e*;q`5C6|FRc!J91*VGX_-|sWH7bFEJ0(JAF^pRM6Pjsr zoYuZ~wfCpst?kIv4^`SPg#*lmYF&nRj&cUR47QywwZnDGzU3a2}+F5H$_fIW10Jpmw|l8>I3m zO6IfU#qM&dOoxkcZ*NbD~+Kggne=CI3wpRN6{`Ei_D*Gq9r z%A&(N$EiQ@KZaC4nw{Ne74m%IjHiaW@*Fw+xyreqQzTq4XTc9yN|1>g-PQPW2`j9d+ed80= zo%Y7;@I+O8QK#u1eM>afSd}g#JU38ku>H+akoeZ0{#TshK34ir6E_g!^L1*qR-!fd zs9e6e4yenk0dK+$s4VKsq$CRSyB7ElJT@!iwE{XBxbc|wC5PE6R2u;DkUp*{;TjLC z&zT3;eX#Kkfruf~pRdJmyAiD{sIcSA9<<(o;p4q1`X#eiE=8uXw(`5Aoqdm5N^uXN zeV++ABg4estj^-gJaTmHRwXSR-IRAM?Ug$BFTjrFhKN)QzLVToYZpzncPZbgfFPJj*f+li`{C2=5-1-)Cc@W zlWtAlI6vEgTWZrr;LEUyQpK1Q7jSRkt;V(E#9(uS$~Q%LPne*6!o;Bxx3&2W0QeXQ z$zuw@>vvMVDFWs~S;D#qy`Jbi7yzy##cTIgX9v3Y9Z%mTl5fEBi%25WUNQwVc#~5f zD{R8Sj2Yeccxjp_JZw>xhWTAqT$|rlnWZDQxy+?iaxw*r+Qc}SDprU}-D~@_1inLq zy9si!MO`q52^77y z;uc%u3Yzt1T)L$KZ?8UQZ>kPBF~V+6hvsl@D;AmiM4R4dLLUDTRbeisnNhO2Oqc?q zh5Z8l>e54>H7LSOFB?68uFRoc#e!+3aF9lAN)$@$f^-;3I}GNfjnfOuWhj+@r_y$a z^W43Zb}|_A>Hw1#u|K9M50nl-*9a=Y{Q2C=c*>slJryiuyc-oC`1NDo}@w@16r3ow89X5zpa|a1AUZwRaVI zeFc{zR_WI6D9IZ>6VTDv4oqH1eD|H*3-vU8&Hv9Ur=U>t!JD_})SFmrqTY*winC-m z+(O&=cq1~VMo6O62JJ^n*QFqh%4`K}mN?C$TQsBC-=gT!jmz?^^Fv^A5_`0meWOEu zKUOzT%_S{jZ?2e76nKM;JVWnuhTbA}`G`B1QGnHEtM=tIhYorAZYLbe`eh~#a2phE zzgU>BTrIK7uJi;$<;I-KM?J7!QcFwU>TwXEq+v9LsE0!da=nNgTM)?YdIVsiL~pt) z@oqv(OXTSeM6@hTn)TDs&flM=@5jh5Kv7+S`BUL)wMes~*2Hgq)7{qyvypL1f#ch? z|AfZ+f$7}dp!u1!+t{xCl*YWznd?gFPH4X#gRx<*Ut?#T;{`g=MOUb>9a{#q*hAWT z){`7jI-iTMjTvqZYkV`(ZqbQaX2;u0XrqB$fbd-Uq8c6tV)K6E( z%3_F&ho7Ub-pUJd*x81@-vVME-GJE(C3i0HnJcHWCMnilml_JM=yAMAm5xlwHVe<1 zysnF?wDRe{=AJC1)?SMhQvJ-m^9f|nF0ofG+zRgbsj{q%uIIpY53pB07hdaqiv$83qaG@B85AJ0uF%!>3`$1Z_|k1E1xn7Y+zf!zqns zF-fQX#!y6*%|~d&R`n553n!SV0Zr`szMnVss>kv)WkZ6H$HrXxZ zv8{6-IhcPpIbKJeUE^kpcrGrlHt6fw2pNxkCz3f;o?i%7s)_!?N9tx=CQr>1^X`k~ z3tR6R!vt6QzLhy$`r<6g5>!=Y(jdCMO(coUtRO?hk4HTHZ9e(?&yK!4Lep;}A@v(F zPCdo;n>|ZLX7h>dHx3AIJFm9y?@Y>Cy4?f6PbQhCozJzMkAd&TXeYmT^Cq_s$9Gp* zd5VLzlvrL~i<7*C#cW|Q4$%xUHIM`j=z2wz8s=@w1Zi~SJ#Rp{|UwU*SFHWdi83V zfR{2iNB%;xz@siMF3YH-)YOYLU%zI~NJ3ZIfZKUI`ahbs#6QK*FlSIsf{mBA9ruiwRn2Unw~Nfv8}We3%D5LA8fv2F zQ(Ig6%HRJ0X=k1E%;tLk$i_r_nU0K1pwoSGNsYwr_}57qx+S>>{?`848^2GDVpP-b z`vHz2M*F|~qv*Pk^Z&t|ZDYfjcamf0uxb2P#5XH&&uIQS6F{u~*IVSj{^bAi?)rD$ z`a$yU-4=IJw~V}eUdG`7S-j{Ox;vtcxaSR9Gv#l}xcW}MD(_m}Mb_U`TUVEpA!%e} zbW2Lg7ehb(pB>Xv#o4&YzSXG7ZF8lkk&`vAsdyD$%i=e#pB}m|ymO1dxwsbl;)t$n z_>oH}^V;6y{LeSC>y`t)-G8w?eW)QkgO%ij7P`n?<>YX|MQ{KsmQnok$p~xMC%$}t z?Rs^T-SY9J4-NY-+)aKpHPcx#BHUHv65#emRJm6#)S9&Oduk)pxhwZS4!tY#$cD+i z?;Ka1(iBDQ7E1xMW5sNJ)rB$UwAX&GmJapLD)Q|axX`i@P8!P2Ppr+-tTOJi&K9=L znOw^tslALlv$m>f=hhxqUsC46F+`-Vu8GZX=bPE}kBd4)`DoVrV(+y=8ojKoH9M8W zZQ)6;fxVS+(yWXh2V%dGS1JqDL{s#z%9}HCx-OKz2pX1u<5S01$F#k<)O||6* z!-Mw)^S?LF*J~Nx?>-Uj!?H87wo#7_n63JX%i9jw=5$tPXH@g!t5Q1K1I(9faEk~7 z0D8)PRiJaB7orN*ph7WPn;)_Rw7Cl>pj`?DkueGQwh+!-KY1NNNia5F+e+@NAHZpZ zw;iq_+4zgh_v;NU$w=4)m)|`mfBbwEi&MUVyOH1r(86u{F59JU?(7WxU$3)n98R*i z$0oSmurf4yGP*`7RQ!~k99^>F0#EXTwSCDpaz?^O$;hN*L+qvkh(F#KE*Mo=c)YIG z(>{hVUP-_k&9fQ)h?_c99gTV3^P++m9=@NiKL)keTKl#+4><&JX03dhZme4^@4HYx zN%DSrZB-(FhM;hNTkW}|P}l2ob`OlYJl+r*F4zdPd>aMuKnJi_xsb&pqc(k8{5>|_ zJf=<8fC?u@p!AcBJAn=v=5>Ev`Z=ifM?rZe#&EXoYMAJD7^4gp6KBNPo zbJinYsXfYTaMJ2(;#^#%Ws=Or-8e3(@(Y4jO{N#@d@vrYZ_VV6qx+aHpkMh7Ge51H zs-9zb?YhlrA1i{ci{RM8Rcb7I+!iPGiuw(GU3Hyu?PnFfnxO@U_wnVuEv~h;W#PB`9<$shiM>7TsyEHjGS&Eeu-ZMwKUt?FpU1LO@zv|s zRxFISI=9Z}8D_kG9v*%E)k;+9y6lgMdkekFL)!r-I3uS>hs#UZxVSdt+>;*^zjM{O zP2hGM_UkElK2iFy>OGBmSB$}@wLPaUS5(RD;&v*hVHqtTz1!51VNEZ+a3S;0sw&!{ zXG9Ol;_FOgIRuUk!7gDv-#$I!g8MDfe1*t}>w@cjiZxoMHm;QsY}Ek*0wM{BVE8Ab zj<5D~CwUF%9(Jp;SF7EV!$-hT(jz;I;@NoJZp}N%ixF-)c33w?(yQ(42!|0K}7ICnCHh`4VMnhjh-_u7c08;_Ty0dxw^S^k9L*)o3hG!<|+<>ei_H=7zva{ zJ}2Tuox47k47EPJIl^S0E;2OkUCu??w8*mTWV`!ez{g;?g6I^P@!js;*P^+zf?2)` zef-g%Y|-M^CN{^ZKS;C_=Ub!9TVf8j@1oJ8Bo&It1h)BkB6sTzx&vI)5;iwkMJm|i zqs|7WGqMGzyTpDu|6Vaue+znDftN98_map)L zSoz|&`=Gz`w4HE6c;x=qxxK;e$jrBW%=wPc*l8EA4ITpE>oo}H!qDJTX1vk-%%L|f za(J{ku6}jVV>5zg@ZdHe%5{3%>uSRHYg$@c>qT4^k_OfD%!B3KR{dW=6|8nBx2&DOK0T{uiAzcyWKz309i{T5v_~V^%VCZ!Q+ixr1m0@9FVJ(O@ zU>E*!YA%&lXA2sWPX|&69x&0_H5h12@{3#81WEc=nWy$Cfg}ffiPotoE%Y zgb1M{opgL<2zN)?wRFXGwh>$QFyAer))sIf8)ybv8Yi}#K^gEBpk&p;fJ!E=eTmr{ z11cj4V|Ydl;TaPGSLwlwfH!l7Uuy1>#7cwbAy(}vBjMT|@#+F48jg71a|*MtU%TZ;B|d z+dL5%sUkn|j@nJx%;l?>;cKHIwUR3FPX;SG`<>7{5+*OB-8)TPZ`jQ?tPKlnoV~5< z7;?@{zx*8uA25H;L}$gd4aaq+0cAw}>)|Vs)mdqbyZiMMd<#GGLYrZgY{Whxy8qY z8ISFf{j<|uIn^6F-uc}gAbe2Dt7Duft>&%=6A7JZ=+u#Un-Qdgp0#<{V_RLrSzg@uLLflT$SLo8tt?&TNMmkK{l>V0@$F$&yjwYzukeshmqh$o;D z6A$gVaou}vz5kI|Po~3!YL2KwNqd@>nlB9#yQu52$mb$LGojjcPhFa>1>MwP0nCbf zm$OdelONi*(xx|7FzKZ;%TJO%wT!Cv`qs}sR|#QARLRE#@}OVj$R1n~Irundjq>21 z6qKCSuR;!{Jax;dxbM%RCwy7o`Q{XDqzAvu9WO8C^Cq~4*U^)8*NqzTXWn^SXZb#g zkAL))*`&O~f3DwtFgf||O~*RlLv^*+<*Pnie{P=bLR1V}7|>iBdm*NcEOBJll58qw zvybjo+gnL%xsAX5qu@%~kAjybA)QlNOV2jjUK-RjYQ+Ui$7+nq+pYgo*1e879W+3s--gPL~(k4~6pRH9=8v!P{+TW@3*|re zJBoX}qXkYgxBr`l{a5 zpPxGP4u&OAtR^Z%UxM*-mWC>m)ShaF{&sf;|DYS*mHfTVar?)|?OX?&%zD9H_w42L zh1QH{!XHt_;S+A7d#Ja_l5ri^3e&3*Uuj%AP(8yA*bp0l*PDjaW{c&JJ}Q4UkD|sw zu*@pHt82?8&?J(_s=G~2dOM+N!m-JABEQKqgWZfI9oyR0Uob6Q9Qa^^fea7zM36(# zcUw4~2+R*ac3uG({56$>semHap$o(a>caQud=DHyb&!GQ1voD7=|?*Q>;Id;;;vog zNM6Z-41x?k1?>j{n>x^<%Wc~nU!Q$z?WgAz&p2PrY^dc)ZA?9uK9^gj z-rA6w|Js7U&uJ;Vq8LIQ_%(7nme2h*NXRp`_WFK-B+_JS`VQk z3X)Qto3bD0q8JlIm+s}?DqT3yIx;C{XGlGwn=oEv7q=$&cIiYemycDnK;UNm-cHGE zL*jgM1b(v_^Y#=gZ9DZV`rsfMvypbSOZ+xEkFBZs9+0Hmo!K7fEe5rs`}(Jt^En?l zb;d6J>Bjgb-QPBK#B+2xtjT4OD@8akMgGe|O{C;DbA1+by{+~sTE(q9I8rFaI=IyT zGnd}W^C4`OT^J=iH{Rsz78{|c!Pm-KZPrTfg-u8uO_t@*I)kOr)OZXY2CVIXW5>{3Dl)j6KVoGmP}PXs?0-QTIyu z6jSX-9)|>_R|AV)*axFFTs|B5J{=dLP5QCP_RS&ru`Po!Mhd6;DZ4=>m-MKv!M@Kv z(vaB2MUq;TYg*%4oiQko)*gxJAF>ytEp@-AsTUaIa!AlAqMS04C86xNyLO-qi5Z?- zMdrPGt0+U$SPM@bj?#Z471Z!8fScO8`IhvVTUCP$;U66ng(Bs|4|)Y@a?3Jnquv~O zSe-3QB_7xHU37fqa&)qLZo=W>Xcr^p{wi{&zHw8p{-H<;GoZsUy%78i-WQ3-E12uQw70a7mZx$s+TpuWx|+6ZEj~H`KlUYBZXF1Gh>^r zZ9~oTqwAiJ3pi~aC%rt$wRqH}tIsi=LMU$EowHwT%-m%68@bmXDpISP!{s*;^FMEj zchH2=9K_cy_|(0x8a>p9Ggzb?zH^Qum#*}3%zLL5u({$5ITm12K|yruG{q6L z&MKONcWSQqANe>%-i61$qtND8r61ABGddi6L6>3|Ky;FSqX&;z2aZ58~EcjYn zY|Q9p`n>Ta>s|h0MxfrZbF{ED^DO0&yn3T;+zeL-_p1G2={1@|#wKI`nb|h0^YzJv!ANj#csgwTdap z4HWnA(PpEi9;p{D*c+u6C!R63N)_Z{&2(PWk9Y0U9ckbXti2zhG9ljodZ>5n7~0kE z{FZvVzTxcJk5-mRma1pNrQd1m9nQ+skg72)lYSm_cL)bkCO8aMsLn+9#o`){g7n%aJ~cdw1X=9p6{!S{2^~DQ{x#JdrqnZ}nWLI>;41Vb;G#pf+v#u(K{gkE^9W z=)2wLH50EPT^5Ra|7~vt-J{tXaXb%uS}YQ8o7-VsBGq1;>mp>=TQmw2dS8-jMOx>n zMznogcFb#gSn!ZIS;F?5f`|7SgWR4FO)AYgYm1N!3ISf$bct&R4^y(VRPXu3F@64AeN+>q0HAX|SA~4V4xjd1wEv)Qr!0w$xOy zLt#%pVpDYd4k2;5)zY-w8Gmb*Czv12q-JJD=wdL%Q|?)O1RAo{%GBGD^qe!yhw5=1 zmi8FWlW*@_$7|gx#oW1FHQ~H5A;MYoyO#?$3#%yx!R|EGWxp%w&Y~1S9NiY;xkic>#@@z z3W=mI3!^OchkDLM>wOE_1Yp4GPILbwYwhh~C0*S-Eo|=Sv7?7uSO)j_k(!QsT;t2( zuK#$gLs27X*XRqr>=eOsTg|(sTFkW)&NNt;)@j5Z%x)?_$c(uuc5pR|*ws5?(KM-t zbBVfmNG{0OgZf}*QCODCS)0L-qV%)8cX&M@E5`drb8yg>S+EC_(87Ydq9W0$a$3EIe4*l@KpE^ciq6`$gV-B zFGkF#_y4hR*pDz>Rp2K@ebG`klbq6a(?1dBaA)DQ8=+SPk=Pz~vf zw5v4vOCxD#7qnc$`nUQE^J#H2zL@NU2?oN**O-a|)7`ENHtiRuH{3XnF*0#lr-gmd zoY(Sx4c~m#%kU{6#CXa4up+l<9&ywr(m2;**!FZ*gKKH)0UG9N$=gO2m&IB{hKGj2 z<}9F$Qx7)I2IUFiez?V#d`E`U`2UBw_lj$(>)L)r6y&C6n|E0jqZA|B_|?So8vkIt zzF2zvuIejkd23J>1CQw7hnd{+D^S<-tk^A@sTU&!!pm zS`~Hw=cCUbKUUgQ8nlnF-xY=KnvM<%4C8<8FQH2qzqSOYF>B~Kms$^4RaWQi+Q3;uK zPvR`6>XDgs!tef@qBPcNUW8dp({!Ei)Qn;5@-vS9I8mV(0+rkihFe?pLUJuXD^9qK zqAyK#LgcsZAuw0t48`?$?Nb=v9X8Iro0T)D=sNQLyT+FaCscrQ75aPB<(IEu?AUEN5l>3Hm~@-m^a9PQi!07^#)-6 zq?kG;bhp5`lH+ktJr8rj&iU%JcO`ARGXwzSCQ45S4~KG9I4&zD4nIxPD8&tC`?6~n z=0^;F_;3xwpHQPHAwOmo#{3BMf!%fNt6{<|o8PH*-h6`@)2AL-GQYFr&(DWIpsPdb zeuPN@z_tQ^P!|nvh@iP3(+48}O5}l)%AUo#Pe?$gZmn;ACh``+UFux^A9(OKc7RJ# zH`Shh+%n(ibhS{EcU;6wxmuBqA?>=!v#DXfS@HFkjz;h^Z!#wP=O2ac-CKk-bLXEU-Jh=4 zzmJx0u?!!+5Fo*6b6(5RgGd#9x1hW4F|1w%tI8bW>D$ zC;S>do-CUhC8e12LLSj^_DiKITG^<7cNjJ!wQb@W@MkQpsrJ zs}JYsb8Ymn$8uColxuX*3~7*XoAUh286<0-uO=<+oX|_7}ErbTDLVh+29#xgP)7Cp7%UhlzhprBq-jQR4P@7a%M`n7y z!AR92mz#hcK=Sxk)n|}S)5ys-AOHTFdl`XiMSNe17rU}U_DnG7>mp;gi>8rIKTGUo zTv#y7+VKzn*^L8(07t9qf5fV*O9E=I?y!rB?}MXw(}D6wu&}hov!5V%fB9mZHGB|F zP7nvV!K>fcq8Ugh)Wu#&+#z_?U%J%n@}SWkebf=?x)Moo_$vY?Nnb#=?>Hfa_S!df zQtgGigtJpl4Gl1V#bn zO9)L?_&p4BqrJn%GH2yxhJFoEJ(_?>nOL_)9DWzs^4BTAvWH>1Pes14;gify8qJ44 zr!_S4D)KzeC~p(HPFg?RWjl6D6uuFQGwlM0v(4Ep!Bva)tCA@&;)6RJY#fy#xi8R= z4}UEaoy~4w`w+AVE;q^$v^!j;NmvUj=Dv{`yXQtuue4kL=JU8(i_)CSB7gC$49o)9 zw3!YZkq!x8;(P_?JXtekp$_nAY^2PjvcTMDP#uZD?D+s$EcyASP-gA*(Nd(0K;5}>QL`HNRiB!v+-(Gu zi`Qa`aa!ysh#6?zF#{@DS3v36a-1Cugh`z!0B~O-V$8$m_;h9)%&-`xHVG-GqX)kS z{3RMpFrA|__CR3yx01a7rggH3S;jxxQXsW>3Pf?%({&^Rlb59vQdJbC+@z=(DlZpK zV{~FRGBO0X;K9Y_+u&2C=Pk&8J7oI8;LQ}CG3mOE|F$es?{j?J)a)qk>(kzDjkGH1 z{0YDhof&h%n=9XD23H+Z$V2?|cw%k{i(wi8(KA$Rj0g|-jRvlH34mAW-&6g&QQ5@E zov~yL;-5!_m3^`(vd zRB?gkeE8NNtp6rrkjLv_#sB_fv()7k#sKUDelFX=JruLzAH9Uu9$@NJGo4a&m9k2os+8jhXTfo_L)D!%rA&qEiB%} zaMD!vFWz^WF=w zn*L-PHF=#Qa)YHg^Xs8Cd_6glHICv^b;u%!DQlxq z_Fa3*1U!YQm~s0gFYq_Rdrj3mND4tok1~@^67wW5K$<3e^n;)9{#HI%U| zFk1Wz{q7<8d_7@pv{bO#c_azYt9J{e#%!KU;2&qqA;VjocbJm!TqRW^QQem z=}`7itFy2dfz!r3G(IeUr*!TU(-x`Sv06w*0fUNSa%;U)t2h#B z&`2Yfes7un+E|}+i{R<$Mr&+oj&*iA?^;Rxj94}Cv|<11@Azh}Yy#CVvPhhMKG&5T znb6O=eP$inF@5wv=n3nyDHHTN7%$zh+ZVmb-qqU{cVB!FlHe`cpiV>SZ2kH$r%BF8 zYFZDjk0rOmJbcO9__MFxGdad@Y^8uGoR5xD@B62*6OIIo1^kb~M z8E@-2!lr+P{`y%U`T#xDOQ^po!nSj4s(o%$cr`1hHGd=G;v!)HCEJQF3vfcYP#J&! z#$0a6=9VD7g?x{1)Mvi37r%<6@ox?2kUc%BPk9y%xzQnbGTkk`@w{w+H)~qcJ5%TW zud%{B@5f(mqNoPT5Esn#s0V~;#d*q$t{DGb)(6j9PHZ$Ec;2Z0^}H3hXNZVG0=pYW zOEy#;Xp)`_zkw5-b*=zVFd%B_yKqs`dmrf5 zC3)c>9Y_ew(#(HU44aCXM~0aGG>JmTny?v>X9CwF7nR3P$Un75(M#J^=*cc#t0T3x z-#ODF`?Hm&=@y4((oqAT5p93IO0EQU2^}6(dv#WhjW%>?X(>(H0(22u^M|ZANQ#T| zZvogd^hu2pa7K6G?UfD#Fd&mpn~i4ZZ7lXLI2e4$0q-M#S`EKCQQt@!jZz_TJ6d8u znl4@vS^$(X_N?HMm1_GGHcPgg!WM{#V{8MIH1Beq{-O25?`>W!o+D04=5FAQ zW2Is>O^cfz?Pr{VqkTyEvpCw!RFd9(o#iWVS-1BOalGF-ugn*ni)joyJ6*c@D`1$j z$^Iiw0d(<8H*Y0BbHXgvpK5*Povg+laQCEnZVfe9^-j&3_SlghX(r#ymXukXqg*)j zE7Z*AFz&%ISS4=8)3fnRA8Tcu-D*b)ulj@xTsM)d_pz&E=tp)6SO$GXx@@aG*&Euo zjDW+<&$GMw-lLRj*z{-#?!2&gC@Tc7JL$iRJf4<1IBxqn^w zVajg0d@Bb($XfS+?|~z?dGBX?4ccijUm3edA)#;Du8rWyqIt05@Zv0D(uGC3TygFw z?`QqzaHDUo37q=rU3}g{iDO%X^&ydah?*lgek;5KrNFgNtCh!UT8D374x`r3Q@*N_ zxifGgmUieZe$JD}MHDakFF&Kb9pTcmd#WXMw8w#WbFCePhrT-D`sy7{5VxdqaBpW-lY!dZXi;<(4O_usl6V%);iS!4p=-L6K~chrc|$ z(}G_dzFt%;XqnSXkDp&==Ufopf^6J*diciK{JgC{GzeX4Hgo1yblRgZW^ z8pPn5vy=T1oA$pEb8nEZqgM>;2?B|CB<(h0)73-A?T&tmJeilhDMcTzME?bl0%Fa( z{zYIkX27htebRR|a>(5`xVH+=_AX3;`BHY^=~L41_QZv=|1XYe`==`M3#S8)6oD;v zC-);aDZh8C(XTUzq#3SV6akFuvuEeoz72=3laO1nsL0+l4jR)?3#|&5H$Wtp%pM-8 zSGmnSs2vhw&6TvBK2najnqMJNM>x|UO7UyuTS@mmL>yb(5W<)TKbFtWH~*cB@Nv!H z+M0I|I~$K$IMLa2k5U0d%#iA-A@b$aIXY$(*=@|5-u;@)qyCF+s_r=%zci^mmHUz} zvD$!((;BgLT4>rV7HIp5U*+|@Zjxqd{0B|6!WF3Ttz92^DWBltTq>U+yP=b;qqVwl zWXJAVhK1~s@7;c8y;BD-mCLNRizQ;LDhsQHR}*To%-sEVk2ji|^8DZw>Xr>nl-GB#Jbg8%=6D6Rf$bc1ga) zGdW;9a;dvhKgFRTD<_xR1 zDWPE_Rvati-@J#Vmo@07Ny|Lp*$@v1Gj(TDT9P$^KEizhNX<;wB69a^`0FJdPVoKC z$$Yu=Ds^az@r`?1qyR*d{7 z2^sMM!kwWa^Wp)gLLj9a;56U;Cr$bo*1>$KP~yLYm;66blmEAD<9{b-m+?r%<0NN} zrKnO*P= z{%2tG|KvxXKGM{jaJOP9Dk|E${`tvjePQ1BqUCYu;P}}|Y6Wpo{{EIUM(Nx+R@47R zN2l!k2fD4v4K76YCB0WKIqc4U5=ls-=DMw3*3&NmX;15yIJgA(F~FtbKR#Dq$8PEm z#d;L!8|!QI!AfUJ1MpeY<`X z9C7U4)~-KWEB8U;-&X=C8W*@OhhD;)9l5`py=_2fK5`o`e;x@GEA4x-!K~{68>6M^ zq^PzE&~}mqrw~^wRuPg`zVgIJJ`mXA*zbJ;_CusA^{>wi;OPGMpwfT;2~PG4-{~tt zrbD@oT1>AEb!RCg<_h+n=Efn_&PQ?d#{%XEZ3p5!Y&AF{=!p2Rc3SC2krcEGz!9J_ z{;s&xJ4gC&;jvkY19JOJzYt#AQ-yhMAMRm&7j1K@$hU4h_!{c?m`177L? zXx$9X8T`3<&|-hacy)3#XZO3-4NYv1 zFCa1*vwgl%mAHgs=PzQ?pSr&|VhsSeB@aorCE-404nm~3sBZ`*WXeN(OdK-pUM8P{ zu!nOb3#+tHxme_CNyK;3c_rMnBRZn+BCXio#IAT`CSlMUJhl$EzZV25PHFz}$&b*o#v0b1+tD02C=KUyO@0QJ{@ION2~%L{K^ z1>7B^;0(ZkJ;1S1XQme1(!F8zs%*MKvKO=;gHTFGuG_yN_pCt5ris0UAMMmyFypmr z9~Xg#b8cRKKK$fw^13WA^9AiYZBCP@>E@6IQk$7cW7xJkPJ$J#^l8w13+oYfx9R4 z(vmKtA4u#N-|a%xW;6FD!+Jlw^Z75#o7)a$Yj-E~#2bM*9Vf}B^`OBX1uXIgynq|X z_$>=LOSV0|u)|~~-N;h8P}(;xmleRPn5Hn|8SNn++h9xz2?_u~w%XRdz{z)M1C+HS zk_E~IZs1<^Oa==AXuH6=uwwW)GUMs_B9rJ}P(*eLA}xA>m9Z<#Flw;%8-;&$HpM*m zV9qAVr{raQ{p6I4PntB=Cz&c1cTDm!p+Ufxw6oGT zDN}j(W~R^6BngGGPgJhZufyFt!<_qHBy$(q4Aq%FL4_J}H^tM0r*cE-x8Z9Kjipa^ z#1XE41=r@xo3ZI!ZfqRp!~-{Ha>BIIT@hqTG#mqVyJ3F&Ak>*=U zX0>P+J^-ASE_8wvW^Pbvq)tBkzh<9)FhHjFNjh3D&_hf+8ObH{#iHak(lj{eX}4VX zS_mwsyZKe?he!x!y`c*r8Z~O0N}t9z(wGpv2&S1()1)b79Se5h_%ixO{+RRU?y4G{ z?j#?x+SK?CUh?EixV2FZ*699N@gCLDubDB7$MR_ptghI1r(1Wom%y^R9y}r{aYjF z3Mqa_Uiw1z-8!xME7MF{mBJ42^VGJs=*`7dRVmadcbR5@25=V@f5zosepM~QDoqqr zdP=fe_pSicSYC(r*&+FlEJX8RkC40b*M|5vxi}526c@9h*@cCLkCY5PSw2CI2VS(d zaqSmQw^jh{5(k&=r=ZVbr0qF$I(H17VDWaRqu-%vw0Oo1IjXFJt)HdycZ4DGX5{!o z>u@Cx;C5s6(YI*(^CEWs(>OW}QbvFG!m!gypy0cj0VgMaw)ilMRW;iBtevqfWttoe z*W}?)(k?Gv`K__H)03ws9IdnV56c!xdf$Dlpx zL_p(acQL$m8qi_U<_7tHF7Jzn{~G$R^)KyBoFl%R^1Xw;*XEj1DcE_TITCUbP~3fN zWXV^nEK`PmwbAfAyJWTg=bo&X#X5U zJNH1VG7wyIrm6`ypITk<3CV4lq<@Aq6qNBcpYkgtZ*n-XZ*Oh&?Mo(`l9yaLA7pMHcOv)&k|3!@0 zGVha6d4?~0HRMVM#oc@>nMSH`n3?3IV*E3g1o@A22&VQdQfkx%-)hzaAX0HTs{ej5 zs7b};ZvV#-8V87tS>)=Uw*b)2v66;T8Pg{HcW|*+Ng0z{EDKhDhaqt z+xl=ASqE!JYf_t{%*l6dYXz%rUZ2lHs}r?gC)D9vZVfbbUt(y?wC}RsHqaKQbYq}6 z<)a^UAG1F#K|=OFmxmGP@CKY1YAf=G=b_oexX2$qd$r_`{nWA79`CTBb1X#juEK{!6FOgp#;{; zE4#ziFMv1l`Ioc6X*XFAgn`*sg#x>{f@xsFVFzCCd`J60WK+4i47OZ_R6pM2&J!uK zfrou_c?1-(Q-dlD{h2%7KcR%AkPg~exw1750P^&{iMb!7msurnzY?=nnHk;zMj_&D zMi3U$$k9ZhXXULI>Le42ab0?twr1e5rValyqwOvnQAV~#N~P4cimdI>;kSG@M%VGK z>O|`^y`g{poT0saLBLEKxG6TkB#h6a>^jZPv&|Kss-6fX1^pxte+!3L=02cZ9Vs?$ zRanE3c0rIDto_l<%&kjtVg;%k@QO_vle#%WCXIKek+#*bYwH)=#TWjA_2>JxL$>CGr8N*{>`6ts8|&YovWVRfAM9uRh3{JWu(B&{mtN)eJ!^z~TR(-= z1Z1XV+*z$wYsst8fY?~Q3;sy_6moqnMF(*W$r~y&DD<2*8f0${euxfT%}-qb`!5)f zN}B*zgBM~+?Stn&ArZ&GwCdw5h)%vU-x)8hYQr`SY##eOCYoztKSr(dDNvHQePB-_ zu~^69KSMSQ(n(((f>e8Aq2Q_m!3C_{G$QJf3yvv&@%;bM2@rlD5rKaj@!Rh*Y=}b zSS&bXenAT8Iac;}E9K&V3}di_+9IBGvYnOt<7jP;w!qf==7U}8767My{-y{L(rjRh zHkjO_e^^-5=1qI*BEKW&3S>z>Aacvqz2#Z_`{nE~OK>Hg$B|*7zAP)7pkWaQ&oYv| z{SMU*tor)Y{sP;gtb>v`H8dP)Q%1Hs)3@umy6-k?+8cJ4^EC~Q3Z1e&0BKX={_FXror!qI8FiYu|IB&FiEWhvMTRGpMc%$tFF zti6FKJHBHrGg4|<^Fq9{7l@AEz;kl!>9T_ebp<@z;0(D4ELUQl`I&0HaVgj9mBDSM z-79W)&e;ZWFSM8LICJ^{Lzx2YJzyBZm1-GSB=DrP4GF@iF`vwtgNF|efa8{SxKY%| z)mdf_dSfp0!rZn2a1c%|Dju(8u6@e9-UQkqI_K^Q2xx#16;9As<@5I6TOSt#M;>u= z&lhm$^#KXx!xir2aV*fM8T@UQN(31r5^a8&p&CCyfZ&^vf#1N4J~kJqEBQVig7ZTU zNUXDqqRGq0NhY)e5#3BGY~SJ2{XyADyjFA4K1fOVAf6q9EQHOX@kOdWnUwt{^f!9H zecJW{+mZATwQ2}vlmb-d|NZ#g=zMC9nD;$*9$bi>nHFI*RVlez70PrpODPuSUyvuQnfQ|J^v|+pvv;Tx(z$|dze|$P zbEsd}Lp4-kHJ5Isd2{)=VJk*>YZv$MnN&K$*6W9U=O7KklTFW6R>q*rDb$INo64Ce z4>5?yU^gsNR}p%>DERyM5c+Hzl~_Ohfn`-}Yqz?>Q2Ydv&8_C$eT=yPm&G1T$t_tc znrDj8TMn7q9{F`6CbZ=`tY|hlV;bXaiSlO7Pm8z;Emsw9Q=gl4+;)~`+p(_wYrp?f zxmGKb^GC_QSrq(2KEBdKGAPi`FIdm?tn3nPaGf6GbylEkUz$zF7boqOOdI^HVHX{V zE3?xZ*?&$VytDA@vweQco4Au=AHC`ycmyn26aR+66EU@_(7{zu6yuS2teX zjY_7>FwHwFU_^F6qO8i4ui90RTzX8IldMYO@RCNVE0car%!mGLL2O9HpTi>kI$oXZ z`-puTS!Tk$I-P=_=Cild_{uVF!QUtG0?vbJbeRucHFUaaT~4IZkG6}7hjkIgYkzp} z&))G-rdRa4DyjX4ZuUTCQVMzERbZS53-b)>$jjJ}Ud+aF7|zgWiQKfgB+-ABZ75srTQkbeyrNZb>2`4t4OFi*;f| zRDph-W=a?KqH%Y*z&L8NI!`^m)3!S*o_GD-fZ^~)lAoR^V~uZ)t|y zH{?N5kYbzF<{EAv1h}*BIA=U0r<(0ub!N2M3${Ot;pwk4u-scwtC$gAPIpa?v2`Us zdU)=3>dSQFUO8L%tjrEL3;(_4ssHKpqW-5@bx){%b+G-MOM&k$d?X*}E6K>#llGOD zH>y|z@6u*a(idVuqp4i&!cf4kfWhZJ%#?RnSl=3fPM}UY)^y2CD~$Y-UgT3_+AP63 zl<|I9{IQw+o=5@jbc%`CS1U#*6XG2rUyTU|Tr5mwZsIiap!yn8!b(6!M^Wto>hu}% za6*6u&+hb?1zqxeN%7FviSW1^CJa$1`80&iKwIzM0U|PM8C0+^?tmsA1Ivp zd>V7}F1`K!ICoyqFM4)$<*HyI2H&hDL`vzYlLCg{wyAnW-ek&RIi0Z(yxDlgzD2RM zYT^`4V8OF2ZmE^Q8#*v0Vf?v{Kh=ZHTLKQHblLp4V4O3KaieFd&?)AX{+qmy5LW;5Yzmzq@xmf zN|k8db;$gCgr20Nk$y(f+r5Q#C`1_44IUGDCV<3)?!Yykp;-h_NqyJbm748bJK>Ykt_aQ#K45 zpKffoD6O77UhkF_OGCBg(3JyMJz9mm7n85GEl_kgh!UTtmZQ_kTNbkbAaj)Lz!yh! z(Ae%gtBb*ROa3&iY==mg+5lOH!trHn@IJECI}7d(GUKgk=(T*Ac*IXIX2kcRmig~> zJCU?jKb~-TyxMWH(y|@!g8z0mcg=pk=&wIjJ;*XO?zd!W)P1TL`-O-t*Hq%e;xdt| z8B6N}S_>{4_4!95e>qHXnd45-0%tPy%2$KmTU-r1-bV@72Me}*Lq97NM|rab=4#P{THWa{whUZyP1 zkX}ciuJ2x(u=-IXVFPzV=|%;|13hu%WQd>3Y-D*^INau%TA_e39@hiQf+nW&KaAFR&c++n6^G<^ zGSeiCTlFQ7rAoj)*e1SIyr};;2NLaqX=hj%DQq-br-AQpT@W`HK6$Z0lh>~475)3G z@c# z8E5>RO1FKUr(HY!@ilw(-rx2L`Vtq}&KmDw^L-UF8KKQsyApmUNxVv2>^&{p?s;s! zx`jh+li$G|*~9r6U{oYH)zYFjHl3vVKj<4tzgan}(%P6E-@a#L2X~ zK2f2AFQg4NY|c_r5o11B!Um)a-BzQx7U%LIo%a)SHB7b5>Z*tW7E2KX(;8LmIHtKi z(wrbDT2?*(W#p0EK|u=4a$tOI&)4QG{(6ljcSFpAP)JwE6V!;CN4QZ(LbRb3R{5=H-LEwRHD6APO9H_OKTy)l%a2#S^QTQjr`1^iN@@C`Df-aRE444h zM7+{={KoR6w`SU_K8t(_xN@hgt_vjD4k0@q>|M8TqqcLU@4Bkhs~}yNuX|l*m1_^I zPTZk;vO~5)P*%s37^)4s@888=H>Cg{YN_T4OSD_E8}W0nT+8nb|AUaTDpgz+^X#Ar z*xdTbg~<%5_n55a*?juc2eq|y3#aBVU5bkpo%6h@8|@Pq@X80#VqhfSTRPkWMNtQ4 z1^5QfpwGUb8*Jt(>qEcxB3PPslLarLzKxz-ahM8L_DfrQ_9reDKg*hWQ8wx1YXf21 zMRqy7u>Or3|3jheSfo{)Apa$}mSlSz(N;*(Z!mnQhoNtt6b>vJUhM z_e4o3K5tPLE$=XWlLo^5KGQJ0#Vd{`CZ8$tSv>!;xzbr__tM12MwjZKSRv276F#in zLhBM?m-Es3QLI%}XI^n&su+P+~EZ16yR_DEM?k=)^xmam5 z1iIJ1G<5QZ{yW9B-AS>HM1ua&k=^U%moL{))sPt)6DA*4Eym?Q>A^aJ9J=Q7_UFpD zj36<^!dj?0!QZ}g%x&s=3HrceN*?>NS~q?x^f)8I$X{4Xyr1yuO8;G|1f?Ad6EXD~ zEethhN7;%q89At`w`x3{Ruxc8YXSV z8_J|t@6hX>$$YOKsB_5P4&PoKK^@njrxpU4wq}$ax*l1SQOBoFLNh#@>P(Rvv`qsd zpV3;&^_Z<^P=5=Ad=mD^(E{Oj+c*QGx}l!M%vqY;au>(xvgjx9NF#YCg2B$O70QR@ z+wR*hKC>N&47B_@XYSD1mwZ63wyc~MblE*~X?+liv4dknD=p3JPc1F`EgHHHYQE(S z{I+)SUKJO|1}tZAqf!5q+du15ycM_>>t1G95Q7D?m<*FUI zJ%Tu)DK<#N1Jy7so4!<=Z;e8&%Y`V zv-ND=Ha^im$uWEBwqm{NHt||8!BDR%rH5apUAEn*c}4`@U>Zf6H1v$Q*NX{VT=cZe zvV+YnlBI<9(x$Y(N&$^-s_Ef<|5Io9A)~{jT%&Ml|eu58D76;&f*gW#{=MN`+;WY5r`Cz;AryzHlVbQ%{M z?7x~#oxbv^^VY8A-)+}&N#et3AE-E(e8pA4VobEU-}7#tu~TnztEWknr3!jS`6col zG7V2{oP+!8z4`5B6m&Wll?U;a-w@tNU1vjOhs-leLgDhE4yDrcw;zbB$VqyKCEVV3 zji3=ne2?+7>dLB_DqEItT1Yp_UUGYr?Af!CU;ZieRG6n<;ZHVqarV8Co+i&s97T!> zJwCc8vjfqQKsD3^uY{n56FMCxvS=T4#ePC5wLFLIIGb5bSOz5Ttc|Oij<#6Z%YszE zKMsPo6vj%cD+iXf_BIcPDzfR*k9XIcC zy3{-5H%i>sb}}zFe^XtIlNZf$D0^-C*M8eWpV}g^J|;axM&^>iMNDPpYzDDrl6QW} zlc3Op|1%H6(KKfn(m6uK4xej=u=(s^6UoisQLhU2WZDSyguT*ScyUk$9gk@nVwX;Hxk6Z&ewkz4s)9V+cC!O8b}@t~&7r)j!%y7^@b&wQ8}=iC!;(3*A*xIpG@oV!dRpzUTX6f^;BkA-S z$i3V6-HAjgpJ;`#d>D`XH1SQN`r&pHumA%b={ZrT369i3Vp~wRi^vSaMW1j(x5rr<*f&F>b2#K3hPt(j9Z0w3& z^(0v?)#xlYqM>h&!W|PAm*B?X{T)t0Ft zTTaUqc8~A3*L@290XsU-=)LHdBC$MGW^DkYY51%)$T&$6uR%mIKM+W;(}N~Hc@0Tf z>ZuK7ehYo-EK({tW+GX%60>G$CHXNWIqxCj2+z`j7bA+|ZM(GgZdgRItY7@?9(Gpoh-GR@&oD$~{j{p0_3rZAE`>b-v}$%zs0Nn+PvnP?vAa zc#MHX6$^JaA58>1WY&Axjn3fm5s-3`$}oPXk~UKZHrhrzSi`#W6vU0Ck1j-CdE&F{ zMbwtxy+!gA-Qra35sveQ$=tX6}?opx)foPW{QJ4-@TOx{(}nrMLO6xS7{_CB0LBQ`0t?Y)$j_^xjB? zX5@|`PJ{YLowvzQ(IMW))l^jUM%mdGzV*Wcy~L%akoo-=Q9?{xQEJcUY}HH5J<#aZHDPk?Kog z7oX(lV6ku{UQBN@*ql|)+aCMQ-Cg}W$y~OBtvTSqiki|zLB5M2d|FwD&!+jcN-0#8 z>*OhseBIZ)mh6mXhnFK4eo|+`pD7y$zTZI!ludp!z}hT+xbY;*tVU~ZthMz4VNy8J4=YYG2Zsb# z_Dv*x-r7REEF~O;r70YeLgfT^%r}R2#av#CW4{*ms*^+XM9Kf`S~lZyyvkk=!{GC! zEA_?|Tb{>x8vN7M#kC?k^#$}cdsjB@eczcP=MhgUu>TCa=um+n!j9Scs8A`}ECRRF zP<<+q!R20O)VAADO7bL!-oW~`r7UrU{<~>I29;HncF&fJZ6_mY2UZbG+NiT^-IU_f zt4{QH2!XS#{X`m1@!E{}dC^<+84H?wxu?6c7D2o9>*mWLI4S6U1D~L=v+T6Pq@@yu z7dJSw-Q~=*l@r8K1aBn3^R8jqCK)J0`CNLOw}Bhs1HWTGiv@>Xo-@U!G-z_4#qu%7 z(~(CVKJ;EZgRxW4hmQ`aP;wJ5v@+ej2uAv*-JDiSp({-rG}CGi?s+w*`Y3kF)++Z) z*$pZZB3n?zuHu*Mx*|)aaNJ~j|5h^xMXipUl}}iguX~Y5y3BM?h+(_JJ*%M4bLLh` z9*F9Q-V_n(Ec`kYbwU(7YE@lDpq<24z8ay}@vOyRc>UvpwRgCDi&>~iZ=L1xilTNt z53wQBN;7&v_rRtVI_^)j{GnY>vtPREwbz=ms{;zM}oz?vK zjB-J>eS|i}rY%oiciH{;aL6{?=wtC(M*2@n-dXm8cc+s~M**^5H?DhHaQ9G~z#}c44_|D1n1F^*Y7lCY5;1QU-TewUGb!5EC9_ zin7rco^fCKHRtatPcB|ijB6I2*3I!~>Q9p8z&w6}EfX`tkfj}{{G$Kn++Q7MvESn&VEkS3* zb1C@W8)8#B_;BMEJ*Q*iFgDVKrn&YY)kEBTQFbu}7<60k{9C)G1__m&k9`>}_l?RXZ=2O@BxG}FNOxA& zh)7cZk`OEpX%f1WDl8L{UK{XQ{Y5tY!;f}-qm-5zBj&g*rmfu|@rAamCl7A-zL#Ly zd{nzfbWNef*gH+MUg!R(3?ma2%#W&yZp74IoQ`pblQFj9kc--#QH(u;fKXvFfISi?k%n6ce zH`j}a8|dmmgZ6H9FuH86eg$FN7Z|6u>vhm^Q{U9F|oAB;zOWOB|9HF_vVzhL6rAGie_6-&fVqthVO*V zva4l`uR9;6{ciYyH@F>^EJS-43&qnmiEJdDN2KYOE2i5T*5VfBdw*yjzM62`Y?Qz} zKSF;}u4qZ#$hgirwcq5Mm?Xj-8E;d_@=H64N>T5=FTK|VW{FiY4du4t2i97dE-4YK zvidWANY@ zjnaeNK(}y5P82>mof{mIUf6wQo52`aTYR0wc76>zhp0iu6RT+mu@!f>Xq1zT>Q3Kx1*F+P) zp?@BUM?JC`p7EE^=iy!WDJ^G!SQVVFIAJhF z>)hu&e)sP_=RS|~Pv3t$F!P=HZlCYx`}({;&u7SGj+|UF61x?krE_Zgano2FV9=M5uVa}p#c!E8hmQEpQ;q}Nx@ClssoY{R6m z^9H%8Q%x1hc+*2Y>3$iOU;HwmikRRMxRqU}A!H)z83d{meLX0NaWHgBaq0H1B2PI`Nt=#_MTrnQ4p>9UcbvKY-rW$?4<(b-UC(_VS7>%#|6`!(;5#qAjB%JcUFEY zVmT?l{sJeay)#q%m8^AV6m$$Wdz?A=`mY8N;ZU-BuDpt8gB+t#fAOo^j%;WaiOGh| z$43r^Zb;uZ@9lj(;rz7r6u*sx0L+7YXE=)E73;9iz#t`N6K9ay?GjbL-yk@ueD)4y zX%X{w{sF-*&e1IH6w9?j>BKBZd+~FpeP&_P0u`Ad-Qe0(w%N!~f2@I4@{c~<>(jxx z6HY!*Z4O_yD(tx-{rH&vr{v1}U`z>1YH4n;;;+|+X^&L3qmUiRq9JcZiu+5IyMmg< zC<`KS*&{_LFD9|)U)A%Qh3>S9m3#WuFtYBc@q{|PL&?4M z%0R_vG!%z^R#};t9b7$(uI+ro++zxPf3S+r&MmfWhHY97_pKwVEGLE2Ah`5#k+3Pd z8f`Y*nLXWk8enuTv_>M?z(UNB>?l}okFL%ej3r+S>vUO;!@*vAy80GA9GMHWV#)By zqO@J_E_XGYRx+w+oMT!AHA)?`Aj76tU#r9BJQN)9^G-^|_5^uGZjudPuNd$3=hqBqBq($nIv% z=7r%^4gG%o9R8v<@)4x2PuxQHhmY^Q?7BYwHl_4AL@nFQZXJ8kQR$);;@%rpPXb*> zNDBk0YQ;P5q^m%*Qdy5tMi_F~HHS|_pwLS8Q_4;N zJl>dw*m+*OTX4;%UH)JZoWeVV*na03Q`RquRW7h_I{guMVg6|a7 z>qLWhqqnQ)gNxHLI#UR5J@Kk^$U24?KfnX?f(yzX82NOmuq20{o_yrU-2Nnu-9=f{ zbi7N8z6TfmtJDbBI*j2`*_ZhuA-+2~=ciMZt~nLBKje(Pk@d4X4Akz?GtXEX*xu}@f*bbX}*Vdn+z(|FF6s#IrX= z1tuY@?quAWY*wGHGs!xm!%7O$BjE7ZbIJyvg!-KI<-zD)ubFtMQlKAdS;=7<>406{ znQ@3lV??HuY%luja?Q;TktZZlY}t(BIeca_$oB_LYSwQAi{3#Cc1?A;Ub2`m!u!6j z;CIk}aW+OGg1UIoP(srTL{47U1xlIH15}m7H{;sfeJj*nB{~mc=ZDG>0Q4kc5sJ1v zZpl^R^dxUTV|Qd_;?$OUs=9R4m)z3%xI_@<8D5L7y2wr#I?072@)hY=czRA6vG=_y z$sAl0Z$YvY6w2Up_GC&75C<}51D_oxphcdIJMS;;@J5xPs9OyoiK3o1C!D*gN6?O< zY#OUgo1y{R^y?17?fu-H`SGbar{qKvNsz5FiM|lqCeaMe?78A5-PeVxxIkEV5Wl41 zObaTdcKP{Z>c-*?qbnv@&w|x#o@K6S@e+C+jjdX9oZ#0L98BPD?paisH@CIXysZHO zFvo6|!dA=*oxWUEMs#@PaOk^=vs-7NveAt!1be3~{smcFy9YNiwX#p_bms=kF|IiF z?$7%)4<%BH`;&|8mVUk~*AB9bDJwGZBvwt-|D&Y4w@XCh1;z>^-$pa(n z>7%mp^w``YW8T_pDPslG;@|hn`ba#x(()e55|V9m4V>(X4N4-}7YF25+oGQuLm+4M6%DXV$*=`3{$smPjn+SIp(^pi3xCVNfRA-)Y>Ib8*)ps?Q@^10(`$$bf$ zDG!N$^|L+5()ll+Yh`=gSjYD0xp8mlnP{-`4J+y?>}qi9K;ln^2x7PI8$>$h_PcHC zD6yOxC~ql_)$Be$N6#>_({SB0r6%MzJu>CPb%LTk%yP#5r9hzK!?&|v9|n3FIC3Ko zU^j8M_aj1Ar?1R3A1?0? zSLa!tWaNKka=$omD$tNK&m@HcweKgZb!97#gE4VI+MvphJ6n<$yOf82WL}GJOXva* zq4Z*T9_FJ<7xBo|2>aa*6$2`c&&)oot<#4=BDHN78m5 z?~-v2ZvuJhZ1P8gDBXrFo7>pL{95Y$bMu48mRyM@uAOe607J2V1wJ?C1tW}~Pf+oX z))jTpsz9xzZMwBwoZpC^Xpk1iU3TJ5TiSw7vvvy9NV64GW{#Uym_TpARUVN$H?w!& z99d$@@g1W}EB|^ojq|tP<8<+)ZJr&ww6j+8=;n4VHe>sMwIn;)YbFpWu7kpAL@C41 zI2#diY&E%L?tIa3N3Ro)AJR9wOeqk= zPzHYNmqw@$F3rkRUkx=+!R(d(WQ9IDioK5-%@C(<`s*3vdpG`}pbHVV$tpDrzuy^_I>C(bN+!a40 zPJD{XDpMfkFN{aPo7h9YR=sb+NOOb z7%>f!=%EneOJst22Yb1zeU2o|QISI8CAYQ?Ao+sYFg^ELc6v8UP0&XUFe4Q)v*CwV z*$OV_k2vHi2(XIGC&a6vN_~D84ft#rhr&;;4lE_H zxdhqAqXe~83iVT0hlf!)smD(B+cXY~+PEVL;P&bd$3Dlc+V%ftg|jqUle4)r$utgq zUpT0$RnVtw5%>rOkqWF35PzOokLznxYHOIC>)@@GC%nB~)yBCnynk4t!n+~UxhY%{ zAE|t*Fg z&gOo49w0^Wpa_U3^5KKY+VCX$-|nd<*rD4M=B>oA0-EUV*hIFJ*)^Exv^vb)&IMWQ ziQ8W#UdKCO`TTn?X98E?v{!yF^MTF+rcBd~Vd>0orOMyuczscsWOuodp%0sDq)gTN zAm^f$b$?vIISYJIw&0V7Lal^^n-ZfNZT>S2&9hR)U_e$XFUUR7`LxRF$B3TMV-X2wdL6z@cO(H*o~-1oXO$^NCs?C9>he=OeGp7A#Dr3+UV zQ`Zzv7yVHk`CXn}et1p1M9?)+TVzG>7D*(aLPg5%_t2I$xOK#;R=|A5Ik7-}xDP0} zW+7y`;(tr)m$T}Q?PYXl#;xm{b!Y zL+Y}5hHuTX-M~j{4OJIM!uS;9RV^K_mSCso?K%h{+~Uq&7Y=!eTXMz>Ye!sC!~#^yj78`GL1AHUf zY|0Em{nz(smzq`z+Fa-#z!BtHTQ{XMZ3VD%kDTqMjKT9TuZ8`7w+gXK<;x#Hy(Zev z4k?mIhWZ8-}^6e(6_>+R-g z-LFu2$JrL2Y8{!Se&P?b#3ww($h9U6_%@u3d)^l`Jo=c}8}vD?yLM+%a@G?iy?v50 z8e?;0*&y>|eI~3POR3A6dS{Yg`JDG~!PRA0sojhe%Dxnx`M6E{u{ zcZavuy_`-+XfzjCbrqqHkUDiG^@SOH;v`?jXcl6;)HLuqzdQ!Z?65mW)QOdFclQ1m zsx;a9E~@@ErRWhRnu`!v$F=)u=6OhQFGbe~13fnhS%3$2JD~j*0*&Fp-^-rXb)w!X zk`M;eE8L=k4WWg3ahosh4Vbvb4=A6`pa#rz66Vw`nMv8uer#ay%$9H8_d|Xm8LQRZ z1Kj2X`$i78VK1bWaLC(CpTSDAiN~i=<9f#nAFEvM&xIpi-{sFQA%JofM}Z=ezvFgw zn+qes zuokpf`A3!GY19;o-3)p!t=_gG%efZSAdkV+;v_35vMEr~#;G+DMZNTNbV7~@%7@b2 z_Q84KH(~nmYDYZlF$dsOkQ*}`KB&%um*!&@JUhDmnZh5Y&6o#<6rxfJ_$HNjutg5IT4+{ z8qYt~(3JJLjSGVnw<`YqQ=opgF~cPyjS2#ocJ z(k~u`_gr}WVY_{H$o5YBx%Qwa)u`I*jhFCWY}u!5vrr?-mDw39)s=x(c5@Z)UoPJ3 z$oig{^6L1qOzzy-qp_*RlouRUNt|?}M;+66B0htQ$|6(Z1u5^^PGMr6DaqsDcA2ng zC6xjW{_Fc!`ckOVAssKDzh-v7O%^YYTaSg#{K@K)J_>gi-LZ5&- zdi|U5^lBm$UswSh6{{X#c_M1n07|t=#Ggsb%^c~mlEUf4+n6deS$6TSFg7b=Cxl6< zBPLa8Q28d``nP3#$mSA$zA~PWLDx(mQ={P6|i(Zm?thHq*j|4;QPX}#Vibee18*0#Z|hZDM=$mmKC~m+vccJ>uQ4H zny_PcD@wC2jhB!GGb)OQ36FV`GT+_>-JO8M%2|WsqR%${yKe^(Jre5A+uWQ%VYEM! zS3k zSb`_q3dzv25OTSrLVeAFjLxV~&og253vtLCcgbMFEz-LshTn+Vd28R7fwY}*N%49U z6CB3JttxEAbw>3HTCO{z(LCY%?nrW(`8;O8kMX$4)@%L}a)|EdbZ#R^;i8IT(0wDf zDFpe$eExdC-3Y|{K)v~ITw$BWb5-vL98Q}KOpf#*pOUkso$o15=d(!6#1;3bimROB zvTZ!C_b%X_U$G1VeZ9{)@vtU*MY*v4NanOPp?&q!B^7i0Z!G~{nJZ7+gZXd*X_#q0C(PzG&j=z?Fo)v`ZDJL%1Xqu8iTXL0o)Mf@A)$~yyUv0yyMwU7SzslAU zMsl1s@YkQs%-Fgv(&e0pJ2Bvrc^Me8jQzVR7C>OMp48PTQG|`aq(CV2 zp-Ahv@HCl`5WZL)yUUYQ%U>3!ofQddrA_0JXh_;LX3`Lqr^C=$XL+Se=-{HaE-hosPF zg>N7SLIxWS!`))rQBtGv7W@v2R9DH**~IGWZZnyLnAq9M`@DG_TNJx%C>B>Z(*iZ& z+S(|(fpOr;OVW7uGn4=~)UlrN8h+J_pR~j-m0xOdQ|RVfen_Mbm%yfJmI#3>%Lsj2 zu=VjCsW2>~-{>6&c%Y$W7c=70NjJVvuhZKY2~>p(~X^43aG}UU#;J*V4>8 zSrL9#{wOFY_Yh!}b6%C*{1RaER>fkf0X>u?r8g2U;w4uMf4vV(o1qJTOp_&tgTj$T zLLOdBuH~Iph07%=Iy)2X{ByGc5YG}x>fu`R`>?jX^39ssab7q${21Do`heihYFbmEgyoR?mB=5svZGvon2i|+VBO_9Cthd1SXdN_VSZPc zY=*z&YB8c&b@D6&HoHc9Fgp~vl8PXE+BIve=134R{44wM z|H}9J3zh}m{_ilx{x6ixf5(#<&&2}m7v&I0^<5gbmtsOr)c)-(hxYru)Y_ZloO+rb9KYqfOr{^K2VbV^B@e>*;BzW=pR;1&Olx%=v?ZXbQ^M}{30-TuV4G9oq@|8oRPTcSegh50!_J3Yw&(gH2NsQdki) z%Wnv#bT^PdUjC0Y2o=#T^~?U}Kd~ObkFAF+m7n?I`eJU^W7d}K2vI3BVWCSQK*(&D zj+y1JBV=d%!zNBWI=pPTsu z#>R7F?4zdVN){R0rLL0rN<8f9M5^%3ms5^6rSkYwg&^M2>)ABP@6!p>)PSAECYE-opyhSi?Ca)uUOTXpr|R{ZPP+k3 zPW$3Wu!DmG*4Wg_4s(ky+b0*h3*Z8&wmuXI^Gc!HLtQSr?%oYF(!eHo|Dkn>VLzHq zpw+Q3%RcG}wSUo{a1&FqjKCgsw3w+2#LgDZ?rxHDmhPM#f9(GXXezQcM8PgjdMjFfvl@^S6blF=I@Z5j*Faik6upTq|M?jk@wP)bT33~m*9MCypV`J~{2I_Dz3;VrwC=|*Q z2pU@>SX6{oXYq1Pz`CBc0C=0pK&_DWjtEd4=K%XPd$X27iAFccpd)812elDp?iEo1 z1NfA2Z5!|sDfK8(S9&I66&IcZ$DY9yF3WjuAt1tK4tZk51P)mJ#-ypAD*4_eraeP0 zV>Q1=S4T(ceh<(`4(jd>`w^1?N+aW)2S9$!6~^3C<D459d50yHc7&sN=Qae4YV zDhX+6=P_rzo|*}wuLCR~BWm=);kF%PKznNdTswY#{!ep)3i@a(pTI52%NH-6DrMpN z*2H8{?J7esthNAn2fJ^bFS{!ox=_upmP1?kQ&Jh3R&MpKc7bAA)^Pmlk)PK#GYtZU z+@0lLBBYuu5t^kTb897mpF(Gv-%gUmx&cb%CXlHFEEJJkY~oF1EKV>WWe$XTHD$EV z?k-SDmA0pw?EUBa=FJ^|?iii^^xmZp&}T(z4$M;2B%ner9VYC0NM8+-n6~QIry+so z0d@llCY^6o19^t+7PqTYU-5ZB=-bu3p%)PhsOUxB^MhaZ-H;h2by$9}t<16a_xskV z=GsX0UG{6wq=K_`^7mJ<#wO9$*xCV#<4=E^(zI+ z1BoRXo#Wli$7t4eBEV|!k+Opj2Q__xxzrs^^HtE!3jxWZ_v1fkEV_pD+cbDD5VG`( z7BRoNf0t>|NtNldR<7FEX}7wreLg;@dXH}x-O$qltf%ms)A-UHc5CT&AC;B+`@_PG zY@E+p;>SU23bQdSF|X2PsBtAZm)4umXr5a(fz$Z{iRKX#=*$t>?m3rTB}|20x-878 z;8j@9n2+MO8Xt>$?@W^`sk~i|PKy@nyjEHOZ5Qq=X&He*TYj$r+taSH1n7f+WvvYD zOOCamA4Jb#xPpo~%l*|OkHpj3ZGinb{Z?NIuo3OgY=wst0r?#`tzmhy#??)u?<4Fm zv77~AHAnu$dp`FEm-N%_Z(V694|`ilh3Vh<9Q`fTS^F1^3KORb)fNq$HCrNzo=9CG z-}2QObGT?xr$yzOlKv8haNU}AupT(R;jV_MR!BeVA5f?^I8foh2xZuyY+D`s9Psiw&^;i&mmtHPtIa-|`J;=-K*h6QCS!-hEAhs*6^4l0=C#UD+DJn%uu2p_kzr^K?>^n}@if(U$AnU(ML&bi@)?myRN>;7!0Uz%%Wcm>90yhb0Dr(QK7f+x8Z{bnrGh9UZJlBx z{f=76S09#+RsxPe?&pihKbuwgx4#f?{}tlxXH#|71MH_$`CYGG4GdYI9<}bQ)tgih zNGFoOGgNQY&GL0$WL1Ma zc8>I2Ul_iA+l>33KRBP;mEe)$MXoXA1`2L1I;*;4nx0{-FWJ}pf*N=BqKM<44;$h1 zahLrc07{q?Q?NuG^yNV#3Sm#q_7^DYieAxgHdBRgmG!~B>;8MbS1UBwQO=}Qw)uE^ zmV+B4aUWKBP=aG{stQ?Be7_zzxci~UofTWaeKF+n`Pqbfm%9)5Iti3B;3H}Qm_}

d!qd*lxE37X-G7HY2XL$3bOU~tywa&TQZdAv!s|2@3nY1tFNE-3z zBKv1^Yh}x+AVLjNkZDR)`YZ?cB9#gs-vPTc-U(|V}b)7(2D1QsNtT_6;8~IK|uSjUtcRyUMVIwbQ zG7Z_$?`M~TTrE+PYd^V`(rRLU&K#l<^$N!0jP!jg?LrtG%wAub#9p^AVz8~^bY}8o z>=~1}+wTRMhx8W+IB(e6fCFfiYi^ga-D4_XuSg#&hPgOPDs%l%6T0-jeHmi>5!>5W zJ~gJ(8C2IcN(8rtsomRP^F{5#H0$A)@vtKPuKKlts;ud&z=a{Cmp9KH4VSt+wDFmKkfupBmV~O0s4d872z%WwZO;pI) zVvnUik0obsN*&BYmX%&rX`^&D99nHHFg-;0O*Qi#{4Ilq zh)MB19Sxd6d}*ae9}Cz=qQ-BGF0i+Z-3z}#FbxI3*tSI=4@&+%j>&jY7VFlXr)@6} zBU(W2IKRC~PfGXMrtyiFhG>vw$CLq^E7U}Nl?(4l3O+N<4-c{)imC_f!X`MP@A52A zRJ!er0^C_CvxzNsnUF2-0klt13%n1REU2IDGG$B;5238d*fr61E^xHGZgO@v#8BeG zwwo%)N?4A6^Y#h;RP_wOa^{S{oX7x z5!(dM4R@U)luzalGk-eoN{M;}?B^(k-73yNPFWEV2>6OnWHn9Z1puoOU{6S5!WU}M zOx_#7ZiLa*FFKQSm1GNUd{aD+mT`(5!6ulOK!S7uA0FsF6 z5ze{S zSOu+Npj1As0EEK|g<=K;xBAt-@E5rZSE5+BU0b0!o~`FS0iP}Xw=Wzn8LD9ooUQrq z<+5@*R48rx?)lsjJBHY^?#}{Rn8%hW8y!Oi0L6k7A}J z5K>X#!VtTQiIr(OAqb}-)|P?#T`Fyu_8h`r=@S5AA_%JsemVsTNbdHxsJiumt8Mb; z)vmAyuj5pV9 z{b9%pUSE#q^#CERJLT?fwj7~`Ep^uRZ9m$uHB$t$86EAK+rDMu(0dyvGeCsv?y7;-`wG_+DuQggL8_^F)#_`>1c zk4b*t9x{B$@&J31CJ|Z1+sqgB|COF68AmD6wvbu>pQ6Q{|1z=t|FawZolpJi)Ha+K z`4t2Iih%)ZTR1OUAQ^FnHyII-`w?-++?n!vsR-PV%8M}K1Aa{n&k>^?`)PPhMd*vQ zDgw6JH0<OfV&Z2I%Ds-S{->4L-S)uVbC4l-4~FM?fZe5qMv8) zurC3&1iH)3;8_WTCc8xc@n_*4v%$|e75kp5OGh~1G94qoO#AC8O!Eb7f5%LMuqBb! zt9JeLvWleqSdey$M5=PAc>DMkm*JEvVK{5ty>F()iR|;7E6$Af@fq%uo zzhdBDG4QV#_*V@4@0dP*J^=iRfq%uozhdBDG4LPl!LJzjR}B0s2L2TT|B8Ws_K!fZ z@_(p4_Mc+l-Nr0MP1~afK1ezVA9GRe$qwkKEV-R_Io0*B8IxM%`Wu@yhUNQo9ew68 zUy7>q@{=}Zvg&`N^Y1uK7do%V)13tc&0tx)1%3^s6`azR%fjG4e=M&L08rMCCGXrH zFQub<{^V!+`~UWZbyESMn4LkSSYM5u*_}OfyS`_%iakoIZq=L58tFurjtu-UIzQww z$xQ7z+JJBtr5h!#g~Z9|{ZR)!`ua1uvu9-wN>su4wpFDqZ9B9z^sXYV+ Date: Fri, 20 Jan 2023 16:39:05 -0800 Subject: [PATCH 004/102] wufbds reorg --- .../update/includes/wufb-deployment-graph-explorer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index fd82db4ad9..8cfc4924b1 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium --- -For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](https://learn.microsoft.com/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](https://docs.microsoft.com/graph/graph-explorer/overview). +For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). > [!WARNING] > Using a test tenant for tutorials is recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. From b046e3939c9504d8b51cc3e963953185b12b36d3 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 23 Jan 2023 15:27:45 -0800 Subject: [PATCH 005/102] add queries for devices --- .../update/deployment-service-drivers.md | 8 +++- .../deployment-service-expedited-updates.md | 5 +++ .../deployment-service-feature-updates.md | 7 +++- .../wufb-deployment-find-device-name.md | 36 ++++++++++++++++++ .../wufb-deployment-graph-explorer.md | 4 +- ...deployment-service-graph-modify-header.png | Bin 0 -> 79340 bytes ...512398-wufbds-graph-modify-permission.png} | Bin 7 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-find-device-name.md create mode 100644 windows/deployment/update/media/7512398-deployment-service-graph-modify-header.png rename windows/deployment/update/media/{wufbds-graph-modify-permission.png => 7512398-wufbds-graph-modify-permission.png} (100%) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 9306660954..76fa41480a 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -26,4 +26,10 @@ In this tutorial, you will: ## Open Graph Explorer -[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] + +## Run queries to identify test devices + + +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] + diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index a8ba04d28f..a886d3b539 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -29,3 +29,8 @@ In this tutorial, you will: [!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] + +## Run queries to identify test devices + + +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index e1f9d5e2d9..3f888d0fb9 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -24,4 +24,9 @@ In this tutorial, you will: ## Open Graph Explorer -[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] + +## Run queries to identify test devices + + +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] \ No newline at end of file diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name.md b/windows/deployment/update/includes/wufb-deployment-find-device-name.md new file mode 100644 index 0000000000..461af6da9d --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name.md @@ -0,0 +1,36 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.prod: w10 +ms.collection: M365-modern-desktop +ms.topic: include +ms.date: 08/18/2022 +ms.localizationpriority: medium +--- + + +You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. + +Displays the AzureAD ID and name of all devices:
+ `GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName` + +Displays the AzureAD ID for a device name that starts with `Test`:
+ `GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName, 'Test')&$select=deviceid,displayName` + +### Add a request header + +For the next requests, set the **ConsistencyLevel** header to `eventual`. For more information about advanced query parameters, see [Advanced query capabilities on Azure AD directory objects](/graph/aad-advanced-queries). + +1. In Graph Explorer, select the **Request headers** tab. +1. For **Key** type in `ConsistencyLevel` then type `eventual` for **Value**. +1. Select the **Add** button. When you're finished, remove the request header by selecting the trash can icon. + + :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer"::: + +Displays the name and operating system version for the device that has the AzureAD ID of `44bb2fa1-5bfe-44c7-9221-9c8ed64e1076`:
+ `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:44bb2fa1-5bfe-44c7-9221-9c8ed64e1076"?$select=displayName,operatingSystemVersion` + +Find devices that don't have virtual machine listed as the model and that have a manufacturer listed:
+`GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` + diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 8cfc4924b1..bca691a415 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -8,7 +8,7 @@ ms.topic: include ms.date: 08/18/2022 ms.localizationpriority: medium --- - + For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). @@ -20,6 +20,6 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft 1. Select the **Modify permissions** tab in Graph Explorer. 1. In the permissions dialog box, select the **WindowsUpdates.ReadWrite.All** permission then select **Consent**. You may need to sign in again to grant consent. - :::image type="content" source="../media/wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer"::: + :::image type="content" source="../media/7512398-wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer"::: diff --git a/windows/deployment/update/media/7512398-deployment-service-graph-modify-header.png b/windows/deployment/update/media/7512398-deployment-service-graph-modify-header.png new file mode 100644 index 0000000000000000000000000000000000000000..44fb8ee6ab00d8f9254163a927cfe82f52f7b235 GIT binary patch literal 79340 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/update/media/wufbds-graph-modify-permission.png b/windows/deployment/update/media/7512398-wufbds-graph-modify-permission.png similarity index 100% rename from windows/deployment/update/media/wufbds-graph-modify-permission.png rename to windows/deployment/update/media/7512398-wufbds-graph-modify-permission.png From 4848b3052abd81add45ac74f3833b21fa6dec710 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 23 Jan 2023 15:30:41 -0800 Subject: [PATCH 006/102] add queries for devices --- .../deployment/update/deployment-service-expedited-updates.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index a886d3b539..00ab2aa130 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -24,6 +24,7 @@ In this tutorial, you will: ## Prerequisites +? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed ate the moment? ## Open Graph Explorer From 93dbb1ad9bac62d1cef0baf91c96d03643c681cd Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 23 Jan 2023 15:57:41 -0800 Subject: [PATCH 007/102] eod add --- .../update/includes/wufb-deployment-graph-explorer.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index bca691a415..9cfa2531d7 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -22,4 +22,8 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft :::image type="content" source="../media/7512398-wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer"::: - +1. To make requests: + 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP verb. + 1. + 1. If you need to modify the request body, you can do so in the **Request body** tab. + 1. Select the **Run query** button. The results will appear in the **Response** window. From 8af7b32e0e5e97acf039f7b7910037d9b47fc76d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 24 Jan 2023 10:40:17 -0800 Subject: [PATCH 008/102] edits --- .../update/deployment-service-expedited-updates.md | 2 +- .../update/includes/wufb-deployment-find-device-name.md | 8 +++++--- .../update/includes/wufb-deployment-graph-explorer.md | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 00ab2aa130..bce65e4707 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -24,7 +24,7 @@ In this tutorial, you will: ## Prerequisites -? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed ate the moment? +? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed at the moment? ## Open Graph Explorer diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name.md b/windows/deployment/update/includes/wufb-deployment-find-device-name.md index 461af6da9d..3dcb2f89cd 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name.md @@ -18,18 +18,20 @@ Displays the AzureAD ID and name of all devices:
Displays the AzureAD ID for a device name that starts with `Test`:
`GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName, 'Test')&$select=deviceid,displayName` + + ### Add a request header For the next requests, set the **ConsistencyLevel** header to `eventual`. For more information about advanced query parameters, see [Advanced query capabilities on Azure AD directory objects](/graph/aad-advanced-queries). 1. In Graph Explorer, select the **Request headers** tab. -1. For **Key** type in `ConsistencyLevel` then type `eventual` for **Value**. +1. For **Key** type in `ConsistencyLevel` and for **Value**, type `eventual`. 1. Select the **Add** button. When you're finished, remove the request header by selecting the trash can icon. :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer"::: -Displays the name and operating system version for the device that has the AzureAD ID of `44bb2fa1-5bfe-44c7-9221-9c8ed64e1076`:
- `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:44bb2fa1-5bfe-44c7-9221-9c8ed64e1076"?$select=displayName,operatingSystemVersion` +Displays the name and operating system version for the device that has the AzureAD ID of `01234567-89ab-cdef-0123-456789abcdef`:
+ `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` Find devices that don't have virtual machine listed as the model and that have a manufacturer listed:
`GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 9cfa2531d7..cef28edb38 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -24,6 +24,6 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft 1. To make requests: 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP verb. - 1. - 1. If you need to modify the request body, you can do so in the **Request body** tab. + 1. Enter the request into the URL field. + 1. If you need to modify the request body, edit the **Request body** tab. 1. Select the **Run query** button. The results will appear in the **Response** window. From a081b9da824df7fb2d994164c88403844a34770d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 24 Jan 2023 16:00:48 -0800 Subject: [PATCH 009/102] edits --- .../update/deployment-service-drivers.md | 8 ++-- .../deployment-service-expedited-updates.md | 17 ++++++-- .../deployment-service-feature-updates.md | 4 +- .../includes/wufb-deployment-enroll-device.md | 40 +++++++++++++++++++ .../wufb-deployment-find-device-name.md | 31 +++++++++----- .../wufb-deployment-graph-explorer.md | 6 +-- 6 files changed, 83 insertions(+), 23 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-enroll-device.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 76fa41480a..ca38f4ce00 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -15,13 +15,13 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** - In this tutorial, you will: > [!div class="checklist"] -> * Do X -> * Do Y +> * [Open Graph Explorer](#open-graph-explorer) +> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> * [Enroll devices](#enroll-devices) +> * Do Z > * Do Z - ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index bce65e4707..c48849a5d0 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -17,8 +17,8 @@ ms.date: 02/14/2023 In this tutorial, you will: > [!div class="checklist"] -> * Do X -> * Do Y +> * [Open Graph Explorer](#open-graph-explorer) +> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) > * Do Z @@ -34,4 +34,15 @@ In this tutorial, you will: ## Run queries to identify test devices -[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] + +## Enroll devices + + +## List updates in the catalog that can be expedited + +1. Query the catalog to find updates that can be expedited, For example, query for all security updates that can be deployed as expedited updates by the deployment service. Using `$top=3` and ordering by `ReleaseDateTimeshows` displays the three most current updates. + +``` +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=3 +``` \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 3f888d0fb9..690f7857af 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -17,8 +17,8 @@ ms.date: 02/14/2023 In this tutorial, you will: > [!div class="checklist"] -> * Do X -> * Do Y +> * [Open Graph Explorer](#open-graph-explorer) +> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) > * Do Z ## Open Graph Explorer diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device.md b/windows/deployment/update/includes/wufb-deployment-enroll-device.md new file mode 100644 index 0000000000..e06d2d6f1f --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device.md @@ -0,0 +1,40 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + + +You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`drivers`). You can enroll devices to receive updates from multiple update classifications. + +- As long as a device remains enrolled in feature update management, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. +- When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. + + +```rest + +POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets +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" + }, + { + "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", + "id": "01234567-89ab-cdef-0123-456789abcde1" + } + ] +} +``` diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name.md b/windows/deployment/update/includes/wufb-deployment-find-device-name.md index 3dcb2f89cd..6dc2e06236 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name.md @@ -2,23 +2,27 @@ author: mestew ms.author: mstewart manager: aaroncz -ms.prod: w10 -ms.collection: M365-modern-desktop +ms.technology: itpro-updates +ms.prod: windows-client ms.topic: include -ms.date: 08/18/2022 +ms.date: 02/14/2023 ms.localizationpriority: medium --- You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. -Displays the AzureAD ID and name of all devices:
- `GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName` +Displays the AzureAD ID and name of all devices: -Displays the AzureAD ID for a device name that starts with `Test`:
- `GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName, 'Test')&$select=deviceid,displayName` +```rest +GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName +``` +Displays the AzureAD ID for a device name that starts with `Test`: +```rest +GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName +``` ### Add a request header @@ -30,9 +34,14 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer"::: -Displays the name and operating system version for the device that has the AzureAD ID of `01234567-89ab-cdef-0123-456789abcdef`:
- `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` +Displays the name and operating system version for the device that has the AzureAD ID of `01234567-89ab-cdef-0123-456789abcdef`: -Find devices that don't have virtual machine listed as the model and that have a manufacturer listed:
-`GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` +```rest +GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion +``` +Find devices that don't have virtual machine listed as the model and that have a manufacturer listed: + +```rest +GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion +``` diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index cef28edb38..468bd45373 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -2,10 +2,10 @@ author: mestew ms.author: mstewart manager: aaroncz -ms.prod: w10 -ms.collection: M365-modern-desktop +ms.technology: itpro-updates +ms.prod: windows-client ms.topic: include -ms.date: 08/18/2022 +ms.date: 02/14/2023 ms.localizationpriority: medium --- From d30ca671eebb9ffd944624e1250e17be32aa0d22 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 08:57:19 -0800 Subject: [PATCH 010/102] edits --- windows/deployment/update/deployment-service-drivers.md | 8 +++++++- .../update/deployment-service-expedited-updates.md | 2 +- .../update/deployment-service-feature-updates.md | 9 ++++++++- ...d => wufb-deployment-enroll-device-graph-explorer.md} | 7 ++----- ...> wufb-deployment-find-device-name-graph-explorer.md} | 7 ++++--- 5 files changed, 22 insertions(+), 11 deletions(-) rename windows/deployment/update/includes/{wufb-deployment-enroll-device.md => wufb-deployment-enroll-device-graph-explorer.md} (64%) rename windows/deployment/update/includes/{wufb-deployment-find-device-name.md => wufb-deployment-find-device-name-graph-explorer.md} (90%) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index ca38f4ce00..5bfce6c8ad 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -31,5 +31,11 @@ In this tutorial, you will: ## Run queries to identify test devices -[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] +## Enroll devices + +When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. + + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index c48849a5d0..c394e42638 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -34,7 +34,7 @@ In this tutorial, you will: ## Run queries to identify test devices -[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] ## Enroll devices diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 690f7857af..7ba0d5c1bd 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -29,4 +29,11 @@ In this tutorial, you will: ## Run queries to identify test devices -[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] + +## Enroll devices + +As long as a device remains enrolled in feature update management, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. + + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] \ No newline at end of file diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md similarity index 64% rename from windows/deployment/update/includes/wufb-deployment-enroll-device.md rename to windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index e06d2d6f1f..d1a4b72c67 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -10,12 +10,9 @@ ms.localizationpriority: medium --- -You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`drivers`). You can enroll devices to receive updates from multiple update classifications. - -- As long as a device remains enrolled in feature update management, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. -- When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. - +You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. +1. ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md similarity index 90% rename from windows/deployment/update/includes/wufb-deployment-find-device-name.md rename to windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 6dc2e06236..e985f88f6a 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -12,13 +12,13 @@ ms.localizationpriority: medium You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. -Displays the AzureAD ID and name of all devices: +Displays the AzureAD device ID and name of all devices: ```rest GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName ``` -Displays the AzureAD ID for a device name that starts with `Test`: +Displays the AzureAD device ID for a device name that starts with `Test`: ```rest GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName @@ -34,7 +34,7 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer"::: -Displays the name and operating system version for the device that has the AzureAD ID of `01234567-89ab-cdef-0123-456789abcdef`: +Displays the name and operating system version for the device that has the AzureAD device ID of `01234567-89ab-cdef-0123-456789abcdef`: ```rest GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion @@ -45,3 +45,4 @@ Find devices that don't have virtual machine listed as the model and that have a ```rest GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion ``` + From a3659897e05973cc4d6691964485cd1a042a7453 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 11:24:24 -0800 Subject: [PATCH 011/102] edits --- ...deployment-enroll-device-graph-explorer.md | 40 +++++++++++++++++- ...loyment-find-device-name-graph-explorer.md | 16 ++++--- .../wufb-deployment-graph-explorer.md | 2 +- .../7512398-deployment-enroll-asset-graph.png | Bin 0 -> 162140 bytes 4 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 windows/deployment/update/media/7512398-deployment-enroll-asset-graph.png diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index d1a4b72c67..70eaace55a 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -12,7 +12,45 @@ ms.localizationpriority: medium You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. -1. +1. To enroll devices, you'll POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [enrollAssets](/graph/api/windowsupdates-updatableasset-enrollassets). The following example enrolls three devices to receive driver updates: + 1. In Graph Explorer, select **POST** from the drop-down list for the HTTP verb. + 1. Enter the following request into the URL field:
+ `https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets` + 1. In the **Request body** tab, enter the following JSON, supplying the following information: + - **Azure AD Device ID** as `id` + - Either `feature` or `driver` for the updateCategory + + ```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" + }, + { + "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", + "id": "01234567-89ab-cdef-0123-456789abcde1" + } + ] + } + ``` + + 1. Select the **Run query** button. The results will appear in the **Response** window. In this case, the status code of [202 Accepted](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success). + + :::image type="content" source="../media/7512398-deployment-enroll-asset-graph.png" alt-text="Screenshot of successfully enrolling assets through Graph Explorer." lightbox="../media/7512398-deployment-enroll-asset-graph.png" ::: + + + + + + + + ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index e985f88f6a..2775e0199b 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -12,13 +12,19 @@ ms.localizationpriority: medium You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. -Displays the AzureAD device ID and name of all devices: +> [!Tip] +> Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: +> - The `deviceid` is the **Azure AD Device ID** and will be used in this tutorial. +> - Later in this tutorial, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. +> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID and it won't be used in this tutorial. + +Displays the **AzureAD Device ID** and **Name** of all devices: ```rest GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName ``` -Displays the AzureAD device ID for a device name that starts with `Test`: +Displays the **AzureAD Device ID** and **Name** for device names that starts with `Test`: ```rest GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName @@ -32,15 +38,15 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo 1. For **Key** type in `ConsistencyLevel` and for **Value**, type `eventual`. 1. Select the **Add** button. When you're finished, remove the request header by selecting the trash can icon. - :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer"::: + :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer" lightbox="../media/7512398-deployment-service-graph-modify-header.png"::: -Displays the name and operating system version for the device that has the AzureAD device ID of `01234567-89ab-cdef-0123-456789abcdef`: +Displays the **Name** and **Operating system version** for the device that has the **AzureAD Device ID** of `01234567-89ab-cdef-0123-456789abcdef`: ```rest GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion ``` -Find devices that don't have virtual machine listed as the model and that have a manufacturer listed: +Find devices that don't have virtual machine listed as the model and that have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: ```rest GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 468bd45373..511d4f5402 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -20,7 +20,7 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft 1. Select the **Modify permissions** tab in Graph Explorer. 1. In the permissions dialog box, select the **WindowsUpdates.ReadWrite.All** permission then select **Consent**. You may need to sign in again to grant consent. - :::image type="content" source="../media/7512398-wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer"::: + :::image type="content" source="../media/7512398-wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer" lightbox="../media/7512398-wufbds-graph-modify-permission.png" ::: 1. To make requests: 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP verb. diff --git a/windows/deployment/update/media/7512398-deployment-enroll-asset-graph.png b/windows/deployment/update/media/7512398-deployment-enroll-asset-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..9d0310652a23c24028a47961db4a1a39ff65866e GIT binary patch literal 162140 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 U^o_)gzXGqXWAd=({`2?$177O(%m4rY literal 0 HcmV?d00001 From 202f51c672bd5df148f9228c770e4c5359b95fbd Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 13:33:32 -0800 Subject: [PATCH 012/102] edits --- ...wufb-deployment-find-device-name-graph-explorer.md | 11 +++++------ .../update/includes/wufb-deployment-graph-explorer.md | 6 ++++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 2775e0199b..02e1f20cc0 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -12,12 +12,6 @@ ms.localizationpriority: medium You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. -> [!Tip] -> Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: -> - The `deviceid` is the **Azure AD Device ID** and will be used in this tutorial. -> - Later in this tutorial, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. -> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID and it won't be used in this tutorial. - Displays the **AzureAD Device ID** and **Name** of all devices: ```rest @@ -52,3 +46,8 @@ Find devices that don't have virtual machine listed as the model and that have a GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion ``` +> [!Tip] +> Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: +> - The `deviceid` is the **Azure AD Device ID** and will be used in this tutorial. +> - Later in this tutorial, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. +> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID and it won't be used in this tutorial. diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 511d4f5402..0c4d86b149 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -23,7 +23,9 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft :::image type="content" source="../media/7512398-wufbds-graph-modify-permission.png" alt-text="Screenshot of the modify permissions tab in Graph Explorer" lightbox="../media/7512398-wufbds-graph-modify-permission.png" ::: 1. To make requests: - 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP verb. - 1. Enter the request into the URL field. + 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP method. + 1. Enter the request into the URL field. The version will populate automatically based on the URL 1. If you need to modify the request body, edit the **Request body** tab. 1. Select the **Run query** button. The results will appear in the **Response** window. + + > [!TIP] When reviewing [Microsoft Graph documentation](/graph/), you may notice example requests usually list `Content-type: application/json`. Specifying `content-type` typically isn't required for Graph Explorer, but you can add it to the request by selecting the **Headers** tab and adding the `content-type` to the **Request headers** field as the **Key** and `application/json` as the **Value**. From b80aafa463f8a3c7be5ab7ea7b176cca365694c1 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 14:09:06 -0800 Subject: [PATCH 013/102] edits --- .../update/deployment-service-drivers.md | 7 +++++++ .../deployment-service-expedited-updates.md | 5 +++++ .../update/deployment-service-feature-updates.md | 7 +++++++ ...deployment-find-device-name-graph-explorer.md | 4 ++-- .../includes/wufb-deployment-graph-explorer.md | 5 +++-- .../wufb-deployment-tutorial-permissions.md | 16 ++++++++++++++++ 6 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 5bfce6c8ad..c8a29a1586 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -23,6 +23,13 @@ In this tutorial, you will: > * Do Z > * Do Z +## Prerequisites + +### Permissions + + +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] + ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index c394e42638..7a21b4a50f 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -26,6 +26,11 @@ In this tutorial, you will: ? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed at the moment? +### Permissions + + +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] + ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 7ba0d5c1bd..18c90eb594 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -21,6 +21,13 @@ In this tutorial, you will: > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) > * Do Z +## Prerequisites + +### Permissions + + +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] + ## Open Graph Explorer diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 02e1f20cc0..8be06bc49a 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium --- -You will need at least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. + Displays the **AzureAD Device ID** and **Name** of all devices: @@ -50,4 +50,4 @@ GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' > Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: > - The `deviceid` is the **Azure AD Device ID** and will be used in this tutorial. > - Later in this tutorial, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. -> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID and it won't be used in this tutorial. +> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID, which won't be used in this tutorial. diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 0c4d86b149..2a51ba52d4 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -24,8 +24,9 @@ For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft 1. To make requests: 1. Select either GET, POST, PUT, PATCH, or DELETE from the drop-down list for the HTTP method. - 1. Enter the request into the URL field. The version will populate automatically based on the URL + 1. Enter the request into the URL field. The version will populate automatically based on the URL. 1. If you need to modify the request body, edit the **Request body** tab. 1. Select the **Run query** button. The results will appear in the **Response** window. - > [!TIP] When reviewing [Microsoft Graph documentation](/graph/), you may notice example requests usually list `Content-type: application/json`. Specifying `content-type` typically isn't required for Graph Explorer, but you can add it to the request by selecting the **Headers** tab and adding the `content-type` to the **Request headers** field as the **Key** and `application/json` as the **Value**. + > [!TIP] + > When reviewing [Microsoft Graph documentation](/graph/), you may notice example requests usually list `Content-type: application/json`. Specifying `content-type` typically isn't required for Graph Explorer, but you can add it to the request by selecting the **Headers** tab and adding the `content-type` to the **Request headers** field as the **Key** and `application/json` as the **Value**. diff --git a/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md b/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md new file mode 100644 index 0000000000..b1f494a758 --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md @@ -0,0 +1,16 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + + +The following permissions are needed for the tutorial: + +- [WindowsUpdates.ReadWrite.All](/graph/permissions-reference#windows-updates-permissions) for [Windows Update for Business deployment service](/graph/api/resources/windowsupdates) operations. +- At least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. \ No newline at end of file From 7a6f02a66eed7d5df0160816425eb9ebcb968752 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 15:03:58 -0800 Subject: [PATCH 014/102] edits --- .../update/deployment-service-drivers.md | 2 +- .../deployment-service-expedited-updates.md | 2 +- .../deployment-service-feature-updates.md | 2 +- .../update/deployment-service-overview.md | 13 ++++---- .../update/deployment-service-troubleshoot.md | 5 +-- ...deployment-enroll-device-graph-explorer.md | 32 +------------------ ...loyment-find-device-name-graph-explorer.md | 4 +-- .../wufb-deployment-tutorial-permissions.md | 6 ++-- 8 files changed, 18 insertions(+), 48 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index c8a29a1586..97384994e0 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -28,7 +28,7 @@ In this tutorial, you will: ### Permissions -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 7a21b4a50f..b91cc15f39 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -29,7 +29,7 @@ In this tutorial, you will: ### Permissions -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 18c90eb594..d69fee53cf 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -26,7 +26,7 @@ In this tutorial, you will: ### Permissions -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md.md)] +[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 7ef4804c87..f74ac54e66 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -15,10 +15,7 @@ ms.date: 12/31/2017 # Windows Update for Business deployment service -**Applies to** - -- Windows 10 -- Windows 11 +***(Applies to: Windows 11 & Windows 10)*** The Windows Update for Business deployment service is a cloud service within the Windows Update for Business product family. It provides control over the approval, scheduling, and safeguarding of updates delivered from Windows Update. It's designed to work in harmony with your existing Windows Update for Business policies. @@ -58,8 +55,11 @@ The deployment service exposes these capabilities through Microsoft [Graph REST To work with the deployment service, devices must meet all these requirements: -- Be running Windows 10, version 1709 or later (or Windows 11) -- Be joined to Azure Active Directory (AD) or Hybrid AD +- Devices must be [Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join) or [hybrid Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join-hybrid) +- Run one of the following operating systems: + - Windows 11 + - Windows 10, version 1709 or later + - Have one of the following Windows 10 or Windows 11 editions installed: - Pro - Enterprise @@ -68,6 +68,7 @@ To work with the deployment service, devices must meet all these requirements: - Pro for Workstations Additionally, your organization must have one of the following subscriptions: + - Windows 10/11 Enterprise E3 or E5 (included in Microsoft 365 F3, E3, or E5) - Windows 10/11 Education A3 or A5 (included in Microsoft 365 A3 or A5) - Windows Virtual Desktop Access E3 or E5 diff --git a/windows/deployment/update/deployment-service-troubleshoot.md b/windows/deployment/update/deployment-service-troubleshoot.md index f584bbae71..e97748686c 100644 --- a/windows/deployment/update/deployment-service-troubleshoot.md +++ b/windows/deployment/update/deployment-service-troubleshoot.md @@ -15,10 +15,7 @@ ms.date: 12/31/2017 # Troubleshoot the Windows Update for Business deployment service -**Applies to** - -- Windows 10 -- Windows 11 +***(Applies to: Windows 11 & Windows 10)*** This troubleshooting guide addresses the most common issues that IT administrators face when using the Windows Update for Business [deployment service](deployment-service-overview.md). For a general troubleshooting guide for Windows Update, see [Windows Update troubleshooting](/troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json). diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index 70eaace55a..24f11868a3 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -12,7 +12,7 @@ ms.localizationpriority: medium You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. -1. To enroll devices, you'll POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [enrollAssets](/graph/api/windowsupdates-updatableasset-enrollassets). The following example enrolls three devices to receive driver updates: +1. To enroll devices, POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [enrollAssets](/graph/api/windowsupdates-updatableasset-enrollassets). The following example enrolls three devices to receive driver updates: 1. In Graph Explorer, select **POST** from the drop-down list for the HTTP verb. 1. Enter the following request into the URL field:
`https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets` @@ -43,33 +43,3 @@ You enroll devices based on the types of updates you want them to recieve.Curren 1. Select the **Run query** button. The results will appear in the **Response** window. In this case, the status code of [202 Accepted](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success). :::image type="content" source="../media/7512398-deployment-enroll-asset-graph.png" alt-text="Screenshot of successfully enrolling assets through Graph Explorer." lightbox="../media/7512398-deployment-enroll-asset-graph.png" ::: - - - - - - - - -```rest - -POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets -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" - }, - { - "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", - "id": "01234567-89ab-cdef-0123-456789abcde1" - } - ] -} -``` diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 8be06bc49a..3e64a0ecf5 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium --- - +Use the [device](/graph/api/resources/device) resource type to find clients to enroll into the deployment service. Change the query parameters to fit your specific needs. For more information, see [Use query parameters](/graph/query-parameters). Displays the **AzureAD Device ID** and **Name** of all devices: @@ -40,7 +40,7 @@ Displays the **Name** and **Operating system version** for the device that has t GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion ``` -Find devices that don't have virtual machine listed as the model and that have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: +To find devices that likely aren't virtual machines, filter for devices that don't have virtual machine listed as the model but do have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: ```rest GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion diff --git a/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md b/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md index b1f494a758..f2da67046b 100644 --- a/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md +++ b/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md @@ -10,7 +10,9 @@ ms.localizationpriority: medium --- -The following permissions are needed for the tutorial: +The following permissions are needed for the tutorial: - [WindowsUpdates.ReadWrite.All](/graph/permissions-reference#windows-updates-permissions) for [Windows Update for Business deployment service](/graph/api/resources/windowsupdates) operations. -- At least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. \ No newline at end of file +- At least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. + +Some roles, such as the [Windows Update deployment administrator](/azure/active-directory/roles/permissions-reference#windows-update-deployment-administrator), already have these permissions. From 294e11e72ad0ca7d2ee8455ce77401594fdb86f8 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 15:07:29 -0800 Subject: [PATCH 015/102] edits --- windows/deployment/update/deployment-service-drivers.md | 8 +++++--- .../update/deployment-service-expedited-updates.md | 2 ++ .../update/deployment-service-feature-updates.md | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 97384994e0..a511c7cde8 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -17,14 +17,15 @@ ms.date: 02/14/2023 In this tutorial, you will: > [!div class="checklist"] -> * [Open Graph Explorer](#open-graph-explorer) +> * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) -> * [Enroll devices](#enroll-devices) +> * [Enroll devices](#enroll-devices) > * Do Z > * Do Z ## Prerequisites +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. ### Permissions @@ -45,4 +46,5 @@ In this tutorial, you will: When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. -[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] + diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index b91cc15f39..8650f264e9 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -26,6 +26,8 @@ In this tutorial, you will: ? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed at the moment? +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. + ### Permissions diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index d69fee53cf..1a703e5660 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -23,6 +23,7 @@ In this tutorial, you will: ## Prerequisites +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. ### Permissions From 07ab0afe41fbb785c276545f2574fd3755fc30d3 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 15:44:56 -0800 Subject: [PATCH 016/102] edits, add new incluyde --- .../update/deployment-service-drivers.md | 6 +++ .../deployment-service-feature-updates.md | 8 +++- ...deployment-enroll-device-graph-explorer.md | 2 +- .../wufb-deployment-graph-unenroll.md | 41 +++++++++++++++++++ 4 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-graph-unenroll.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index a511c7cde8..97477fbb0e 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -48,3 +48,9 @@ When you enroll devices into driver management, the deployment service becomes t [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] + + +## Remove device enrollment + + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 1a703e5660..b9b6c71b1b 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -44,4 +44,10 @@ All of the [prerequisites for the Windows Update for Business deployment service As long as a device remains enrolled in feature update management, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. -[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] + + +## Remove device enrollment + + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] \ No newline at end of file diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index 24f11868a3..5ea333f440 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -8,7 +8,7 @@ ms.topic: include ms.date: 02/14/2023 ms.localizationpriority: medium --- - + You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md new file mode 100644 index 0000000000..6fd26c4782 --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -0,0 +1,41 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + + +When a device no longer needs to be managed by the deployment service, remove the enrollment it. Just like [enrolling a device](#enroll-devices), specify either `driver` or `feature` as the value for the `updateCategory`. The device will no longer receive updates from the deployment service for the specfied update category, even if it's still assigned to an active deployment. Depending on the device's configuration, it may start to receive updates from Windows Update. For instance, if a device is still enrolled for feature updates, but the enrollment for drivers is removed: +- Existing driver deployments from the service won't be installed +- The device will continue to receive feature updates from the deployment service +- Drivers may start being installed from Windows Update depending on the device's configuration + +To remove device enrollment,POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [unenrollAssets](/graph/api/windowsupdates-updatableasset-unenrollassets). In the request body, specify: +- **Azure AD Device ID** as `id` for the device +- Either `feature` or `driver` for the updateCategory + +The following example removes `driver` enrollment for two devices, `01234567-89ab-cdef-0123-456789abcdef` and `01234567-89ab-cdef-0123-456789abcde0`: + +```rest +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" + } + ] +} +``` From 4386d5f09700175f484aafc60ed314b92592cdd2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:41:22 -0800 Subject: [PATCH 017/102] edits, add new incluyde --- .../update/deployment-service-drivers.md | 17 +++++++++++++++++ .../deployment-service-feature-updates.md | 3 +++ ...eployment-find-device-name-graph-explorer.md | 2 +- .../includes/wufb-deployment-graph-unenroll.md | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 97477fbb0e..dd3b3a7828 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -22,6 +22,7 @@ In this tutorial, you will: > * [Enroll devices](#enroll-devices) > * Do Z > * Do Z +> * [Remove device enrollment](#remove-device-enrollment) ## Prerequisites @@ -48,8 +49,24 @@ When you enroll devices into driver management, the deployment service becomes t [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] +## Create an audience +```rest +POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences +content-type: application/json +{} +``` + +Returns a [201 Created] response with the following body: +```json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", + "id": "f0ec689b-fa10-4e45-965c-ce753f7d4363", + "reportingDeviceCount": 0, + "applicableContent": [] +} +``` ## Remove device enrollment diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index b9b6c71b1b..5c6a7a72c0 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -19,7 +19,10 @@ In this tutorial, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> * [Enroll devices](#enroll-devices) > * Do Z +> * Do Z +> * [Remove device enrollment](#remove-device-enrollment) ## Prerequisites diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 3e64a0ecf5..457be3217f 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -29,7 +29,7 @@ GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Tes For the next requests, set the **ConsistencyLevel** header to `eventual`. For more information about advanced query parameters, see [Advanced query capabilities on Azure AD directory objects](/graph/aad-advanced-queries). 1. In Graph Explorer, select the **Request headers** tab. -1. For **Key** type in `ConsistencyLevel` and for **Value**, type `eventual`. +1. For **Key** type in `ConsistencyLevel` and for **Value**, type `eventual`. 1. Select the **Add** button. When you're finished, remove the request header by selecting the trash can icon. :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer" lightbox="../media/7512398-deployment-service-graph-modify-header.png"::: diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index 6fd26c4782..9b026473fa 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -15,7 +15,7 @@ When a device no longer needs to be managed by the deployment service, remove th - The device will continue to receive feature updates from the deployment service - Drivers may start being installed from Windows Update depending on the device's configuration -To remove device enrollment,POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [unenrollAssets](/graph/api/windowsupdates-updatableasset-unenrollassets). In the request body, specify: +To remove device enrollment, POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [unenrollAssets](/graph/api/windowsupdates-updatableasset-unenrollassets). In the request body, specify: - **Azure AD Device ID** as `id` for the device - Either `feature` or `driver` for the updateCategory From ee47c2ad3d69ef1630e285a6402501ef02223dc3 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 20:27:17 -0800 Subject: [PATCH 018/102] edits --- .../update/deployment-service-drivers.md | 63 ++++++++++++++----- .../deployment-service-feature-updates.md | 2 +- ...deployment-enroll-device-graph-explorer.md | 40 ++++++------ 3 files changed, 68 insertions(+), 37 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index dd3b3a7828..c336974ab1 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -11,7 +11,7 @@ ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Deploy drivers and firmware updates with Windows Update for Business deployment service +# Tutorial: Deploy drivers and firmware updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** @@ -20,6 +20,8 @@ In this tutorial, you will: > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) > * [Enroll devices](#enroll-devices) +> * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) +> * Do Z > * Do Z > * Do Z > * [Remove device enrollment](#remove-device-enrollment) @@ -49,24 +51,53 @@ When you enroll devices into driver management, the deployment service becomes t [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] -## Create an audience +## Create a deployment audience and add audience members -```rest -POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences -content-type: application/json +1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. POST to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. + + ```rest + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences + content-type: application/json + + {} + ``` + + The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: + + ```json + { + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", + "id": "d39ad1ce-01234-5678-9abc-def012345678", + "reportingDeviceCount": 0, + "applicableContent": [] + } + ``` + +1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. + + ```rest + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-01234-5678-9abc-def012345678/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" + } + ] + } + ``` -{} -``` -Returns a [201 Created] response with the following body: -```json -{ - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", - "id": "f0ec689b-fa10-4e45-965c-ce753f7d4363", - "reportingDeviceCount": 0, - "applicableContent": [] -} -``` ## Remove device enrollment diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 5c6a7a72c0..9670fee85f 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -11,7 +11,7 @@ ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Deploy feature updates with Windows Update for Business deployment service +# Tutorial: Deploy feature updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index 5ea333f440..b95b1cc330 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -19,26 +19,26 @@ You enroll devices based on the types of updates you want them to recieve.Curren 1. In the **Request body** tab, enter the following JSON, supplying the following information: - **Azure AD Device ID** as `id` - Either `feature` or `driver` for the updateCategory - - ```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" - }, - { - "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", - "id": "01234567-89ab-cdef-0123-456789abcde1" - } - ] - } - ``` + + ```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" + }, + { + "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", + "id": "01234567-89ab-cdef-0123-456789abcde1" + } + ] + } + ``` 1. Select the **Run query** button. The results will appear in the **Response** window. In this case, the status code of [202 Accepted](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success). From 3cf165407b102798e13215d86f546ccf6d06b3f3 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 25 Jan 2023 22:49:05 -0800 Subject: [PATCH 019/102] edits --- .../update/deployment-service-drivers.md | 98 ++++++++++++++++++- .../wufb-deployment-graph-unenroll.md | 1 + 2 files changed, 96 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index c336974ab1..b4d5a56903 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -21,7 +21,7 @@ In this tutorial, you will: > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) > * [Enroll devices](#enroll-devices) > * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) -> * Do Z +> * [Create an update policy](#create-an-update-policy) > * Do Z > * Do Z > * [Remove device enrollment](#remove-device-enrollment) @@ -67,7 +67,7 @@ When you enroll devices into driver management, the deployment service becomes t ```json { "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", - "id": "d39ad1ce-01234-5678-9abc-def012345678", + "id": "d39ad1ce-0123-4567-89ab-cdef01234567", "reportingDeviceCount": 0, "applicableContent": [] } @@ -76,7 +76,7 @@ When you enroll devices into driver management, the deployment service becomes t 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. ```rest - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-01234-5678-9abc-def012345678/updateAudience + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience Content-type: application/json { @@ -97,6 +97,98 @@ When you enroll devices into driver management, the deployment service becomes t } ``` + + +## Create an update policy + +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) + +After devices are added to a deployment audience, you can create an [update policy](/graph/api/resources/windowsupdates-updatepolicy) that governs the deployment of content to the associated deployment audiences. The update policy is a high-level template so content can be deployed in a similar way for a given audience without having to create, manage, and relate individual deployments. Content is deployed to the devices in the associated audiences when a content approval is added to the policy. + +Create an update policy and assign an existing deployment audience to it. You can specify additional settings when you create the policy, or you can create a policy and define the settings later. + +To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: + + +```rest +POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies +Content-type: application/json +{ + "audience": { + "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" + } +} +``` + +Response, returning the **Policy ID** of `9011c330-1234-5678-9abc-def012345678` +```json +HTTP/1.1 202 Accepted +Content-type: application/json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", + "id": "9011c330-1234-5678-9abc-def012345678", + "createdDateTime": "2023-01-25T05:32:21.9721459Z", + "autoEnrollmentUpdateCategories": [], + "complianceChangeRules": [], + "deploymentSettings": { + "schedule": null, + "monitoring": null, + "contentApplicability": null, + "userExperience": null, + "expedite": null + } +} +``` + +Policy with settings example: + +```rest +POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies +Content-Type: application/json +Content-length: 835 + +{ + "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", + "audience": { + "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" + }, + "complianceChanges": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval" + } + ], + "complianceChangeRules": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApprovalRule", + "contentFilter": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateFilter" + }, + "durationBeforeDeploymentStart": "P7D" + } + ], + "deploymentSettings": { + "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", + "schedule": { + "gradualRollout": { + "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", + "durationBetweenOffers": "P1D", + "devicePerOffer": 1000 + } + } + } +} +``` + +**note to add info or change the above example to include the following, if possible.** + "deploymentSettings": { + "contentApplicability": { + "offerWhileRecommendedBy": ["Microsoft"], + + + + + + ## Remove device enrollment diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index 9b026473fa..3a04370fd4 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -39,3 +39,4 @@ Content-Type: application/json ] } ``` + From 2f49c2b1c3692486e615696ecb34a8bcff3c7922 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 26 Jan 2023 08:40:04 -0800 Subject: [PATCH 020/102] edits --- .../update/deployment-service-drivers.md | 140 +++++++++--------- 1 file changed, 72 insertions(+), 68 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index b4d5a56903..6551768ccf 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -17,14 +17,14 @@ ms.date: 02/14/2023 In this tutorial, you will: > [!div class="checklist"] -> * [Open Graph Explorer](#open-graph-explorer) -> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) -> * [Enroll devices](#enroll-devices) -> * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) -> * [Create an update policy](#create-an-update-policy) -> * Do Z -> * Do Z -> * [Remove device enrollment](#remove-device-enrollment) +> - [Open Graph Explorer](#open-graph-explorer) +> - [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> - [Enroll devices](#enroll-devices) +> - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) +> - [Create an update policy](#create-an-update-policy) +> - Do Z +> - Do Z +> - [Remove device enrollment](#remove-device-enrollment) ## Prerequisites @@ -101,26 +101,77 @@ When you enroll devices into driver management, the deployment service becomes t ## Create an update policy -Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to deployment audiences behave in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. When creating an update policy, you can either: -After devices are added to a deployment audience, you can create an [update policy](/graph/api/resources/windowsupdates-updatepolicy) that governs the deployment of content to the associated deployment audiences. The update policy is a high-level template so content can be deployed in a similar way for a given audience without having to create, manage, and relate individual deployments. Content is deployed to the devices in the associated audiences when a content approval is added to the policy. +- Create a policy and define the settings later -Create an update policy and assign an existing deployment audience to it. You can specify additional settings when you create the policy, or you can create a policy and define the settings later. + To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: -To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: + ```rest + POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies + Content-type: application/json + { + "audience": { + "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" + } + } + ``` +- Specify settings during policy creation -```rest -POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies -Content-type: application/json -{ - "audience": { - "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" - } -} + To create a policy with additional settings, in the request body: + - Specify the **Audience ID** as `id` + - Define any additional deployment or compliance [settings](beta/api/adminwindowsupdates-post-updatepolicies). /graph/api/resources/windowsupdates-updatepolicy + + In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: + + ```rest + POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies + Content-Type: application/json + Content-length: 835 + { + "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", + "audience": { + "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" + }, + "complianceChanges": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval" + } + ], + "complianceChangeRules": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApprovalRule", + "contentFilter": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateFilter" + }, + "durationBeforeDeploymentStart": "P7D" + } + ], + "deploymentSettings": { + "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", + "schedule": { + "gradualRollout": { + "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", + "durationBetweenOffers": "P1D", + "devicePerOffer": 1000 + } + } + } + } + ``` + +**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** +```dotnetcli + + "deploymentSettings": { + "contentApplicability": { + "offerWhileRecommendedBy": ["Microsoft"], ``` -Response, returning the **Policy ID** of `9011c330-1234-5678-9abc-def012345678` + +Response, returning the **Policy ID** of `9011c330-1234-5678-9abc-def0123456`: + ```json HTTP/1.1 202 Accepted Content-type: application/json @@ -140,53 +191,6 @@ Content-type: application/json } ``` -Policy with settings example: - -```rest -POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies -Content-Type: application/json -Content-length: 835 - -{ - "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", - "audience": { - "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" - }, - "complianceChanges": [ - { - "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval" - } - ], - "complianceChangeRules": [ - { - "@odata.type": "#microsoft.graph.windowsUpdates.contentApprovalRule", - "contentFilter": { - "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateFilter" - }, - "durationBeforeDeploymentStart": "P7D" - } - ], - "deploymentSettings": { - "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", - "schedule": { - "gradualRollout": { - "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", - "durationBetweenOffers": "P1D", - "devicePerOffer": 1000 - } - } - } -} -``` - -**note to add info or change the above example to include the following, if possible.** - "deploymentSettings": { - "contentApplicability": { - "offerWhileRecommendedBy": ["Microsoft"], - - - - From 32575ac1424b77a4e8260d85979266c85460b55c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 26 Jan 2023 14:39:41 -0800 Subject: [PATCH 021/102] edits --- .../update/deployment-service-drivers.md | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 6551768ccf..598da4c5e6 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -97,7 +97,11 @@ When you enroll devices into driver management, the deployment service becomes t } ``` - +1. To verify the devices were added to the audience, run the following query using the **Audience ID**: + + ```rest + GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members + ``` ## Create an update policy @@ -122,13 +126,14 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - Define any additional deployment or compliance [settings](beta/api/adminwindowsupdates-post-updatepolicies). /graph/api/resources/windowsupdates-updatepolicy + - You may need to add the `content-length` header to the request. *?The value should be the length of the request body in bytes?*. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies Content-Type: application/json - Content-length: 835 + Content-length: 967 { "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", "audience": { @@ -170,7 +175,7 @@ Update policies define how content is deployed to a deployment audience. An [upd ``` -Response, returning the **Policy ID** of `9011c330-1234-5678-9abc-def0123456`: +Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def0123456`: ```json HTTP/1.1 202 Accepted @@ -190,8 +195,16 @@ Content-type: application/json } } ``` - +## Review applicable driver content and approve content + + +**Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567` + +```rest +GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/f660d844-30b7-46e4-a6cf-47e36164d3cb/applicableContent +``` + ## Remove device enrollment From 8793f050c788d545a902de85da4fab71d41e3e08 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 26 Jan 2023 15:55:38 -0800 Subject: [PATCH 022/102] edits --- .../deployment/update/deployment-service-drivers.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 598da4c5e6..13236a1ece 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -22,6 +22,7 @@ In this tutorial, you will: > - [Enroll devices](#enroll-devices) > - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > - [Create an update policy](#create-an-update-policy) +> - [Review applicable driver content and approve it](#review-applicable-driver-content-and-approve-it) > - Do Z > - Do Z > - [Remove device enrollment](#remove-device-enrollment) @@ -103,9 +104,11 @@ When you enroll devices into driver management, the deployment service becomes t GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members ``` +Once a device has been enrolled and added to a deployment audience, the Windows Update for Business deployment service will start collecting scan results from Windows Update to build a catalog of applicable drivers to be browsed, approved, and scheduled for deployment. + ## Create an update policy -Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to deployment audiences behave in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. When creating an update policy, you can either: +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behaves in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. When creating an update policy, you can either: - Create a policy and define the settings later @@ -167,6 +170,7 @@ Update policies define how content is deployed to a deployment audience. An [upd ``` **note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** + ```dotnetcli "deploymentSettings": { @@ -196,13 +200,15 @@ Content-type: application/json } ``` -## Review applicable driver content and approve content +## Review applicable driver content and approve it + +Review **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567` ```rest -GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/f660d844-30b7-46e4-a6cf-47e36164d3cb/applicableContent +GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` From 7d52e709f9c23a322661dd9640a913d3dc43ef76 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 27 Jan 2023 16:26:30 -0800 Subject: [PATCH 023/102] edits --- .../update/deployment-service-drivers.md | 69 ++++++++++++++++--- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 13236a1ece..539e4fe498 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -47,7 +47,7 @@ All of the [prerequisites for the Windows Update for Business deployment service ## Enroll devices -When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. +When you enroll devices into driver management, the deployment service becomes the authority for driver updates coming from Windows Update. Devices don't receive drivers or firmware from Windows Update until a deployment is manually created or they're added to a driver update policy with approvals. [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] @@ -112,7 +112,7 @@ Update policies define how content is deployed to a deployment audience. An [upd - Create a policy and define the settings later - To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: + To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies @@ -128,7 +128,7 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - - Define any additional deployment or compliance [settings](beta/api/adminwindowsupdates-post-updatepolicies). /graph/api/resources/windowsupdates-updatepolicy + - Define any additional [deployment settings](beta/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. *?The value should be the length of the request body in bytes?*. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: @@ -171,15 +171,14 @@ Update policies define how content is deployed to a deployment audience. An [upd **note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** -```dotnetcli +``` "deploymentSettings": { "contentApplicability": { "offerWhileRecommendedBy": ["Microsoft"], ``` - - -Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def0123456`: + +Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: ```json HTTP/1.1 202 Accepted @@ -202,16 +201,66 @@ Content-type: application/json ## Review applicable driver content and approve it -Review +Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. - -**Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567` +To display [applicable content](/graph/api/resources/windowsupdates-applicablecontent), run a query using the **Audience ID**, for example `d39ad1ce-0123-4567-89ab-cdef01234567`: ```rest GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` +Each applicable update returns the following information: +- An `id` for its [catalog entry](/graph/api/resources/windowsupdates-catalogentry) +- The **Azure AD ID** of the devices it's applicable to +- Information describing the update such as the name and version. + +The following truncated response displays: +- An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` +- The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` + +```json +"matchedDevices": [ + { + "recommendedBy": [ + "Microsoft" + ], + "deviceId": "01ea3c90-12f5-4093-a4c9-c1434657c976" + } +], +"catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", + "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", +``` + +Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. This approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy and it + + +Deployments for driver updates are created and enforced on a policy through [compliance changes](/graph/api/resources/windowsupdates-compliance). [Content approvals](/graph/api/esources/windowsupdates-contentapproval) for driver updates are added to a policy by specifying the [catalog entry](/graph/api/resources/windowsupdates-catalogentry) associated to a specific driver update. Content will only be delivered to devices in the deployment audiences associated with the update policy once approved. + +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: + +```rest +POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges +Content-type: application/json + +{ + "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", + "content": { + "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", + "catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", + "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d" + } + }, + "deploymentSettings": { + "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", + "schedule": { + "startDateTime": "2023-01-20T01:00:00Z" + } + } +} +``` ## Remove device enrollment From 0285b3deb7ff2d13be5fc23153ace8492b413657 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 30 Jan 2023 08:06:12 -0800 Subject: [PATCH 024/102] add approval info --- .../update/deployment-service-drivers.md | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 539e4fe498..c666bb8bac 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -23,8 +23,7 @@ In this tutorial, you will: > - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > - [Create an update policy](#create-an-update-policy) > - [Review applicable driver content and approve it](#review-applicable-driver-content-and-approve-it) -> - Do Z -> - Do Z +> - [Revoke content approval](#revoke-content-approval) > - [Remove device enrollment](#remove-device-enrollment) ## Prerequisites @@ -233,12 +232,10 @@ The following truncated response displays: "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", ``` -Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. This approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy and it +Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. Content approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy. -Deployments for driver updates are created and enforced on a policy through [compliance changes](/graph/api/resources/windowsupdates-compliance). [Content approvals](/graph/api/esources/windowsupdates-contentapproval) for driver updates are added to a policy by specifying the [catalog entry](/graph/api/resources/windowsupdates-catalogentry) associated to a specific driver update. Content will only be delivered to devices in the deployment audiences associated with the update policy once approved. - -Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges @@ -262,6 +259,17 @@ Content-type: application/json } ``` +Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678`: + +```rest +GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc + +``` + +## Revoke content approval + + + ## Remove device enrollment From 6f04f609e196bf697647cd1616cca45344167cd2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 30 Jan 2023 09:55:27 -0800 Subject: [PATCH 025/102] add approval info --- windows/deployment/TOC.yml | 6 +++--- .../update/deployment-service-drivers.md | 14 ++++++++------ .../update/deployment-service-expedited-updates.md | 12 ++++++------ .../update/deployment-service-feature-updates.md | 13 +++++++------ ...b-deployment-find-device-name-graph-explorer.md | 6 +++--- ... wufb-deployment-graph-explorer-permissions.md} | 2 +- .../includes/wufb-deployment-graph-explorer.md | 6 +++--- 7 files changed, 31 insertions(+), 28 deletions(-) rename windows/deployment/update/includes/{wufb-deployment-tutorial-permissions.md => wufb-deployment-graph-explorer-permissions.md} (92%) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index f14ccb8dbe..bdaffc1953 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -180,11 +180,11 @@ href: update/deployment-service-prerequisites.md - name: Deploy updates with Windows Update for Business deployment service items: - - name: 'Tutorial: Deploy feature updates' + - name: Deploy feature updates href: update/deployment-service-feature-updates.md - - name: 'Tutorial: Deploy expedited updates' + - name: Deploy expedited updates href: update/deployment-service-expedited-updates.md - - name: 'Tutorial: Deploy driver and firmware updates' + - name: Deploy driver and firmware updates href: update/deployment-service-drivers.md - name: Troubleshoot Windows Update for Business deployment service href: update/deployment-service-troubleshoot.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index c666bb8bac..3eb3efdc74 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -1,21 +1,21 @@ --- -title: 'Tutorial: Deploy drivers and firmware updates with Windows Update for Business deployment service.' +title: Deploy drivers and firmware updates with Windows Update for Business deployment service. description: Use Windows Update for Business deployment service to deploy driver and firmware updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: tutorial +ms.topic: article ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Tutorial: Deploy drivers and firmware updates with Windows Update for Business deployment service +# Deploy drivers and firmware updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** -In this tutorial, you will: +In this article, you will: > [!div class="checklist"] > - [Open Graph Explorer](#open-graph-explorer) > - [Run queries to identify test devices](#run-queries-to-identify-test-devices) @@ -31,8 +31,8 @@ In this tutorial, you will: All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. ### Permissions - -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] + +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] ## Open Graph Explorer @@ -269,6 +269,8 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c3 ## Revoke content approval +``` + ## Remove device enrollment diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 8650f264e9..f10c256b94 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -1,21 +1,21 @@ --- -title: 'Tutorial: Deploy expedited updates with Windows Update for Business deployment service' +title: Deploy expedited updates with Windows Update for Business deployment service description: Use Windows Update for Business deployment service to deploy expedited updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: tutorial +ms.topic: article ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Tutorial: Deploy expedited updates with Windows Update for Business deployment service +# Deploy expedited updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** -In this tutorial, you will: +In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) @@ -30,8 +30,8 @@ All of the [prerequisites for the Windows Update for Business deployment service ### Permissions - -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] + +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 9670fee85f..c3266087bc 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -1,21 +1,21 @@ --- -title: 'Tutorial: Deploy feature updates with Windows Update for Business deployment service.' +title: Deploy feature updates with Windows Update for Business deployment service. description: Use Windows Update for Business deployment service to deploy feature updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: tutorial +ms.topic: article ms.technology: itpro-updates ms.date: 02/14/2023 --- -# Tutorial: Deploy feature updates with Windows Update for Business deployment service +# Deploy feature updates with Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** -In this tutorial, you will: +In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-test-devices) @@ -27,10 +27,11 @@ In this tutorial, you will: ## Prerequisites All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. + ### Permissions - -[!INCLUDE [Windows Update for Business deployment service tutorial permissions](./includes/wufb-deployment-tutorial-permissions.md)] + +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] ## Open Graph Explorer diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 457be3217f..611cc9c8f0 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -48,6 +48,6 @@ GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' > [!Tip] > Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: -> - The `deviceid` is the **Azure AD Device ID** and will be used in this tutorial. -> - Later in this tutorial, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. -> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID, which won't be used in this tutorial. +> - The `deviceid` is the **Azure AD Device ID** and will be used in this article. +> - Later in this article, this `deviceid` will be used as an `id` when you make certain requests such as adding a device to a deployment audience. +> - The `id` from the [device](/graph/api/resources/device) resource type is usually the Azure AD Object ID, which won't be used in this article. diff --git a/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer-permissions.md similarity index 92% rename from windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md rename to windows/deployment/update/includes/wufb-deployment-graph-explorer-permissions.md index f2da67046b..563163371b 100644 --- a/windows/deployment/update/includes/wufb-deployment-tutorial-permissions.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer-permissions.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium --- -The following permissions are needed for the tutorial: +The following permissions are needed for the queries listed in this article: - [WindowsUpdates.ReadWrite.All](/graph/permissions-reference#windows-updates-permissions) for [Windows Update for Business deployment service](/graph/api/resources/windowsupdates) operations. - At least [Device.Read.All](/graph/permissions-reference#device-permissions) permission to display [device](/graph/api/resources/device) information. diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 2a51ba52d4..f39e7b6315 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -10,13 +10,13 @@ ms.localizationpriority: medium --- -For this tutorial, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). +For this article, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). > [!WARNING] -> Using a test tenant for tutorials is recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. +> Using a test tenant to verify the deployment process first is recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. 1. From a browser, go to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) and sign in using an Azure Active Directory (Azure AD) user account. -1. You may need to enable the [`WindowsUpdates.ReadWrite.All` permission](/graph/permissions-reference#windows-updates-permissions) to use the queries in this tutorial. To enable the permission: +1. You may need to enable the [`WindowsUpdates.ReadWrite.All` permission](/graph/permissions-reference#windows-updates-permissions) to use the queries in this article. To enable the permission: 1. Select the **Modify permissions** tab in Graph Explorer. 1. In the permissions dialog box, select the **WindowsUpdates.ReadWrite.All** permission then select **Consent**. You may need to sign in again to grant consent. From 2c0d5072232d467b4f84eebbdf24c395b10e5c19 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 31 Jan 2023 15:53:22 -0800 Subject: [PATCH 026/102] add approval info --- .../update/deployment-service-drivers.md | 30 ++++++++++++++----- .../deployment-service-expedited-updates.md | 2 +- .../deployment-service-feature-updates.md | 2 +- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 3eb3efdc74..521abf1a65 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -32,7 +32,7 @@ All of the [prerequisites for the Windows Update for Business deployment service ### Permissions -[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions.md)] ## Open Graph Explorer @@ -127,8 +127,8 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - - Define any additional [deployment settings](beta/api/resources/windowsupdates-deploymentsettings). - - You may need to add the `content-length` header to the request. *?The value should be the length of the request body in bytes?*. + - Define any additional [deployment settings](beta/api/resources/windowsupdates-deploymentsettings). + - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: @@ -197,7 +197,7 @@ Content-type: application/json } } ``` - + ## Review applicable driver content and approve it Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. @@ -234,8 +234,10 @@ The following truncated response displays: Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. Content approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy. +> [!IMPORTANT] +> Any [deployment settings](beta/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. -Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d. Schedule the start date for January, 20 2023 at 1 AM UTC: ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges @@ -259,7 +261,9 @@ Content-type: application/json } ``` -Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678`: +Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: + +```rest ```rest GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc @@ -268,11 +272,21 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c3 ## Revoke content approval +Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#review-applicable-driver-content-and-approve-it) will need to be created. + +### Request + +```http +PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/d7a89208-17c5-4daf-a164-ce176b00e4ef/complianceChanges/dbf29574-ffd9-49cf-87f2-f03629e596ba +Content-type: application/json +{ + "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", + "isRevoked": true +} ``` - ## Remove device enrollment - + [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index f10c256b94..29e7d68224 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -31,7 +31,7 @@ All of the [prerequisites for the Windows Update for Business deployment service ### Permissions -[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions.md)] ## Open Graph Explorer diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index c3266087bc..a2e3287953 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -31,7 +31,7 @@ All of the [prerequisites for the Windows Update for Business deployment service ### Permissions -[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions)] +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-graph-explorer-permissions.md)] ## Open Graph Explorer From f29c6a2f8ce3ef1b7038a99a26da211feafce1a8 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 31 Jan 2023 16:04:11 -0800 Subject: [PATCH 027/102] add approval info --- windows/deployment/update/deployment-service-drivers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 521abf1a65..8d8ffa874e 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -127,7 +127,7 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - - Define any additional [deployment settings](beta/api/resources/windowsupdates-deploymentsettings). + - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: @@ -235,7 +235,7 @@ The following truncated response displays: Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. Content approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy. > [!IMPORTANT] -> Any [deployment settings](beta/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. +> Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d. Schedule the start date for January, 20 2023 at 1 AM UTC: From 890c85d3f54e0ea3351c2f426d6991a791d2efe2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 31 Jan 2023 16:12:13 -0800 Subject: [PATCH 028/102] add approval info --- windows/deployment/update/deployment-service-drivers.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 8d8ffa874e..d56da92bbf 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -22,7 +22,8 @@ In this article, you will: > - [Enroll devices](#enroll-devices) > - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > - [Create an update policy](#create-an-update-policy) -> - [Review applicable driver content and approve it](#review-applicable-driver-content-and-approve-it) +> - [Review applicable driver content](#review-applicable-driver-content) +> - [Approve driver content for deployment](#approve-driver-content-for-deployment) > - [Revoke content approval](#revoke-content-approval) > - [Remove device enrollment](#remove-device-enrollment) @@ -198,7 +199,7 @@ Content-type: application/json } ``` -## Review applicable driver content and approve it +## Review applicable driver content Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. @@ -232,12 +233,14 @@ The following truncated response displays: "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", ``` +## Approve driver content for deployment + Each driver update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). Approve content for drivers and firmware by adding a [content approval](/graph/api/resources/windowsupdates-contentapproval) for the catalog entry to an existing policy. Content approval is a [compliance change](/graph/api/resources/windowsupdates-compliance) for the policy. > [!IMPORTANT] > Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. -Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d. Schedule the start date for January, 20 2023 at 1 AM UTC: +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: ```rest POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges From 75c97738d0cec96d08f43eb1a60f9d71c9af1cbf Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 31 Jan 2023 16:27:31 -0800 Subject: [PATCH 029/102] add approval info --- windows/deployment/update/deployment-service-drivers.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index d56da92bbf..9f69a4dcd7 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -266,7 +266,6 @@ Content-type: application/json Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: -```rest ```rest GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc From b8ed061ff8fb7f8aca02e04e7813f5e7b266b189 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 07:54:16 -0800 Subject: [PATCH 030/102] add approval info --- windows/deployment/update/deployment-service-drivers.md | 4 ++-- .../deployment/update/deployment-service-expedited-updates.md | 4 ++-- .../deployment/update/deployment-service-feature-updates.md | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 9f69a4dcd7..aa24df06bf 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -18,7 +18,7 @@ ms.date: 02/14/2023 In this article, you will: > [!div class="checklist"] > - [Open Graph Explorer](#open-graph-explorer) -> - [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> - [Run queries to identify test devices](#run-queries-to-identify-devices) > - [Enroll devices](#enroll-devices) > - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > - [Create an update policy](#create-an-update-policy) @@ -40,7 +40,7 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] -## Run queries to identify test devices +## Run queries to identify devices [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 29e7d68224..a76fc6df2e 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -18,7 +18,7 @@ ms.date: 02/14/2023 In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) -> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> * [Run queries to identify test devices](#run-queries-to-identify-devices) > * Do Z @@ -38,7 +38,7 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] -## Run queries to identify test devices +## Run queries to identify devices [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index a2e3287953..cdc2be2f7f 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -18,7 +18,7 @@ ms.date: 02/14/2023 In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) -> * [Run queries to identify test devices](#run-queries-to-identify-test-devices) +> * [Run queries to identify test devices](#run-queries-to-identify-devices) > * [Enroll devices](#enroll-devices) > * Do Z > * Do Z @@ -38,7 +38,7 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer sign in](./includes/wufb-deployment-graph-explorer.md)] -## Run queries to identify test devices +## Run queries to identify devices [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] From 509b34cd34dae4b031a4db07818b1a612ffa88dd Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 08:52:51 -0800 Subject: [PATCH 031/102] formatting --- .../update/deployment-service-drivers.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index aa24df06bf..198daa906b 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -63,16 +63,16 @@ When you enroll devices into driver management, the deployment service becomes t {} ``` - The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: + The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: - ```json - { - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", - "id": "d39ad1ce-0123-4567-89ab-cdef01234567", - "reportingDeviceCount": 0, - "applicableContent": [] - } - ``` + ```json + { + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", + "id": "d39ad1ce-0123-4567-89ab-cdef01234567", + "reportingDeviceCount": 0, + "applicableContent": [] + } + ``` 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. From c4537ce578e94733a453f13aa05e4eb5982dd253 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 09:09:36 -0800 Subject: [PATCH 032/102] formatting --- .../update/deployment-service-drivers.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 198daa906b..6d140e4a8e 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -215,23 +215,23 @@ Each applicable update returns the following information: - The **Azure AD ID** of the devices it's applicable to - Information describing the update such as the name and version. -The following truncated response displays: -- An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` -- The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` + The following truncated response displays: + - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` + - The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` -```json -"matchedDevices": [ - { - "recommendedBy": [ - "Microsoft" - ], - "deviceId": "01ea3c90-12f5-4093-a4c9-c1434657c976" - } -], -"catalogEntry": { - "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", - "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", -``` + ```json + "matchedDevices": [ + { + "recommendedBy": [ + "Microsoft" + ], + "deviceId": "01ea3c90-12f5-4093-a4c9-c1434657c976" + } + ], + "catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", + "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", + ``` ## Approve driver content for deployment @@ -274,7 +274,7 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c3 ## Revoke content approval -Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#review-applicable-driver-content-and-approve-it) will need to be created. +Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#approve-driver-content-for-deployment) will need to be created. ### Request From a36b5cce2292875dd542c2beaf52a5a6a2d85ebc Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:20:26 -0800 Subject: [PATCH 033/102] formatting --- .../update/deployment-service-drivers.md | 53 +++++++++---------- ...loyment-find-device-name-graph-explorer.md | 30 +++++------ 2 files changed, 38 insertions(+), 45 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 6d140e4a8e..d06a95ab49 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -17,6 +17,7 @@ ms.date: 02/14/2023 In this article, you will: > [!div class="checklist"] +> > - [Open Graph Explorer](#open-graph-explorer) > - [Run queries to identify test devices](#run-queries-to-identify-devices) > - [Enroll devices](#enroll-devices) @@ -30,6 +31,7 @@ In this article, you will: ## Prerequisites All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. + ### Permissions @@ -63,16 +65,17 @@ When you enroll devices into driver management, the deployment service becomes t {} ``` - The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: + The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: + + ```json + { + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", + "id": "d39ad1ce-0123-4567-89ab-cdef01234567", + "reportingDeviceCount": 0, + "applicableContent": [] + } + ``` - ```json - { - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", - "id": "d39ad1ce-0123-4567-89ab-cdef01234567", - "reportingDeviceCount": 0, - "applicableContent": [] - } - ``` 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. @@ -127,10 +130,10 @@ Update policies define how content is deployed to a deployment audience. An [upd - Specify settings during policy creation To create a policy with additional settings, in the request body: - - Specify the **Audience ID** as `id` - - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. - + - Specify the **Audience ID** as `id` + - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). + - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. + In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: ```rest @@ -169,7 +172,7 @@ Update policies define how content is deployed to a deployment audience. An [upd } ``` -**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** +**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** ``` @@ -177,7 +180,7 @@ Update policies define how content is deployed to a deployment audience. An [upd "contentApplicability": { "offerWhileRecommendedBy": ["Microsoft"], ``` - + Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: ```json @@ -201,7 +204,11 @@ Content-type: application/json ## Review applicable driver content -Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. +Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. Each applicable update returns the following information: + +- An `id` for its [catalog entry](/graph/api/resources/windowsupdates-catalogentry) +- The **Azure AD ID** of the devices it's applicable to +- Information describing the update such as the name and version. To display [applicable content](/graph/api/resources/windowsupdates-applicablecontent), run a query using the **Audience ID**, for example `d39ad1ce-0123-4567-89ab-cdef01234567`: @@ -209,15 +216,9 @@ To display [applicable content](/graph/api/resources/windowsupdates-applicableco GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` -Each applicable update returns the following information: - -- An `id` for its [catalog entry](/graph/api/resources/windowsupdates-catalogentry) -- The **Azure AD ID** of the devices it's applicable to -- Information describing the update such as the name and version. - The following truncated response displays: - - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` - - The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` + - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` + - The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` ```json "matchedDevices": [ @@ -266,7 +267,6 @@ Content-type: application/json Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: - ```rest GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc @@ -276,7 +276,6 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c3 Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#approve-driver-content-for-deployment) will need to be created. - ### Request ```http @@ -290,5 +289,5 @@ Content-type: application/json ## Remove device enrollment - + [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 611cc9c8f0..82c778446e 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -10,21 +10,18 @@ ms.localizationpriority: medium --- -Use the [device](/graph/api/resources/device) resource type to find clients to enroll into the deployment service. Change the query parameters to fit your specific needs. For more information, see [Use query parameters](/graph/query-parameters). +Use the [device](/graph/api/resources/device) resource type to find clients to enroll into the deployment service. Change the query parameters to fit your specific needs. For more information, see [Use query parameters](/graph/query-parameters). -Displays the **AzureAD Device ID** and **Name** of all devices: +- Displays the **AzureAD Device ID** and **Name** of all devices: -```rest -GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName -``` + `GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName` -Displays the **AzureAD Device ID** and **Name** for device names that starts with `Test`: +- Displays the **AzureAD Device ID** and **Name** for devices that have a name starting with `Test`: -```rest -GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName -``` + `GET https://graph.microsoft.com/v1.0/devices?$filter=startswith (displayName,'Test')&$select=deviceid,displayName` -### Add a request header + +### Add a request header for advanced queries For the next requests, set the **ConsistencyLevel** header to `eventual`. For more information about advanced query parameters, see [Advanced query capabilities on Azure AD directory objects](/graph/aad-advanced-queries). @@ -34,17 +31,14 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo :::image type="content" source="../media/7512398-deployment-service-graph-modify-header.png" alt-text="Screenshot of the request headers tab in Graph Explorer" lightbox="../media/7512398-deployment-service-graph-modify-header.png"::: -Displays the **Name** and **Operating system version** for the device that has the **AzureAD Device ID** of `01234567-89ab-cdef-0123-456789abcdef`: +- Display the **Name** and **Operating system version** for the device that has `01234567-89ab-cdef-0123-456789abcdef` as the **AzureAD Device ID**: -```rest -GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion -``` + `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` -To find devices that likely aren't virtual machines, filter for devices that don't have virtual machine listed as the model but do have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: +- To find devices that likely aren't virtual machines, filter for devices that don't have virtual machine listed as the model but do have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: + + `GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` -```rest -GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion -``` > [!Tip] > Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: From b4dfd5fe8abe76f89d16bfedbfceb23aa7d78299 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:29:47 -0800 Subject: [PATCH 034/102] formatting --- .../update/deployment-service-drivers.md | 16 ++++++++-------- .../includes/wufb-deployment-graph-unenroll.md | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index d06a95ab49..04df91a874 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -58,7 +58,7 @@ When you enroll devices into driver management, the deployment service becomes t 1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. POST to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. - ```rest + ```http POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences content-type: application/json @@ -79,7 +79,7 @@ When you enroll devices into driver management, the deployment service becomes t 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. - ```rest + ```http POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience Content-type: application/json @@ -103,7 +103,7 @@ When you enroll devices into driver management, the deployment service becomes t 1. To verify the devices were added to the audience, run the following query using the **Audience ID**: - ```rest + ```http GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members ``` @@ -117,7 +117,7 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: - ```rest + ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies Content-type: application/json { @@ -136,7 +136,7 @@ Update policies define how content is deployed to a deployment audience. An [upd In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: - ```rest + ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies Content-Type: application/json Content-length: 967 @@ -212,7 +212,7 @@ Once Windows Update for Business deployment service has scan results from device To display [applicable content](/graph/api/resources/windowsupdates-applicablecontent), run a query using the **Audience ID**, for example `d39ad1ce-0123-4567-89ab-cdef01234567`: -```rest +```http GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` @@ -243,7 +243,7 @@ Each driver update is associated with a unique [catalog entry](/graph/api/resour Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: -```rest +```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges Content-type: application/json @@ -267,7 +267,7 @@ Content-type: application/json Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: -```rest +```http GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc ``` diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index 3a04370fd4..38f85ce10f 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -21,7 +21,7 @@ To remove device enrollment, POST to [updatableAssets](/graph/api/resources/wind The following example removes `driver` enrollment for two devices, `01234567-89ab-cdef-0123-456789abcdef` and `01234567-89ab-cdef-0123-456789abcde0`: -```rest +```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/unenrollAssets Content-Type: application/json From 99a5857462af5d65df495dd840e3557761d0c5a6 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 12:37:05 -0800 Subject: [PATCH 035/102] formatting --- .../update/deployment-service-drivers.md | 50 ++++++++++++------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 04df91a874..043d4973b5 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -56,7 +56,7 @@ When you enroll devices into driver management, the deployment service becomes t ## Create a deployment audience and add audience members -1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. POST to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. +1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. ```http POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences @@ -103,17 +103,19 @@ When you enroll devices into driver management, the deployment service becomes t 1. To verify the devices were added to the audience, run the following query using the **Audience ID**: - ```http - GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members - ``` + `GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members` Once a device has been enrolled and added to a deployment audience, the Windows Update for Business deployment service will start collecting scan results from Windows Update to build a catalog of applicable drivers to be browsed, approved, and scheduled for deployment. ## Create an update policy -Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behaves in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. When creating an update policy, you can either: +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behaves in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. -- Create a policy and define the settings later +> [!IMPORTANT] +> Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for a [content approval](#approve-driver-content-for-deployment) will be combined with the existing update policy's deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. + + +### Create a policy and define the settings later To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: @@ -127,9 +129,9 @@ Update policies define how content is deployed to a deployment audience. An [upd } ``` -- Specify settings during policy creation +### Specify settings during policy creation - To create a policy with additional settings, in the request body: +To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. @@ -172,14 +174,6 @@ Update policies define how content is deployed to a deployment audience. An [upd } ``` -**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** - -``` - - "deploymentSettings": { - "contentApplicability": { - "offerWhileRecommendedBy": ["Microsoft"], -``` Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: @@ -202,6 +196,26 @@ Content-type: application/json } ``` +### Review and edit policy settings + +To review the policy settings, run the following query using the **Policy ID**, for example `9011c330-1234-5678-9abc-def012345678`: + + `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678` + +To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run the following **PATCH** to automatically approve driver content that's recommended by `Microsoft`for deployment for **Policy ID** `9011c330-1234-5678-9abc-def012345678`: + +``` http + PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 + Content-Type: application/json + + "deploymentSettings": { + "contentApplicability": { + "offerWhileRecommendedBy": ["Microsoft"], +``` + +**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** + + ## Review applicable driver content Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. Each applicable update returns the following information: @@ -216,7 +230,7 @@ To display [applicable content](/graph/api/resources/windowsupdates-applicableco GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` - The following truncated response displays: +The following truncated response displays: - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` - The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` @@ -265,6 +279,8 @@ Content-type: application/json } ``` + + Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: ```http From 2dc48351896662ed47b111060150bf4062903560 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 15:58:14 -0800 Subject: [PATCH 036/102] formattingand additional content --- .../update/deployment-service-drivers.md | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 043d4973b5..f4f7061880 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -208,12 +208,25 @@ To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run t PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 Content-Type: application/json - "deploymentSettings": { - "contentApplicability": { - "offerWhileRecommendedBy": ["Microsoft"], +{ + "complianceChangeRules": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApprovalRule", + "contentFilter": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateFilter" + } + } + ], + "deploymentSettings": { + "@odata.type": "#microsoft.graph.windowsUpdates.deploymentSettings", + "contentApplicability": { + "@odata.type": "#microsoft.graph.windowsUpdates.contentApplicabilitySettings", + "offerWhileRecommendedBy": ["microsoft"] + } + } +} ``` -**note to add info about behavior defined by settings in example and maybe include info about autoapprove while recommended** ## Review applicable driver content From 3e8bb6cb7f7c271ed4c1bd93033ac799bc66616c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:29:47 -0800 Subject: [PATCH 037/102] formattingand additional content --- windows/deployment/update/deployment-service-drivers.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index f4f7061880..87ad1d4382 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -196,7 +196,7 @@ Content-type: application/json } ``` -### Review and edit policy settings +### Review and edit update policy settings To review the policy settings, run the following query using the **Policy ID**, for example `9011c330-1234-5678-9abc-def012345678`: @@ -228,7 +228,6 @@ To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run t ``` - ## Review applicable driver content Once Windows Update for Business deployment service has scan results from devices, the applicability for driver and firmware updates can be displayed for a deployment audience. Each applicable update returns the following information: From 7689458302866179ee692d10f8dff1cb973a5b6a Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:39:52 -0800 Subject: [PATCH 038/102] formattingand additional content --- .../update/deployment-service-drivers.md | 46 +++++++++---------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 87ad1d4382..89a928ddaa 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -129,6 +129,27 @@ Update policies define how content is deployed to a deployment audience. An [upd } ``` +Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: + +```json +HTTP/1.1 202 Accepted +Content-type: application/json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", + "id": "9011c330-1234-5678-9abc-def012345678", + "createdDateTime": "2023-01-25T05:32:21.9721459Z", + "autoEnrollmentUpdateCategories": [], + "complianceChangeRules": [], + "deploymentSettings": { + "schedule": null, + "monitoring": null, + "contentApplicability": null, + "userExperience": null, + "expedite": null + } +} +``` + ### Specify settings during policy creation To create a policy with additional settings, in the request body: @@ -136,7 +157,7 @@ To create a policy with additional settings, in the request body: - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. - In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`: + In the following driver update policy example, any deployments created by a content approval will start in 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies @@ -175,27 +196,6 @@ To create a policy with additional settings, in the request body: ``` -Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: - -```json -HTTP/1.1 202 Accepted -Content-type: application/json -{ - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", - "id": "9011c330-1234-5678-9abc-def012345678", - "createdDateTime": "2023-01-25T05:32:21.9721459Z", - "autoEnrollmentUpdateCategories": [], - "complianceChangeRules": [], - "deploymentSettings": { - "schedule": null, - "monitoring": null, - "contentApplicability": null, - "userExperience": null, - "expedite": null - } -} -``` - ### Review and edit update policy settings To review the policy settings, run the following query using the **Policy ID**, for example `9011c330-1234-5678-9abc-def012345678`: @@ -291,8 +291,6 @@ Content-type: application/json } ``` - - Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: ```http From 96965d9e1c5fbde51dd1316e0f245876458aa952 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Wed, 1 Feb 2023 16:43:23 -0800 Subject: [PATCH 039/102] formattingand additional content --- windows/deployment/update/deployment-service-drivers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 89a928ddaa..3e340a66f5 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -109,7 +109,7 @@ Once a device has been enrolled and added to a deployment audience, the Windows ## Create an update policy -Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behaves in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behave in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. > [!IMPORTANT] > Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for a [content approval](#approve-driver-content-for-deployment) will be combined with the existing update policy's deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. @@ -154,7 +154,7 @@ Content-type: application/json To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - - Define any additional [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). + - Define any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. In the following driver update policy example, any deployments created by a content approval will start in 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: From f93752de517146ac6f94fa8e0405193f1a250539 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 09:19:15 -0800 Subject: [PATCH 040/102] formattingand additional content --- .../update/deployment-service-drivers.md | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 3e340a66f5..ed5a6f6da4 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -117,7 +117,7 @@ Update policies define how content is deployed to a deployment audience. An [upd ### Create a policy and define the settings later - To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: +To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies @@ -131,24 +131,24 @@ Update policies define how content is deployed to a deployment audience. An [upd Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: -```json -HTTP/1.1 202 Accepted -Content-type: application/json -{ - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", - "id": "9011c330-1234-5678-9abc-def012345678", - "createdDateTime": "2023-01-25T05:32:21.9721459Z", - "autoEnrollmentUpdateCategories": [], - "complianceChangeRules": [], - "deploymentSettings": { - "schedule": null, - "monitoring": null, - "contentApplicability": null, - "userExperience": null, - "expedite": null - } -} -``` + ```json + HTTP/1.1 202 Accepted + Content-type: application/json + { + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", + "id": "9011c330-1234-5678-9abc-def012345678", + "createdDateTime": "2023-01-25T05:32:21.9721459Z", + "autoEnrollmentUpdateCategories": [], + "complianceChangeRules": [], + "deploymentSettings": { + "schedule": null, + "monitoring": null, + "contentApplicability": null, + "userExperience": null, + "expedite": null + } + } + ``` ### Specify settings during policy creation @@ -157,7 +157,7 @@ To create a policy with additional settings, in the request body: - Define any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. - In the following driver update policy example, any deployments created by a content approval will start in 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: + In the following driver update policy example, any deployments created by a content approval will start 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies From feed2f5f9f3ca7bea6c36a755c626aaad4c961ea Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 09:20:49 -0800 Subject: [PATCH 041/102] formattingand additional content --- windows/deployment/update/deployment-service-drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index ed5a6f6da4..809ff18c93 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -129,7 +129,7 @@ To create a policy without any deployment settings, in the request body specify } ``` -Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: + Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: ```json HTTP/1.1 202 Accepted From f771e8c9326a25a734ebb0bad4bcc04fda60f90e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 11:58:46 -0800 Subject: [PATCH 042/102] edits --- .../update/deployment-service-drivers.md | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 809ff18c93..ab1587f08d 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -267,7 +267,7 @@ Each driver update is associated with a unique [catalog entry](/graph/api/resour > [!IMPORTANT] > Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. -Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for January, 20 2023 at 1 AM UTC: +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for February 14, 2023 at 1 AM UTC: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges @@ -285,18 +285,47 @@ Content-type: application/json "deploymentSettings": { "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", "schedule": { - "startDateTime": "2023-01-20T01:00:00Z" + "startDateTime": "2023-02-14T01:00:00Z" } } } ``` -Review the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: +The response for a content approval returns content and deployment settings along with an `id`, which is the **Compliance Change ID**. The **Compliance Change ID** is `c03911a7-9876-5432-10ab-cdef98765432` in the following truncated response: ```http -GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc + "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", + "id": "c03911a7-9876-5432-10ab-cdef98765432", + "createdDateTime": "2023-02-02T17:54:39.173292Z", + "isRevoked": false, + "revokedDateTime": "0001-01-01T00:00:00Z", + "content": { + "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", + "catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", + "id": "5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c" + } + }, + "deploymentSettings": { + "schedule": { + "startDateTime": "2023-02-14T01:00:00Z", +``` + +Review all of the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: + + `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc` + + > [!TIP] + > There should only be one **Compliance Change ID** per **Catalog ID** for a policy. If there are multiple **Compliance Change IDs** for the same **Catalog ID** then, most likely, there's multiple deployments for the same piece of content targeted to the same audience but with different deployment behaviors. To remove the duplicate, [delete the compliance change](/graph/api/resources/windowsupdates-compliancechange-delete) with the duplicate **Catalog ID**. Deleting the compliance change will mark any deployments created by the approval as `archived`. + ## Revoke content approval From 75da01b8d286a95c1ac24b6409b1495d91adfe1c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 12:31:26 -0800 Subject: [PATCH 043/102] edits --- .../update/deployment-service-drivers.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index ab1587f08d..3e4fb8a761 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -317,21 +317,29 @@ Review all of the compliance changes to a policy with the most recent changes li > [!TIP] > There should only be one **Compliance Change ID** per **Catalog ID** for a policy. If there are multiple **Compliance Change IDs** for the same **Catalog ID** then, most likely, there's multiple deployments for the same piece of content targeted to the same audience but with different deployment behaviors. To remove the duplicate, [delete the compliance change](/graph/api/resources/windowsupdates-compliancechange-delete) with the duplicate **Catalog ID**. Deleting the compliance change will mark any deployments created by the approval as `archived`. - ## Revoke content approval Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#approve-driver-content-for-deployment) will need to be created. -### Request ```http PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/d7a89208-17c5-4daf-a164-ce176b00e4ef/complianceChanges/dbf29574-ffd9-49cf-87f2-f03629e596ba From 7ab32f8dfd3b8e7ccc407a676f1fb8a565fbd002 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 14:13:43 -0800 Subject: [PATCH 044/102] edits --- windows/deployment/update/deployment-service-drivers.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 3e4fb8a761..453e43b080 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -318,7 +318,11 @@ Review all of the compliance changes to a policy with the most recent changes li > [!TIP] > There should only be one **Compliance Change ID** per **Catalog ID** for a policy. If there are multiple **Compliance Change IDs** for the same **Catalog ID** then, most likely, there's multiple deployments for the same piece of content targeted to the same audience but with different deployment behaviors. To remove the duplicate, [delete the compliance change](/graph/api/resources/windowsupdates-compliancechange-delete) with the duplicate **Catalog ID**. Deleting the compliance change will mark any deployments created by the approval as `archived`. -### Edit a content approval +To retrieve the deployment ID, use the [expand parameter](/graph/query-parameters#expand-parameter) to review the deployment information related the content approval. The following example displays the content approval and the deployment information for **Compliance Change ID** `c03911a7-9876-5432-10ab-cdef98765432` in update **Policy ID** `9011c330-1234-5678-9abc-def012345678`: + + `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432/$/microsoft.graph.windowsUpdates.contentApproval?$expand=deployments` + +### Edit deployment settings for a content approval Since content approval is a compliance change for the policy, when you [update a content approval](/graph/api/resources/windowsupdates--contentapproval-update), you're editing the compliance change for the policy. The following example changes the `startDateTime` for the **Compliance Change ID** of `c03911a7-9876-5432-10ab-cdef98765432` in the update **Policy ID** `9011c330-1234-5678-9abc-def012345678` to February 28, 2023 at 5 AM UTC: @@ -336,13 +340,14 @@ PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011 } ``` + ## Revoke content approval Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#approve-driver-content-for-deployment) will need to be created. ```http -PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/d7a89208-17c5-4daf-a164-ce176b00e4ef/complianceChanges/dbf29574-ffd9-49cf-87f2-f03629e596ba +PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432 Content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", From 6d0d665b10a1f947603eea33d642b429db55a47f Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 14:28:48 -0800 Subject: [PATCH 045/102] edits --- windows/deployment/update/deployment-service-drivers.md | 4 ++-- .../includes/wufb-deployment-enroll-device-graph-explorer.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 453e43b080..1425a0ab81 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -65,7 +65,7 @@ When you enroll devices into driver management, the deployment service becomes t {} ``` - The POST returns a [201 Created](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success) response with the following body, where `id` is the **Audience ID**: + The POST returns an HTTP status code of `201 Created` as a response with the following body, where `id` is the **Audience ID**: ```json { @@ -155,7 +155,7 @@ To create a policy without any deployment settings, in the request body specify To create a policy with additional settings, in the request body: - Specify the **Audience ID** as `id` - Define any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - - You may need to add the `content-length` header to the request. The value should be the length of the request body in bytes. + - Add the `content-length` header to the request if a status code of 411 occurs. The value should be the length of the request body in bytes. For information on error codes, see [Microsoft Graph error responses and resource types](/graph/errors). In the following driver update policy example, any deployments created by a content approval will start 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index b95b1cc330..34ab1e948b 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -40,6 +40,6 @@ You enroll devices based on the types of updates you want them to recieve.Curren } ``` - 1. Select the **Run query** button. The results will appear in the **Response** window. In this case, the status code of [202 Accepted](/troubleshoot/developer/webapps/iis/www-administration-management/http-status-code#2xx---success). + 1. Select the **Run query** button. The results will appear in the **Response** window. In this case, the HTTP status code of `202 Accepted`. :::image type="content" source="../media/7512398-deployment-enroll-asset-graph.png" alt-text="Screenshot of successfully enrolling assets through Graph Explorer." lightbox="../media/7512398-deployment-enroll-asset-graph.png" ::: From c49cb4270779e9258a04b5bf033e4d2d8946fd0e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 14:59:11 -0800 Subject: [PATCH 046/102] edits --- windows/deployment/update/deployment-service-drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 1425a0ab81..b007a91d3b 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -15,7 +15,7 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** -In this article, you will: +The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). This article uses Graph Explorer to walk through the entire process of deploying a driver update to clients. In this article, you will: > [!div class="checklist"] > > - [Open Graph Explorer](#open-graph-explorer) From f8255aedd98e4a71e8008c1e83ff3b0ef84d504c Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 2 Feb 2023 15:01:35 -0800 Subject: [PATCH 047/102] edits --- windows/deployment/update/deployment-service-drivers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index b007a91d3b..27679342c0 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -19,7 +19,7 @@ The Windows Update for Business deployment service is used to approve and schedu > [!div class="checklist"] > > - [Open Graph Explorer](#open-graph-explorer) -> - [Run queries to identify test devices](#run-queries-to-identify-devices) +> - [Run queries to identify devices](#run-queries-to-identify-devices) > - [Enroll devices](#enroll-devices) > - [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > - [Create an update policy](#create-an-update-policy) From 337aa497290bc7682cddef4e4471263b17b48911 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 3 Feb 2023 14:47:53 -0800 Subject: [PATCH 048/102] edit --- .../update/deployment-service-drivers.md | 20 ++++++++++++++----- .../deployment-service-feature-updates.md | 2 +- ...deployment-enroll-device-graph-explorer.md | 2 +- .../wufb-deployment-graph-unenroll.md | 7 ++++--- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 27679342c0..6b51a2532d 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -244,7 +244,7 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d The following truncated response displays: - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` - - The **Catalog ID** of `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d` + - The **Catalog ID** of `5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c` ```json "matchedDevices": [ @@ -257,7 +257,17 @@ The following truncated response displays: ], "catalogEntry": { "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", - "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d", + "id": "5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c", + "displayName": "Microsoft - Test - 1.0.0.1", + "deployableUntilDateTime": null, + "releaseDateTime": "0001-01-21T04:18:32Z", + "description": "Microsoft test driver update released in January 2021", + "driverClass": "OtherHardware", + "provider": "Microsoft", + "setupInformationFile": null, + "manufacturer": "Microsoft", + "version": "1.0.0.1", + "versionDateTime": "2021-01-11T02:43:14Z" ``` ## Approve driver content for deployment @@ -267,7 +277,7 @@ Each driver update is associated with a unique [catalog entry](/graph/api/resour > [!IMPORTANT] > Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for the content approval will be combined with the existing [update policy's](#create-an-update-policy) deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. -Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d`. Schedule the start date for February 14, 2023 at 1 AM UTC: +Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c`. Schedule the start date for February 14, 2023 at 1 AM UTC: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges @@ -279,7 +289,7 @@ Content-type: application/json "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", "catalogEntry": { "@odata.type": "#microsoft.graph.windowsUpdates.driverUpdateCatalogEntry", - "id": "1d082682ff38a3a885cefd68ec6ab3782be3dc31d156c9e5c6fd3dc55cbd839d" + "id": "5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c" } }, "deploymentSettings": { @@ -355,7 +365,7 @@ Content-type: application/json } ``` -## Remove device enrollment +## Unenroll device [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index cdc2be2f7f..179632fc1e 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -51,7 +51,7 @@ As long as a device remains enrolled in feature update management, the device do [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] -## Remove device enrollment +## Unenroll devices [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] \ No newline at end of file diff --git a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md index 34ab1e948b..0ae067e62f 100644 --- a/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-enroll-device-graph-explorer.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium --- -You enroll devices based on the types of updates you want them to recieve.Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. +You enroll devices based on the types of updates you want them to receive. Currently, you can enroll devices to receive feature updates (`feature`) or drivers (`driver`). You can enroll devices to receive updates from multiple update classifications. 1. To enroll devices, POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [enrollAssets](/graph/api/windowsupdates-updatableasset-enrollassets). The following example enrolls three devices to receive driver updates: 1. In Graph Explorer, select **POST** from the drop-down list for the HTTP verb. diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index 38f85ce10f..dcb8bae3c6 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -10,12 +10,13 @@ ms.localizationpriority: medium --- -When a device no longer needs to be managed by the deployment service, remove the enrollment it. Just like [enrolling a device](#enroll-devices), specify either `driver` or `feature` as the value for the `updateCategory`. The device will no longer receive updates from the deployment service for the specfied update category, even if it's still assigned to an active deployment. Depending on the device's configuration, it may start to receive updates from Windows Update. For instance, if a device is still enrolled for feature updates, but the enrollment for drivers is removed: -- Existing driver deployments from the service won't be installed +When a device no longer needs to be managed by the deployment service, unenroll it. Just like [enrolling a device](#enroll-devices), specify either `driver` or `feature` as the value for the `updateCategory`. The device will no longer receive updates from the deployment service for the specified update category. Depending on the device's configuration, it may start to receive updates from Windows Update. For instance, if a device is still enrolled for feature updates, but it's unenrolled from drivers: + +- Existing driver deployments from the service won't be offered to the device - The device will continue to receive feature updates from the deployment service - Drivers may start being installed from Windows Update depending on the device's configuration -To remove device enrollment, POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [unenrollAssets](/graph/api/windowsupdates-updatableasset-unenrollassets). In the request body, specify: +To unenroll a device, POST to [updatableAssets](/graph/api/resources/windowsupdates-updatableasset) using [unenrollAssets](/graph/api/windowsupdates-updatableasset-unenrollassets). In the request body, specify: - **Azure AD Device ID** as `id` for the device - Either `feature` or `driver` for the updateCategory From 5fbe99fc44ab72da102fbd3311783a2f08f410a7 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 3 Feb 2023 16:05:49 -0800 Subject: [PATCH 049/102] edit --- .../update/deployment-service-drivers.md | 32 ++++++++++++------- ...loyment-find-device-name-graph-explorer.md | 17 +++++++--- .../wufb-deployment-graph-unenroll.md | 1 - 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 6b51a2532d..ad0ea346c9 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -103,7 +103,9 @@ When you enroll devices into driver management, the deployment service becomes t 1. To verify the devices were added to the audience, run the following query using the **Audience ID**: - `GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members` + ```http + GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members + ``` Once a device has been enrolled and added to a deployment audience, the Windows Update for Business deployment service will start collecting scan results from Windows Update to build a catalog of applicable drivers to be browsed, approved, and scheduled for deployment. @@ -129,12 +131,12 @@ To create a policy without any deployment settings, in the request body specify } ``` - Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: +Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: - ```json - HTTP/1.1 202 Accepted - Content-type: application/json - { + ```json + HTTP/1.1 202 Accepted + Content-type: application/json + { "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", "id": "9011c330-1234-5678-9abc-def012345678", "createdDateTime": "2023-01-25T05:32:21.9721459Z", @@ -147,8 +149,8 @@ To create a policy without any deployment settings, in the request body specify "userExperience": null, "expedite": null } - } - ``` + } + ``` ### Specify settings during policy creation @@ -200,7 +202,9 @@ To create a policy with additional settings, in the request body: To review the policy settings, run the following query using the **Policy ID**, for example `9011c330-1234-5678-9abc-def012345678`: - `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678` + ```http + GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 + ``` To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run the following **PATCH** to automatically approve driver content that's recommended by `Microsoft`for deployment for **Policy ID** `9011c330-1234-5678-9abc-def012345678`: @@ -244,7 +248,7 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d The following truncated response displays: - An **Azure AD ID** of `01234567-89ab-cdef-0123-456789abcdef` - - The **Catalog ID** of `5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c` + - The **Catalog ID** of `5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c` ```json "matchedDevices": [ @@ -323,14 +327,18 @@ The response for a content approval returns content and deployment settings alon Review all of the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: - `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc` + ```http + GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc + ``` > [!TIP] > There should only be one **Compliance Change ID** per **Catalog ID** for a policy. If there are multiple **Compliance Change IDs** for the same **Catalog ID** then, most likely, there's multiple deployments for the same piece of content targeted to the same audience but with different deployment behaviors. To remove the duplicate, [delete the compliance change](/graph/api/resources/windowsupdates-compliancechange-delete) with the duplicate **Catalog ID**. Deleting the compliance change will mark any deployments created by the approval as `archived`. To retrieve the deployment ID, use the [expand parameter](/graph/query-parameters#expand-parameter) to review the deployment information related the content approval. The following example displays the content approval and the deployment information for **Compliance Change ID** `c03911a7-9876-5432-10ab-cdef98765432` in update **Policy ID** `9011c330-1234-5678-9abc-def012345678`: - `GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432/$/microsoft.graph.windowsUpdates.contentApproval?$expand=deployments` + ```http + GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432/$/microsoft.graph.windowsUpdates.contentApproval?$expand=deployments + ``` ### Edit deployment settings for a content approval diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 82c778446e..26f1f077a7 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -14,11 +14,15 @@ Use the [device](/graph/api/resources/device) resource type to find clients to e - Displays the **AzureAD Device ID** and **Name** of all devices: - `GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName` + ```http + GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName + ``` - Displays the **AzureAD Device ID** and **Name** for devices that have a name starting with `Test`: - `GET https://graph.microsoft.com/v1.0/devices?$filter=startswith (displayName,'Test')&$select=deviceid,displayName` + ```http + GET https://graph.microsoft.com/v1.0/devices?$filter=startswith (displayName,'Test')&$select=deviceid,displayName + ``` ### Add a request header for advanced queries @@ -33,12 +37,15 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo - Display the **Name** and **Operating system version** for the device that has `01234567-89ab-cdef-0123-456789abcdef` as the **AzureAD Device ID**: - `GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` + ```http + GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` + ``` - To find devices that likely aren't virtual machines, filter for devices that don't have virtual machine listed as the model but do have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: - `GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` - + ```http + GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` + ``` > [!Tip] > Requests using the [device](/graph/api/resources/device) resource type typically have both an `id` and a `deviceid`: diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index dcb8bae3c6..f3a3b6f229 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -40,4 +40,3 @@ Content-Type: application/json ] } ``` - From ef18e0d4a10f01906e0b1367a1a65e3d537b4c59 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 08:39:25 -0800 Subject: [PATCH 050/102] use include for audience --- .../update/deployment-service-drivers.md | 52 +--------------- .../deployment-service-feature-updates.md | 9 ++- ...wufb-deployment-audience-graph-explorer.md | 62 +++++++++++++++++++ 3 files changed, 72 insertions(+), 51 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index ad0ea346c9..3dd0468978 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -56,56 +56,8 @@ When you enroll devices into driver management, the deployment service becomes t ## Create a deployment audience and add audience members -1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. - - ```http - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences - content-type: application/json - - {} - ``` - - The POST returns an HTTP status code of `201 Created` as a response with the following body, where `id` is the **Audience ID**: - - ```json - { - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", - "id": "d39ad1ce-0123-4567-89ab-cdef01234567", - "reportingDeviceCount": 0, - "applicableContent": [] - } - ``` - - -1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. - - ```http - 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" - } - ] - } - ``` - -1. To verify the devices were added to the audience, run the following query using the **Audience ID**: - - ```http - GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members - ``` + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-audience-graph-explorer.md)] Once a device has been enrolled and added to a deployment audience, the Windows Update for Business deployment service will start collecting scan results from Windows Update to build a catalog of applicable drivers to be browsed, approved, and scheduled for deployment. diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 179632fc1e..31f1be5125 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -18,7 +18,7 @@ ms.date: 02/14/2023 In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) -> * [Run queries to identify test devices](#run-queries-to-identify-devices) +> * [Run queries to identify devices](#run-queries-to-identify-devices) > * [Enroll devices](#enroll-devices) > * Do Z > * Do Z @@ -50,6 +50,13 @@ As long as a device remains enrolled in feature update management, the device do [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] +## Create a deployment audience and add audience members + + +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-audience-graph-explorer.md)] + + + ## Unenroll devices diff --git a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md new file mode 100644 index 0000000000..def66f950b --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md @@ -0,0 +1,62 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + + +1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. + + ```http + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences + content-type: application/json + + {} + ``` + + The POST returns an HTTP status code of `201 Created` as a response with the following body, where `id` is the **Audience ID**: + + ```json + { + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deploymentAudiences/$entity", + "id": "d39ad1ce-0123-4567-89ab-cdef01234567", + "reportingDeviceCount": 0, + "applicableContent": [] + } + ``` + + +1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. + + ```http + 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" + } + ] + } + ``` + +1. To verify the devices were added to the audience, run the following query using the **Audience ID**: + + ```http + GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members + ``` From 772f602fd57c371439bcf3e5c53350da9b694aa1 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 08:48:45 -0800 Subject: [PATCH 051/102] formatting --- .../update/deployment-service-drivers.md | 40 +++++++++---------- .../deployment-service-feature-updates.md | 7 +++- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 3dd0468978..c546804851 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -26,7 +26,7 @@ The Windows Update for Business deployment service is used to approve and schedu > - [Review applicable driver content](#review-applicable-driver-content) > - [Approve driver content for deployment](#approve-driver-content-for-deployment) > - [Revoke content approval](#revoke-content-approval) -> - [Remove device enrollment](#remove-device-enrollment) +> - [Unenroll devices](#unenroll-devices) ## Prerequisites @@ -85,24 +85,24 @@ To create a policy without any deployment settings, in the request body specify Response returning the policy, without any additional settings specified, that has a **Policy ID** of `9011c330-1234-5678-9abc-def012345678`: - ```json - HTTP/1.1 202 Accepted - Content-type: application/json - { - "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", - "id": "9011c330-1234-5678-9abc-def012345678", - "createdDateTime": "2023-01-25T05:32:21.9721459Z", - "autoEnrollmentUpdateCategories": [], - "complianceChangeRules": [], - "deploymentSettings": { - "schedule": null, - "monitoring": null, - "contentApplicability": null, - "userExperience": null, - "expedite": null - } - } - ``` +```json +HTTP/1.1 202 Accepted +Content-type: application/json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", + "id": "9011c330-1234-5678-9abc-def012345678", + "createdDateTime": "2023-01-25T05:32:21.9721459Z", + "autoEnrollmentUpdateCategories": [], + "complianceChangeRules": [], + "deploymentSettings": { + "schedule": null, + "monitoring": null, + "contentApplicability": null, + "userExperience": null, + "expedite": null + } +} +``` ### Specify settings during policy creation @@ -325,7 +325,7 @@ Content-type: application/json } ``` -## Unenroll device +## Unenroll devices [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 31f1be5125..d344c3e572 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -15,6 +15,8 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** +The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). This article uses Graph Explorer to walk through the entire process of deploying a feature update to clients. In this article, you will: + In this article, you will: > [!div class="checklist"] > * [Open Graph Explorer](#open-graph-explorer) @@ -22,7 +24,8 @@ In this article, you will: > * [Enroll devices](#enroll-devices) > * Do Z > * Do Z -> * [Remove device enrollment](#remove-device-enrollment) +> - [Unenroll devices](#unenroll-devices) + ## Prerequisites @@ -61,4 +64,4 @@ As long as a device remains enrolled in feature update management, the device do ## Unenroll devices -[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] \ No newline at end of file +[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-graph-unenroll.md)] From dcdfa2310bd4a1ae3ced5349121a66f9ae0d2b42 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 11:24:16 -0800 Subject: [PATCH 052/102] additions --- .../deployment-service-feature-updates.md | 32 +++++++++++++++++++ ...wufb-deployment-audience-graph-explorer.md | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index d344c3e572..ebd015d5cc 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -55,11 +55,43 @@ As long as a device remains enrolled in feature update management, the device do ## Create a deployment audience and add audience members +> [!TIP] +> Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. + [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-audience-graph-explorer.md)] +## List catalog entries for feature updates +```http +GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') +``` +Truncated response: + +```json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries", + "value": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry", + "id": "f341705b-0b15-4ce3-aaf2-6a1681d78606", + "displayName": "Windows 10, version 22H2", + "deployableUntilDateTime": "2024-10-08T00:00:00Z", + "releaseDateTime": "2022-10-18T00:00:00Z", + "version": "Windows 10, version 22H2" + }, + { + "@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" + } + ] +} +``` ## Unenroll devices diff --git a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md index def66f950b..7122d2da37 100644 --- a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md @@ -55,7 +55,7 @@ ms.localizationpriority: medium } ``` -1. To verify the devices were added to the audience, run the following query using the **Audience ID**: +1. To verify the devices were added to the audience, run the following query using the **Audience ID** of `d39ad1ce-0123-4567-89ab-cdef01234567`: ```http GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members From 0f33b308917dc6620675ec467a24221f35a13bd0 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 11:24:23 -0800 Subject: [PATCH 053/102] additions --- .../deployment/update/deployment-service-feature-updates.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index ebd015d5cc..fa85a7fb81 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -22,6 +22,8 @@ In this article, you will: > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify devices](#run-queries-to-identify-devices) > * [Enroll devices](#enroll-devices) +> * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) +> * [List catalog entries for feature updates](#list-catalog-entries-for-feature-updates) > * Do Z > * Do Z > - [Unenroll devices](#unenroll-devices) @@ -63,6 +65,7 @@ As long as a device remains enrolled in feature update management, the device do ## List catalog entries for feature updates + ```http GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') ``` From 366d7ec9e82a7855e3114ff4277e9c0da7d5009f Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 12:01:05 -0800 Subject: [PATCH 054/102] additions --- .../update/deployment-service-feature-updates.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index fa85a7fb81..9cde2707d2 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -19,7 +19,7 @@ The Windows Update for Business deployment service is used to approve and schedu In this article, you will: > [!div class="checklist"] -> * [Open Graph Explorer](#open-graph-explorer) +> * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify devices](#run-queries-to-identify-devices) > * [Enroll devices](#enroll-devices) > * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) @@ -50,13 +50,15 @@ All of the [prerequisites for the Windows Update for Business deployment service ## Enroll devices -As long as a device remains enrolled in feature update management, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. +As long as a device remains enrolled in feature update management through the deployment service, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. A device is offered the specified feature update if it hasn't already received the update. For example, if you deploy Windows 11 feature update version 22H2 to a device that's enrolled into feature update management and is currently on an older version of Windows 11, the device updates to version 22H2. If the device is already at or above version 22H2, it stays on its current version. [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] ## Create a deployment audience and add audience members + + > [!TIP] > Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. @@ -66,6 +68,7 @@ As long as a device remains enrolled in feature update management, the device do ## List catalog entries for feature updates + ```http GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') ``` @@ -96,6 +99,11 @@ Truncated response: } ``` +## Create a deployment + + + + ## Unenroll devices From 01c74a2a0669846b07879f13ef686d9e37095b6e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 14:50:37 -0800 Subject: [PATCH 055/102] edits --- .../update/deployment-service-feature-updates.md | 11 +++++------ .../wufb-deployment-audience-graph-explorer.md | 3 ++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 9cde2707d2..2729080c53 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -50,18 +50,17 @@ All of the [prerequisites for the Windows Update for Business deployment service ## Enroll devices -As long as a device remains enrolled in feature update management through the deployment service, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. A device is offered the specified feature update if it hasn't already received the update. For example, if you deploy Windows 11 feature update version 22H2 to a device that's enrolled into feature update management and is currently on an older version of Windows 11, the device updates to version 22H2. If the device is already at or above version 22H2, it stays on its current version. +When you enroll devices into feature update management, the deployment service becomes the authority for feature updates coming from Windows Update. +As long as a device remains enrolled in feature update management through the deployment service, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. A device is offered the specified feature update if it hasn't already received the update. For example, if you deploy Windows 11 feature update version 22H2 to a device that's enrolled into feature update management and is currently on an older version of Windows 11, the device updates to version 22H2. If the device is already running version 22H2 or a later version, it stays on its current version. + +> [!TIP] +> Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] ## Create a deployment audience and add audience members - - -> [!TIP] -> Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. - [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-audience-graph-explorer.md)] diff --git a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md index 7122d2da37..4bd33058e7 100644 --- a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md @@ -9,8 +9,9 @@ ms.date: 02/14/2023 ms.localizationpriority: medium --- +A deployment audience is a collection of devices that you want to deploy updates to. The audience needs to be created first, then members are added to the audience. Use the following steps to create a deployment audience, add members, and verify it: -1. Create an audience for the driver deployment. The deployment audience is a collection of member devices that will receive the driver deployment. **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}` to create a new audience. +1. To create a new audience, **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}`. ```http POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences From 563184145178969e0d0f28fdaeb693ef78cc67fa Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 6 Feb 2023 16:04:31 -0800 Subject: [PATCH 056/102] edits --- .../deployment/update/deployment-service-feature-updates.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 2729080c53..aaa168e2dc 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -66,8 +66,7 @@ As long as a device remains enrolled in feature update management through the de ## List catalog entries for feature updates - - +Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information see, the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: ```http GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') ``` From 4f69ec865646f7976089fc9fcf65b78901307612 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 10:59:47 -0800 Subject: [PATCH 057/102] edits --- .../deployment-service-feature-updates.md | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index aaa168e2dc..9a91f6c3fc 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -24,6 +24,8 @@ In this article, you will: > * [Enroll devices](#enroll-devices) > * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > * [List catalog entries for feature updates](#list-catalog-entries-for-feature-updates) +> * [Create a deployment](#create-a-deployment) +> * Do Z > * Do Z > * Do Z > - [Unenroll devices](#unenroll-devices) @@ -66,25 +68,18 @@ As long as a device remains enrolled in feature update management through the de ## List catalog entries for feature updates -Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information see, the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: +Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information see, the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: + ```http GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') ``` -Truncated response: +The following truncated response displays a **Catalog ID** of `d9049ddb-0ca8-4bc1-bd3c-41a456ef300f` for the Windows 11, version 22H2 feature update: ```json { "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries", "value": [ - { - "@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry", - "id": "f341705b-0b15-4ce3-aaf2-6a1681d78606", - "displayName": "Windows 10, version 22H2", - "deployableUntilDateTime": "2024-10-08T00:00:00Z", - "releaseDateTime": "2022-10-18T00:00:00Z", - "version": "Windows 10, version 22H2" - }, { "@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry", "id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f", @@ -99,8 +94,46 @@ Truncated response: ## Create a deployment +When creating a deployment for a feature update, there are multiple options available to define how the deployment behaves. The following [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) are defined in the example request body for deploying the Windows 11, version 22H2 feature update (**Catalog ID** of `d9049ddb-0ca8-4bc1-bd3c-41a456ef300f`): +- Deployment [start date](/graph/api/resources/windowsupdates-schedulesettings) of February 14, 2023 at 5 AM UTC +- [Gradual rollout](/graph/api/resources/windowsupdates-gradualrolloutsettings) at a rate of 100 devices every 3 days +- [Monitoring rule](/graph/api/resources/windowsupdates-monitoringrule) that will pause the deployment if 5 devices rollback the feature update +- Default [safeguard hold](/graph/api/resources/windowsupdates-safeguardprofile) behavior of applying all applicable safeguards to devices in a deployment + - When safeguard holds aren't explicitly defined, the default safeguard hold behavior is applied automatically +```http +{ + "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.dateDrivenRolloutSettings", + "durationBetweenOffers": "P3D", + "devicesPerOffer": "100" + } + }, + "monitoring": { + "@odata.type": "microsoft.graph.windowsUpdates.monitoringSettings", + "monitoringRules": [ + { + "signal": "rollback", + "threshold": 5, + "action": "pauseDeployment" + } + ] + } + } +} +``` ## Unenroll devices From d3fd9a15cbeea148c23168ba652583ba4cb9bf75 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 13:49:36 -0800 Subject: [PATCH 058/102] edits --- .../deployment-service-feature-updates.md | 137 ++++++++++++++++-- 1 file changed, 124 insertions(+), 13 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 9a91f6c3fc..a9b5b8effa 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -22,7 +22,6 @@ In this article, you will: > * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify devices](#run-queries-to-identify-devices) > * [Enroll devices](#enroll-devices) -> * [Create a deployment audience and add audience members](#create-a-deployment-audience-and-add-audience-members) > * [List catalog entries for feature updates](#list-catalog-entries-for-feature-updates) > * [Create a deployment](#create-a-deployment) > * Do Z @@ -55,20 +54,15 @@ All of the [prerequisites for the Windows Update for Business deployment service When you enroll devices into feature update management, the deployment service becomes the authority for feature updates coming from Windows Update. As long as a device remains enrolled in feature update management through the deployment service, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. A device is offered the specified feature update if it hasn't already received the update. For example, if you deploy Windows 11 feature update version 22H2 to a device that's enrolled into feature update management and is currently on an older version of Windows 11, the device updates to version 22H2. If the device is already running version 22H2 or a later version, it stays on its current version. -> [!TIP] -> Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. + > [!TIP] + > Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] -## Create a deployment audience and add audience members - - -[!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-audience-graph-explorer.md)] - ## List catalog entries for feature updates -Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information see, the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: +Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information, see the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: ```http GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') @@ -97,12 +91,14 @@ The following truncated response displays a **Catalog ID** of `d9049ddb-0ca8-4b When creating a deployment for a feature update, there are multiple options available to define how the deployment behaves. The following [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) are defined in the example request body for deploying the Windows 11, version 22H2 feature update (**Catalog ID** of `d9049ddb-0ca8-4bc1-bd3c-41a456ef300f`): - Deployment [start date](/graph/api/resources/windowsupdates-schedulesettings) of February 14, 2023 at 5 AM UTC -- [Gradual rollout](/graph/api/resources/windowsupdates-gradualrolloutsettings) at a rate of 100 devices every 3 days -- [Monitoring rule](/graph/api/resources/windowsupdates-monitoringrule) that will pause the deployment if 5 devices rollback the feature update +- [Gradual rollout](/graph/api/resources/windowsupdates-gradualrolloutsettings) at a rate of 100 devices every three days +- [Monitoring rule](/graph/api/resources/windowsupdates-monitoringrule) that will pause the deployment if five devices rollback the feature update - Default [safeguard hold](/graph/api/resources/windowsupdates-safeguardprofile) behavior of applying all applicable safeguards to devices in a deployment - When safeguard holds aren't explicitly defined, the default safeguard hold behavior is applied automatically ```http +POST https://graph.microsoft.com/beta/admin/windows/updates/deployments +Content-type: application/json { "content": { "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", @@ -116,13 +112,12 @@ When creating a deployment for a feature update, there are multiple options avai "schedule": { "startDateTime": "2023-02-14T05:00:00Z", "gradualRollout": { - "@odata.type": "#microsoft.graph.windowsUpdates.dateDrivenRolloutSettings", + "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", "durationBetweenOffers": "P3D", "devicesPerOffer": "100" } }, "monitoring": { - "@odata.type": "microsoft.graph.windowsUpdates.monitoringSettings", "monitoringRules": [ { "signal": "rollback", @@ -135,6 +130,122 @@ When creating a deployment for a feature update, there are multiple options avai } ``` +The response body will contain: +- The new **Deployment ID**, `de910e12-3456-7890-abcd-ef1234567890` in the example +- The new **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567` in the example +- Any settings defined in the deployment request body + + ```json + { + "@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": [] + } + } + ``` + +### Edit a deployment + +To [update deployment](/graph/api/windowsupdates-deployment-update), PATCH the deployment resource by its **Deployment ID** and supply the updated settings in the request body. The following example keeps the existing gradual rollout settings that were defined when creating the deployment but changes the deployment start date to February 28, 2023 at 5 AM UTC: + +```http +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" + } + } + } +} + +``` + +To verify the deployment settings for the **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: + +```http +GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 +``` + +## Add members to the deployment audience + + + +The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: + + ```http + 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" + } + ] + } + ``` + ## Unenroll devices From 61c406c70ea77cc79cf4262ea572685992eff8bf Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 13:50:49 -0800 Subject: [PATCH 059/102] edits --- windows/deployment/update/deployment-service-feature-updates.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index a9b5b8effa..6879eaae9f 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -220,8 +220,6 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12- ## Add members to the deployment audience - - The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: ```http From a81d8f48a0b27977b907af0cba5a58d7ab101372 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 14:16:54 -0800 Subject: [PATCH 060/102] edits --- windows/deployment/update/deployment-service-feature-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 6879eaae9f..938b880eaa 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -212,7 +212,7 @@ Content-type: application/json ``` -To verify the deployment settings for the **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: +Verify the deployment settings for the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: ```http GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 From e1183462b6a7c38b70dc28ccdf6515edcb254332 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:41:42 -0800 Subject: [PATCH 061/102] edits --- .../deployment-service-feature-updates.md | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 938b880eaa..981e6f057d 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -24,9 +24,8 @@ In this article, you will: > * [Enroll devices](#enroll-devices) > * [List catalog entries for feature updates](#list-catalog-entries-for-feature-updates) > * [Create a deployment](#create-a-deployment) -> * Do Z -> * Do Z -> * Do Z +> * [Add members to the deployment audience](#add-members-to-the-deployment-audience) +> * [Pause a deployment](#pause-a-deployment) > - [Unenroll devices](#unenroll-devices) @@ -220,7 +219,9 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12- ## Add members to the deployment audience -The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: +The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. After the deployment audience is updated, Windows Update starts offering the update to the devices according to the deployment settings. As long as the deployment exists and the device is in the audience, the update will be offered + +The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: ```http POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience @@ -244,6 +245,24 @@ The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when th } ``` +## Pause a deployment + +To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: + +```http + +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" + } +} +``` + ## Unenroll devices From 7150ece5697258e3388455559fd82f6401b84c20 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:57:49 -0800 Subject: [PATCH 062/102] edits --- .../deployment/update/deployment-service-drivers.md | 10 +++++++++- .../update/deployment-service-feature-updates.md | 12 ++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index c546804851..3a4f67a79d 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -15,7 +15,9 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** -The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). This article uses Graph Explorer to walk through the entire process of deploying a driver update to clients. In this article, you will: +The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). + +This article uses [Graph Explorer](/graph/graph-explorer/graph-explorer-overview) to walk through the entire process of deploying a driver update to clients. In this article, you will: > [!div class="checklist"] > > - [Open Graph Explorer](#open-graph-explorer) @@ -325,6 +327,12 @@ Content-type: application/json } ``` +To display all deployments with the most recently created returned first, order deployments based on the `createdDateTime`: + +```http +GET https://graph.microsoft.com/beta/admin/windows/updates/deployments?orderby=createdDateTime desc +``` + ## Unenroll devices diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 981e6f057d..41387215a9 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -15,7 +15,9 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** -The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). This article uses Graph Explorer to walk through the entire process of deploying a feature update to clients. In this article, you will: +The Windows Update for Business deployment service is used to approve and schedule software updates. The deployment service exposes its capabilities through the [Microsoft Graph API](/graph/use-the-api). You can call the API directly, through a [Graph SDK](/graph/sdks/sdks-overview), or integrate them with a management tool such as [Microsoft Intune](/mem/intune). + +This article uses [Graph Explorer](/graph/graph-explorer/graph-explorer-overview) to walk through the entire process of deploying a feature update to clients. In this article, you will: In this article, you will: > [!div class="checklist"] @@ -26,7 +28,7 @@ In this article, you will: > * [Create a deployment](#create-a-deployment) > * [Add members to the deployment audience](#add-members-to-the-deployment-audience) > * [Pause a deployment](#pause-a-deployment) -> - [Unenroll devices](#unenroll-devices) +> * [Unenroll devices](#unenroll-devices) ## Prerequisites @@ -219,7 +221,7 @@ GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12- ## Add members to the deployment audience -The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. After the deployment audience is updated, Windows Update starts offering the update to the devices according to the deployment settings. As long as the deployment exists and the device is in the audience, the update will be offered +The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. After the deployment audience is updated, Windows Update starts offering the update to the devices according to the deployment settings. As long as the deployment exists and the device is in the audience, the update will be offered. The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: @@ -247,7 +249,9 @@ The following example adds three devices to the deployment audience using the ** ## Pause a deployment -To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: +To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. + +The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: ```http From e0134f4d1869ecb40b80408a2f72543cb056b28a Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 9 Feb 2023 11:53:49 -0800 Subject: [PATCH 063/102] rework overview --- windows/deployment/TOC.yml | 10 +++-- .../update/deployment-service-overview.md | 35 +++++++++++++----- .../7512398-deployment-service-overview.png | Bin 0 -> 41461 bytes .../update/media/wufbds-product-large.png | Bin 18536 -> 0 bytes 4 files changed, 31 insertions(+), 14 deletions(-) create mode 100644 windows/deployment/update/media/7512398-deployment-service-overview.png delete mode 100644 windows/deployment/update/media/wufbds-product-large.png diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index bdaffc1953..b6cff644d0 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -170,7 +170,7 @@ href: update/waas-integrate-wufb.md - name: 'Walkthrough: use Group Policy to configure Windows Update for Business' href: update/waas-wufb-group-policy.md - - name: 'Walkthrough: use Intune to configure Windows Update for Business' + - name: 'Walkupdatesthrough: use Intune to configure Windows Update for Business' href: update/deploy-updates-intune.md - name: Windows Update for Business deployment service items: @@ -180,12 +180,14 @@ href: update/deployment-service-prerequisites.md - name: Deploy updates with Windows Update for Business deployment service items: - - name: Deploy feature updates + - name: Deploy feature updates using Graph Explorer href: update/deployment-service-feature-updates.md - - name: Deploy expedited updates + - name: Deploy expedited updates using Graph Explorer href: update/deployment-service-expedited-updates.md - - name: Deploy driver and firmware updates + - name: Deploy driver and firmware updates using Graph Explorer href: update/deployment-service-drivers.md + - name: Deploy expedited updates using Intune + href: /mem/intune/protect/windows-10-expedite-updates?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Troubleshoot Windows Update for Business deployment service href: update/deployment-service-troubleshoot.md - name: Monitor diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index f74ac54e66..6e6dac6335 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -17,23 +17,34 @@ ms.date: 12/31/2017 ***(Applies to: Windows 11 & Windows 10)*** -The Windows Update for Business deployment service is a cloud service within the Windows Update for Business product family. It provides control over the approval, scheduling, and safeguarding of updates delivered from Windows Update. It's designed to work in harmony with your existing Windows Update for Business policies. +The Windows Update for Business deployment service is a cloud service within the Windows Update for Business product family. It's designed to work with your existing [Windows Update for Business](waas-manage-updates-wufb.md) policies and [Windows Update for Business reports](wufb-reports-overview.md). The deployment service provides control over the approval, scheduling, and safeguarding of updates delivered from Windows Update to managed devices. The service is privacy focused and backed by leading industry compliance certifications. -The deployment service is designed for IT Pros who are looking for more control than is provided through deferral policies and deployment rings. It provides the following abilities: +## Capabilities of the Windows Update for Business deployment service -- You can schedule deployment of updates to start on a specific date (for example, deploy 20H2 to specified devices on March 14, 2021). -- You can stage deployments over a period of days or weeks by using rich expressions (for example, deploy 20H2 to 500 devices per day, beginning on March 14, 2021). -- You can bypass pre-configured Windows Update for Business policies to immediately deploy a security update across your organization when emergencies arise. -- You can benefit from deployments with automatic piloting tailored to your unique device population to ensure coverage of hardware and software in your organization. -- You can use safeguards against likely update issues that have been identified by Microsoft machine-learning algorithms and automatically hold the deployment for any affected devices. +The deployment service is designed for IT Pros who are looking for more control than is provided through deferral policies and deployment rings. The service provides the following capabilities: -The service is privacy focused and backed by leading industry compliance certifications. +- **Approval and scheduling**: Approve and schedule deployment of updates to start on a specific date + - *Example*: Deploy the Windows 11 22H2 feature update to specified devices on February 17, 2023. +- **Gradual rollout**: Stage deployments over a period of days or weeks by specifying gradual rollout settings + - *Example*: Deploy the Windows 11 22H2 feature update to 500 devices per day, beginning on February 17, 2023 +- **Expedite**: Bypass the configured Windows Update for Business policies to immediately deploy a security update across the organization +- **Safeguard holds**: Automatically holds the deployment for devices that may be impacted by an update issue identified by Microsoft machine-learning algorithms -## How it works +Certain capabilities are available for specific update classifications: + +|Capabilities | Quality updates | Feature updates | Drivers and firmware| +|---|---|---|---| +|Approval and scheduling | | Yes | Yes | +|Gradual rollout | | Yes | Yes | +|Expedite | Yes | | | +|Safeguard holds| | Yes | | + + +## How the deployment service works The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). -:::image type="content" source="media/wufbds-product-large.png" alt-text="Elements in following text."::: +:::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Elements in following text."::: Windows Update for Business comprises three elements: - Client policy to govern update experiences and timing – available through Group Policy and CSPs @@ -74,6 +85,10 @@ Additionally, your organization must have one of the following subscriptions: - Windows Virtual Desktop Access E3 or E5 - Microsoft 365 Business Premium +## Limitations + +Windows Update for Business deployment service is a Windows service hosted in Azure that uses Windows diagnostic data. You should be aware that Windows Update for Business deployment service doesn't meet [US Government community compliance (GCC)](/office365/servicedescriptions/office-365-platform-service-description/office-365-us-government/gcc#us-government-community-compliance) requirements. For a list of GCC offerings for Microsoft products and services, see the [Microsoft Trust Center](/compliance/regulatory/offering-home). Windows Update for Business deployment service is available in the Azure Commercial cloud, but not available for GCC High or United States Department of Defense customers. + ## Getting started To use the deployment service, you use a management tool built on the platform, script common actions using PowerShell, or build your own application. diff --git a/windows/deployment/update/media/7512398-deployment-service-overview.png b/windows/deployment/update/media/7512398-deployment-service-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2085fb27b31d4c828afba6c382c2aa9332baa0 GIT binary patch literal 41461 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

?813-i}%;e@xMRy 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

L} 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

)VjUG00M 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

Zo|O~ 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%0Dj)(7C^8&bqAuuV41pXnz=NJX24tLzb@)dFwy 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 Update status group for drivers From ae649642f132588ff89ba3e3991d48e8ef54bab1 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 15:00:02 -0800 Subject: [PATCH 090/102] edits --- windows/deployment/update/wufb-reports-workbook.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/wufb-reports-workbook.md b/windows/deployment/update/wufb-reports-workbook.md index 086351c765..44a17e11d1 100644 --- a/windows/deployment/update/wufb-reports-workbook.md +++ b/windows/deployment/update/wufb-reports-workbook.md @@ -23,7 +23,7 @@ ms.technology: itpro-updates - [Delivery Optimization](#bkmk_do) - [Driver updates](#driver-updates-tab) -:::image type="content" source="media/33771278-wufb-reports-workbook-summary.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook with the three tabbed sections outlined in red." lightbox="media/33771278-wufb-reports-workbook-summary.png"::: +:::image type="content" source="media/33771278-wufb-reports-workbook-summary.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook. The three tabbed sections are outlined in red." lightbox="media/33771278-wufb-reports-workbook-summary.png"::: ## Open the Windows Update for Business reports workbook @@ -168,7 +168,7 @@ The **Driver update** tab provides generalized data at the top by using tiles. T Selecting **View details** on any of the tiles displays a flyout with a chart that displays the first 250 items. Select `...` from the flyout to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). -:::image type="content" source="imedia/7539531-wufb-reports-workbook-drivers.png" alt-text="Screenshot of the update status tab in the Windows Update for Business reports workbook for driver updates." lightbox="media/7539531-wufb-reports-workbook-drivers.png"::: +:::image type="content" source="imedia/7539531-wufb-reports-workbook-drivers.png" alt-text="Screenshot of the update status tab for driver updates." lightbox="media/7539531-wufb-reports-workbook-drivers.png"::: Just like the [**Quality updates**](#quality-updates-tab) and [**Feature updates**](#feature-updates-tab) tabs, the **Driver updates** tab is also subdivided into **Update status** and **Device status** groups below the tiles. These different chart groups allow you to easily discover trends in compliance data. From d20a9797a5abcdf8396d44a60931132f231daba0 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 15:46:45 -0800 Subject: [PATCH 091/102] edit ucclientupdatestatus --- .../update/wufb-reports-schema-ucclientupdatestatus.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md index 6bd8442700..391fef3724 100644 --- a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md +++ b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md @@ -20,6 +20,7 @@ Update Event that combines the latest client-based data with the latest service- |---|---|---|---| | **AzureADDeviceId** | [string](/azure/kusto/query/scalar-data-types/string) | `71db1a1a-f1a6-4a25-b88f-79c2f513dae0` | A string corresponding to the Azure AD tenant to which the device belongs. | | **AzureADTenantId** | [string](/azure/kusto/query/scalar-data-types/string) | `69ca04b0-703d-4b3a-9184-c4e3c15d6f5e` | A string corresponding to this device's Azure AD device ID | +|**CatalogId** | [ string](/azure/kusto/query/scalar-data-types/string) | `b0f410599615e2ce15e6614ac3fc4ec62d80324020351e172edef89091a64f2f` | The update catalog ID | | **ClientState** | [string](/azure/kusto/query/scalar-data-types/string) | `Installing` | Higher-level bucket of ClientSubstate. | | **ClientSubstate** | [string](/azure/kusto/query/scalar-data-types/string) | `DownloadStart` | Last-known state of this update relative to the device, from the client. | | **ClientSubstateRank** | [int](/azure/kusto/query/scalar-data-types/int) | `2300` | Ranking of client substates for sequential ordering in funnel-type views. The rankings between ServiceSubstate and ClientSubstate can be used together. | @@ -29,9 +30,11 @@ Update Event that combines the latest client-based data with the latest service- | **FurthestClientSubstate** | [string](/azure/kusto/query/scalar-data-types/string) | `DownloadComplete` | Furthest clientSubstate | | **FurthestClientSubstateRank** | [int](/azure/kusto/query/scalar-data-types/int) | `2400` | Ranking of furthest clientSubstate | | **GlobalDeviceId** | [string](/azure/kusto/query/scalar-data-types/string) | `g:9832741921341` | Microsoft internal global device identifier | +| **IsUpdateHealty** | [bool](/azure/data-explorer/kusto/query/scalar-data-types/bool) | `1` | True: No issues preventing this device from updating to this update have been found. False: There is something that may prevent this device from updating. | | **OfferReceivedTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Date and time when device last reported entering OfferReceived, else empty. | | **RestartRequiredTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Date and time when device first reported entering RebootRequired (or RebootPending), else empty. | | **SCCMClientId** | [string](/azure/kusto/query/scalar-data-types/string) | `5AB72FAC-93AB-4954-9AB0-6557D0EFA245` | A string corresponding to the Configuration Manager Client ID on the device. | +| **SourceSystem** | [string](/azure/kusto/query/scalar-data-types/string)| `Azure`| | | **TargetBuild** | [string](/azure/kusto/query/scalar-data-types/string) | `10.0.18363.836` | The full build of the content this DeviceUpdateEvent is tracking. For Windows 10 updates, this value would correspond to the full build (10.0.14393.385). | | **TargetBuildNumber** | [int](/azure/kusto/query/scalar-data-types/int) | `18363` | Integer of the Major portion of Build. | | **TargetKBNumber** | [int](/azure/kusto/query/scalar-data-types/int) | `4524570` | KB Article. | @@ -42,6 +45,8 @@ Update Event that combines the latest client-based data with the latest service- | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | | **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether the update classification is an upgrade (feature update), security (quality update), non-security (quality update) | | **UpdateDisplayName** | [string](/azure/kusto/query/scalar-data-types/string) | `Windows 10 1909` | The long-form display name for the given update. Varies on content type (feature update. quality update) | +| **UpdateId** | [string](/azure/kusto/query/scalar-data-types/string) | `10e519f0-06ae-4141-8f53-afee63e995f0` |Update ID of the targeted update| | **UpdateInstalledTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | DateTime when event transitioned to UpdateInstalled, else empty. | +| **UpdateManufacturer** | [string](/azure/kusto/query/scalar-data-types/string) | `Microsoft` | Manufacturer of update. Microsoft for feature or quality updates, for drivers the name of driver manufacturer. | | **UpdateReleaseTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The release date of the update | | **UpdateSource** | [string](/azure/kusto/query/scalar-data-types/string) | `UUP` | The source of the update such as UUP, MUv6, Media | From 4199f618f44c81fd84e9415a7391899b955023b8 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 16:04:57 -0800 Subject: [PATCH 092/102] edit ucserviceupdatestatus --- .../wufb-reports-schema-ucclientupdatestatus.md | 2 +- .../wufb-reports-schema-ucserviceupdatestatus.md | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md index 391fef3724..f92824b5f1 100644 --- a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md +++ b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md @@ -20,7 +20,7 @@ Update Event that combines the latest client-based data with the latest service- |---|---|---|---| | **AzureADDeviceId** | [string](/azure/kusto/query/scalar-data-types/string) | `71db1a1a-f1a6-4a25-b88f-79c2f513dae0` | A string corresponding to the Azure AD tenant to which the device belongs. | | **AzureADTenantId** | [string](/azure/kusto/query/scalar-data-types/string) | `69ca04b0-703d-4b3a-9184-c4e3c15d6f5e` | A string corresponding to this device's Azure AD device ID | -|**CatalogId** | [ string](/azure/kusto/query/scalar-data-types/string) | `b0f410599615e2ce15e6614ac3fc4ec62d80324020351e172edef89091a64f2f` | The update catalog ID | +|**CatalogId** | [string](/azure/kusto/query/scalar-data-types/string) | `b0f410599615e2ce15e6614ac3fc4ec62d80324020351e172edef89091a64f2f` | The update catalog ID | | **ClientState** | [string](/azure/kusto/query/scalar-data-types/string) | `Installing` | Higher-level bucket of ClientSubstate. | | **ClientSubstate** | [string](/azure/kusto/query/scalar-data-types/string) | `DownloadStart` | Last-known state of this update relative to the device, from the client. | | **ClientSubstateRank** | [int](/azure/kusto/query/scalar-data-types/int) | `2300` | Ranking of client substates for sequential ordering in funnel-type views. The rankings between ServiceSubstate and ClientSubstate can be used together. | diff --git a/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md b/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md index 87184d6464..dfdf1f0097 100644 --- a/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md +++ b/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md @@ -20,14 +20,24 @@ Update Event that comes directly from the service-side. The event has only servi |---|---|---|---| | **AzureADDeviceId** | [string](/azure/kusto/query/scalar-data-types/string) | `71db1a1a-f1a6-4a25-b88f-79c2f513dae0` | If this DeviceUpdateEvent is from content deployed by a deployment scheduler service policy, this GUID will map to that policy, otherwise it will be empty. | | **AzureADTenantId** | [string](/azure/kusto/query/scalar-data-types/string) | `69ca04b0-703d-4b3a-9184-c4e3c15d6f5e` | A GUID corresponding to the Azure AD tenant to which the device belongs. | -| **DeploymentId** | [string](/azure/kusto/query/scalar-data-types/string) | `cf1b12a3-3d84-4ce3-bc8e-de48459e252d` | If this DeviceUpdateEvent is from content deployed by a deployment scheduler service policy, this GUID will map to that policy, otherwise it will be empty. | +|**CatalogId** | [string](/azure/kusto/query/scalar-data-types/string) | `b0f410599615e2ce15e6614ac3fc4ec62d80324020351e172edef89091a64f2f` | The update catalog ID | +| **DeploymentApprovedTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2022-05-14 09:26:03.478039` | Date and time of the update approval | +| **DeploymentId** | [string](/azure/kusto/query/scalar-data-types/string) |`cf1b12a3-3d84-4ce3-bc8e-de48459e252d` | If this DeviceUpdateEvent is from content deployed by a deployment scheduler service policy, this GUID will map to that policy, otherwise it will be empty. | +| **DeploymentName** | [string](/azure/kusto/query/scalar-data-types/string) |`My deployment` | Friendly name of the created deployment | +| **DeploymentIsExpedited** | [bool](/azure/data-explorer/kusto/query/scalar-data-types/bool) | `1` | Whether the content is being expedited | +| **DeploymentRevokeTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2022-05-14 09:26:03.478039` | Date and time the update was revoked | | **GlobalDeviceId** | [string](/azure/kusto/query/scalar-data-types/string) | `g:9832741921341` | Microsoft internal global device identifier | | **OfferReadyTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | DateTime of OfferReady transition. If empty, not yet been offered. | +| **PolicyCreatedTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Date and time the policy was created | +| **PolicyId** | [string](/azure/kusto/query/scalar-data-types/string) | `9011c330-1234-5678-9abc-def012345678` | The policy identifier targeting the update to this device | +| **PolicyName** | [string](/azure/kusto/query/scalar-data-types/string) | `My policy` | Friendly name of the policy | | **ServiceState** | [string](/azure/kusto/query/scalar-data-types/string) | `Offering` | High-level state of update's status relative to device, service-side. | | **ServiceSubstate** | [string](/azure/kusto/query/scalar-data-types/string) | `OfferReady` | Low-level state of update's status relative to device, service-side. | | **ServiceSubstateTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Date and time of last ServiceSubstate transition. | +| **SourceSystem** | [string](/azure/kusto/query/scalar-data-types/string)| `Azure`| | | **TargetBuild** | [string](/azure/kusto/query/scalar-data-types/string) | `10.0.18363.836` | The full build for the content this event is tracking. For Windows 10, this string corresponds to "10.0.Build.Revision" | | **TargetVersion** | [int](/azure/kusto/query/scalar-data-types/int) | `1909` | The version of content this DeviceUpdateEvent is tracking. For Windows 10 updates, this number would correspond to the year/month version format used, such as 1903. | +| **TenantId** | [string](/azure/kusto/query/scalar-data-types/string) | `9011c330-1234-5678-9abc-def012345678` | Azure AD tenant ID | | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Time the snapshot ran can also be the same as EventDateTimeUTC in some cases. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `ServiceUpdateEvent` | The EntityType | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | From c8fc5e5be5435a780577c0f17068eb87facd2fcc Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 18:50:48 -0800 Subject: [PATCH 093/102] edit ucserviceupdatestatus --- .../update/wufb-reports-schema-ucclientupdatestatus.md | 2 +- .../update/wufb-reports-schema-ucdevicealert.md | 2 +- .../wufb-reports-schema-ucserviceupdatestatus.md | 10 +++++++++- .../update/wufb-reports-schema-ucupdatealert.md | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md index f92824b5f1..12318c9c53 100644 --- a/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md +++ b/windows/deployment/update/wufb-reports-schema-ucclientupdatestatus.md @@ -43,7 +43,7 @@ Update Event that combines the latest client-based data with the latest service- | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The time the snapshot generated this specific record. This is to determine to which batch snapshot this record belongs. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `DeviceUpdateEvent` | The EntityType | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | -| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether the update classification is an upgrade (feature update), security (quality update), non-security (quality update) | +| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether the update classification is an upgrade (feature update), security (quality update), non-security (quality update), or driver | | **UpdateDisplayName** | [string](/azure/kusto/query/scalar-data-types/string) | `Windows 10 1909` | The long-form display name for the given update. Varies on content type (feature update. quality update) | | **UpdateId** | [string](/azure/kusto/query/scalar-data-types/string) | `10e519f0-06ae-4141-8f53-afee63e995f0` |Update ID of the targeted update| | **UpdateInstalledTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | DateTime when event transitioned to UpdateInstalled, else empty. | diff --git a/windows/deployment/update/wufb-reports-schema-ucdevicealert.md b/windows/deployment/update/wufb-reports-schema-ucdevicealert.md index 78efd1d68b..e515e80e13 100644 --- a/windows/deployment/update/wufb-reports-schema-ucdevicealert.md +++ b/windows/deployment/update/wufb-reports-schema-ucdevicealert.md @@ -43,4 +43,4 @@ These alerts are activated as a result of an issue that is device-specific. It i | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The time the snapshot generated this specific record. This is to determine to which batch snapshot this record belongs. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `UpdateAlert` | The entity type. | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | -| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this content is an upgrade (feature update), security (quality update), non-security (quality update) | +| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this content is an upgrade (feature update), security (quality update), non-security (quality update), or driver | diff --git a/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md b/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md index dfdf1f0097..8e8e34ea82 100644 --- a/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md +++ b/windows/deployment/update/wufb-reports-schema-ucserviceupdatestatus.md @@ -41,4 +41,12 @@ Update Event that comes directly from the service-side. The event has only servi | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Time the snapshot ran can also be the same as EventDateTimeUTC in some cases. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `ServiceUpdateEvent` | The EntityType | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | -| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this update is an upgrade (feature update), security (quality update), non-security (quality update) | +| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this update is an upgrade (feature update), security (quality update), non-security (quality update), or driver | +| **UpdateDisplayName** | [string](/azure/kusto/query/scalar-data-types/string) | `Windows 10 1909` | The long-form display name for the given update. Varies on content type (feature update. quality update) | +| **UpdateId** | [string](/azure/kusto/query/scalar-data-types/string) | `10e519f0-06ae-4141-8f53-afee63e995f0` |Update ID of the targeted update| +| **UpdateManufacturer** | [string](/azure/kusto/query/scalar-data-types/string) | `Microsoft` | Manufacturer of update. Microsoft for feature or quality updates, for drivers the name of driver manufacturer. | +|**UpdateProvider** | [string](/azure/kusto/query/scalar-data-types/string) | `Microsoft` | Update provider of drivers and firmware | +| **UpdateRecommendedTime** |[datetime](/azure/kusto/query/scalar-data-types/datetime) | `2022-05-14 09:26:03.478039` | Date and time when the update was recommended to the device | +| **UpdateReleaseTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The release date of the update | +|**UpdateVersion** | [string](/azure/kusto/query/scalar-data-types/string) | `20.0.19.3` | Update version of drivers or firmware | +| **UpdateVersionTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | Update version date time stamp for drivers and firmware | diff --git a/windows/deployment/update/wufb-reports-schema-ucupdatealert.md b/windows/deployment/update/wufb-reports-schema-ucupdatealert.md index f00e02af9e..c1d8516d1f 100644 --- a/windows/deployment/update/wufb-reports-schema-ucupdatealert.md +++ b/windows/deployment/update/wufb-reports-schema-ucupdatealert.md @@ -45,5 +45,5 @@ Alert for both client and service updates. Contains information that needs atten | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The time the snapshot generated this specific record. This is to determine to which batch snapshot this record belongs. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `UpdateAlert` | The entity type. | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | -| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this update is an upgrade (feature update), security (quality update), non-security (quality update) | +| **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this update is an upgrade (feature update), security (quality update), non-security (quality update), or driver | | **URL** | [string](/azure/kusto/query/scalar-data-types/string) | `aka.ms/errordetail32152` | An optional URL to get more in-depth information related to this alert. | From 9cf38d503a3528945f0a1323cc15b223c930bb1d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 18:53:52 -0800 Subject: [PATCH 094/102] edit ucupdatealert --- windows/deployment/update/wufb-reports-schema-ucupdatealert.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/deployment/update/wufb-reports-schema-ucupdatealert.md b/windows/deployment/update/wufb-reports-schema-ucupdatealert.md index c1d8516d1f..db70047ed0 100644 --- a/windows/deployment/update/wufb-reports-schema-ucupdatealert.md +++ b/windows/deployment/update/wufb-reports-schema-ucupdatealert.md @@ -42,8 +42,10 @@ Alert for both client and service updates. Contains information that needs atten | **StartTime** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The time this alert was activated. | | **TargetBuild** | [string](/azure/kusto/query/scalar-data-types/string) | `18363.836` | The Windows 10 Major. Revision this UpdateAlert is relative to. | | **TargetVersion** | [string](/azure/kusto/query/scalar-data-types/string) | `1909` | The Windows 10 build this UpdateAlert is relative to. | +| **TenantId** |[string](/azure/kusto/query/scalar-data-types/string) | `69ca04b0-703d-4b3a-9184-c4e3c15d6f5e` | Azure AD tenant ID of the device. | | **TimeGenerated** | [datetime](/azure/kusto/query/scalar-data-types/datetime) | `2020-05-14 09:26:03.478039` | The time the snapshot generated this specific record. This is to determine to which batch snapshot this record belongs. | | **Type** | [string](/azure/kusto/query/scalar-data-types/string) | `UpdateAlert` | The entity type. | | **UpdateCategory** | [string](/azure/kusto/query/scalar-data-types/string) | `WindowsFeatureUpdate` | The type of content this DeviceUpdateEvent is tracking. | | **UpdateClassification** | [string](/azure/kusto/query/scalar-data-types/string) | `Upgrade` | Whether this update is an upgrade (feature update), security (quality update), non-security (quality update), or driver | | **URL** | [string](/azure/kusto/query/scalar-data-types/string) | `aka.ms/errordetail32152` | An optional URL to get more in-depth information related to this alert. | +| **UpdateId** | [string](/azure/kusto/query/scalar-data-types/string) | `10e519f0-06ae-4141-8f53-afee63e995f0` |Update ID of the targeted update| From 22baa82dbbe2cdedb0aede0f3f8815ff8c415a04 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 18:55:56 -0800 Subject: [PATCH 095/102] fixtypo --- windows/deployment/update/wufb-reports-workbook.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/wufb-reports-workbook.md b/windows/deployment/update/wufb-reports-workbook.md index 44a17e11d1..9fcda9bf7a 100644 --- a/windows/deployment/update/wufb-reports-workbook.md +++ b/windows/deployment/update/wufb-reports-workbook.md @@ -155,7 +155,7 @@ The Delivery Optimization tab is further divided into the following groups: - **Content Distribution**: Includes charts showing percentage volumes and GB volumes by source by content types. All content types are linked to a table for deeper filtering by **ContentType**, **AzureADTenantId**, and **GroupID**. - **Efficiency By Group**: This view provides filters commonly used ways of grouping devices. The provided filters include: **GroupID**, **City**, **Country**, and **ISP**. -:::image type="content" source="imedia/wufb-do-overview.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook for Delivery Optimization." lightbox="media/wufb-do-overview.png"::: +:::image type="content" source="media/wufb-do-overview.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook for Delivery Optimization." lightbox="media/wufb-do-overview.png"::: ## Driver updates tab @@ -168,7 +168,7 @@ The **Driver update** tab provides generalized data at the top by using tiles. T Selecting **View details** on any of the tiles displays a flyout with a chart that displays the first 250 items. Select `...` from the flyout to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). -:::image type="content" source="imedia/7539531-wufb-reports-workbook-drivers.png" alt-text="Screenshot of the update status tab for driver updates." lightbox="media/7539531-wufb-reports-workbook-drivers.png"::: +:::image type="content" source="media/7539531-wufb-reports-workbook-drivers.png" alt-text="Screenshot of the update status tab for driver updates." lightbox="media/7539531-wufb-reports-workbook-drivers.png"::: Just like the [**Quality updates**](#quality-updates-tab) and [**Feature updates**](#feature-updates-tab) tabs, the **Driver updates** tab is also subdivided into **Update status** and **Device status** groups below the tiles. These different chart groups allow you to easily discover trends in compliance data. From dbfc5d21741ed4efc18ef7712d7edeee617cecce Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 10:33:08 -0800 Subject: [PATCH 096/102] edit more info ruls --- .../update/includes/wufb-deployment-update-health-tools-logs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md index de9f61a2dc..4e0d5caaff 100644 --- a/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md +++ b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md @@ -18,4 +18,4 @@ The Update Health Tools are used when you deploy expedited updates. In some case - The logs are in `.etl` format. - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md), which displays `.etl` files. -For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/troubleshooting-expedited-updates/ba-p/2595615). \ No newline at end of file +For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/get-the-most-out-of-expedited-windows-quality-updates/ba-p/3659741). From e9efa76181c04fd50a05343c3496db591f8e0894 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 11:39:06 -0800 Subject: [PATCH 097/102] edit expedite rm pause, add del --- .../deployment-service-expedited-updates.md | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 00b8b774eb..0feafed591 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -24,7 +24,7 @@ In this article, you will: > * [List catalog entries for expedited updates](#list-catalog-entries-for-expedited-updates) > * [Create a deployment](#create-a-deployment) > * [Add members to the deployment audience](#add-members-to-the-deployment-audience) -> * [Pause a deployment](#pause-a-deployment) +> * [Delete a deployment](#pause-a-deployment) ## Prerequisites @@ -180,24 +180,17 @@ To verify the devices were added to the audience, run the following query using GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members ``` -## Pause a deployment +## Delete a deployment -To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. +To stop an expedited deployment, DELETE the deployment. Deleting the deployment will prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new approval will need to be created. -The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: + +The following example deletes the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: ```msgraph-interactive -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" - } -} +DELETE https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 ``` + [!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-update-health-tools-logs.md)] \ No newline at end of file From 855f52d7e1590fa6146ffc8a5dc3501bf8fcb3d2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 12:32:49 -0800 Subject: [PATCH 098/102] edits from PM --- .../update/wufb-reports-prerequisites.md | 2 + .../update/wufb-reports-workbook.md | 40 +++++++++---------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/windows/deployment/update/wufb-reports-prerequisites.md b/windows/deployment/update/wufb-reports-prerequisites.md index cbd081c2c7..38dc8b3586 100644 --- a/windows/deployment/update/wufb-reports-prerequisites.md +++ b/windows/deployment/update/wufb-reports-prerequisites.md @@ -23,6 +23,8 @@ Before you begin the process of adding Windows Update for Business reports to yo - Devices can be [Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join) or [hybrid Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join-hybrid). - Devices that are [Azure AD registered](/azure/active-directory/devices/concept-azure-ad-register) only (Workplace joined) aren't supported with Windows Update for Business reports. - The Log Analytics workspace must be in a [supported region](#log-analytics-regions) +- Data in the **Driver update** tab of the [workbook](wufb-reports-workbook.md) is only available for devices that receive driver and firmware updates from the [Windows Update for Business deployment service](deployment-service-overview.md) + ## Permissions diff --git a/windows/deployment/update/wufb-reports-workbook.md b/windows/deployment/update/wufb-reports-workbook.md index 9fcda9bf7a..279be81249 100644 --- a/windows/deployment/update/wufb-reports-workbook.md +++ b/windows/deployment/update/wufb-reports-workbook.md @@ -138,28 +138,9 @@ The **Device status** group for feature updates contains the following items: - **Device compliance status**: Table containing a list of devices getting a feature update and installation information including active alerts for the devices. - This table is limited to the first 250 rows. Select `...` to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). -## Delivery Optimization - -The **Delivery Optimization** tab provides a summarized view of bandwidth efficiencies. This new revised report also includes [Microsoft Connected Cache](/windows/deployment/do/waas-microsoft-connected-cache) information. - -At the top of the report, tiles display the following information: - -- Total bandwidth savings percentage -- The percentage of the saved bandwidth broken down by peer-to-peer and MCC -- Device counts showing percentages of bytes delivered between peer-to-peer and MCC -- The breakdown of total downloaded GBs. - -The Delivery Optimization tab is further divided into the following groups: - -- **Device Configuration**: A chart differentiating the number of devices with and without peer-to-peer. And, a table of Download Mode configuration breakdown between numbers of devices. When selected, the devices within that group can be viewed, filtered in a separate table. -- **Content Distribution**: Includes charts showing percentage volumes and GB volumes by source by content types. All content types are linked to a table for deeper filtering by **ContentType**, **AzureADTenantId**, and **GroupID**. -- **Efficiency By Group**: This view provides filters commonly used ways of grouping devices. The provided filters include: **GroupID**, **City**, **Country**, and **ISP**. - -:::image type="content" source="media/wufb-do-overview.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook for Delivery Optimization." lightbox="media/wufb-do-overview.png"::: - ## Driver updates tab -The **Driver update** tab provides generalized data at the top by using tiles. The data becomes more specific as you navigate lower in this tab. The top of the driver updates tab contains tiles with the following information: +The **Driver update** tab provides information on driver and firmware update deployments from [Windows Update for Business deployment service](deployment-service-overview.md). Generalized data is at the top of the page in tiles. The data becomes more specific as you navigate lower in this tab. The top of the driver updates tab contains tiles with the following information: **Devices taking driver updates**: Count of devices that are installing driver and firmware updates. **Approved updates**: Count of approved driver updates @@ -190,6 +171,25 @@ The **Device status** group for driver updates contains the following items: - **Device compliance status**: Table containing a list of devices getting a driver update and installation information including active alerts for the devices. - This table is limited to the first 250 rows. Select `...` to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). +## Delivery Optimization + +The **Delivery Optimization** tab provides a summarized view of bandwidth efficiencies. This new revised report also includes [Microsoft Connected Cache](/windows/deployment/do/waas-microsoft-connected-cache) information. + +At the top of the report, tiles display the following information: + +- Total bandwidth savings percentage +- The percentage of the saved bandwidth broken down by peer-to-peer and MCC +- Device counts showing percentages of bytes delivered between peer-to-peer and MCC +- The breakdown of total downloaded GBs. + +The Delivery Optimization tab is further divided into the following groups: + +- **Device Configuration**: A chart differentiating the number of devices with and without peer-to-peer. And, a table of Download Mode configuration breakdown between numbers of devices. When selected, the devices within that group can be viewed, filtered in a separate table. +- **Content Distribution**: Includes charts showing percentage volumes and GB volumes by source by content types. All content types are linked to a table for deeper filtering by **ContentType**, **AzureADTenantId**, and **GroupID**. +- **Efficiency By Group**: This view provides filters commonly used ways of grouping devices. The provided filters include: **GroupID**, **City**, **Country**, and **ISP**. + +:::image type="content" source="media/wufb-do-overview.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook for Delivery Optimization." lightbox="media/wufb-do-overview.png"::: + ## Customize the workbook From e78941ba6db9330f03153b850b0c500c98fafcbf Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 14:12:53 -0800 Subject: [PATCH 099/102] edits for diag data --- .../deployment/update/deployment-service-prerequisites.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index bfbf5eefe1..b32a2f751d 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -46,13 +46,14 @@ Windows Update for Business deployment service supports Windows client devices o - Look for the folder **C:\Program Files\Microsoft Update Health Tools** or review *Add Remove Programs* for **Microsoft Update Health Tools**. - As an Admin, run the following PowerShell script: `Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Microsoft Update Health Tools"}` -- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the 2023-02 Cumulative Update on the clients is recommended. +- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the February 2023 Cumulative Update, or a later equivalent update, for Windows 10 ([KB5022834](https://support.microsoft.com/help/5022834 +)) and Windows 11 ([KB5022836](https://support.microsoft.com/help/5022836)) is recommended ## Diagnostic data requirements -Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. For these features, At minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. +Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. For these features, at minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. -Some options for the deployment service require devices to send diagnostic data at the following levels: +When you use [Windows Update for Business reports](wufb-reports-overview.md) in conjunction with the deployment service, using diagnostic data at the following levels allows device names to appear in reporting: - *Optional* level (previously *Full*) for Windows 11 devices - *Enhanced* level for Windows 10 devices From 17034a5ba9d33dc0bc0e4af7ab57b0feaa1abb23 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 15:30:12 -0800 Subject: [PATCH 100/102] edits --- .../update/deployment-service-drivers.md | 2 +- .../update/deployment-service-feature-updates.md | 14 +++++++++++++- .../update/deployment-service-prerequisites.md | 3 +-- .../includes/wufb-deployment-graph-explorer.md | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 45814a4275..cb9c80bdd4 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -65,7 +65,7 @@ Once a device has been enrolled and added to a deployment audience, the Windows ## Create an update policy -Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behave in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. +Update policies define how content is deployed to a deployment audience. An [update policy](/graph/api/resources/windowsupdates-updatepolicy) ensures deployments to a deployment audience behave in a consistent manner without having to create and manage multiple individual deployments. When a content approval is added to the policy, it's deployed to the devices in the associated audiences. The deployment and monitoring settings are optional. > [!IMPORTANT] > Any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) configured for a [content approval](#approve-driver-content-for-deployment) will be combined with the existing update policy's deployment settings. If the content approval and update policy specify the same deployment setting, the setting from the content approval is used. diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 7259780621..b1a289befa 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -28,6 +28,7 @@ In this article, you will: > * [Create a deployment](#create-a-deployment) > * [Add members to the deployment audience](#add-members-to-the-deployment-audience) > * [Pause a deployment](#pause-a-deployment) +> * [Delete a deployment](#delete-a-deployment) > * [Unenroll devices](#unenroll-devices) @@ -89,7 +90,7 @@ The following truncated response displays a **Catalog ID** of `d9049ddb-0ca8-4b ## Create a deployment -When creating a deployment for a feature update, there are multiple options available to define how the deployment behaves. The following [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) are defined in the example request body for deploying the Windows 11, version 22H2 feature update (**Catalog ID** of `d9049ddb-0ca8-4bc1-bd3c-41a456ef300f`): +When creating a deployment for a feature update, there are multiple options available to define how the deployment behaves. The deployment and monitoring settings are optional. The following [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings) are defined in the example request body for deploying the Windows 11, version 22H2 feature update (**Catalog ID** of `d9049ddb-0ca8-4bc1-bd3c-41a456ef300f`): - Deployment [start date](/graph/api/resources/windowsupdates-schedulesettings) of February 14, 2023 at 5 AM UTC - [Gradual rollout](/graph/api/resources/windowsupdates-gradualrolloutsettings) at a rate of 100 devices every three days @@ -274,6 +275,17 @@ content-type: application/json } ``` +## Delete a deployment + +To remove the deployment completely, DELETE the deployment. Deleting the deployment will prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new approval will need to be created. + + +The following example deletes the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: + +```msgraph-interactive +DELETE https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 +``` + ## Unenroll devices diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index b32a2f751d..fcf43df4de 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -46,8 +46,7 @@ Windows Update for Business deployment service supports Windows client devices o - Look for the folder **C:\Program Files\Microsoft Update Health Tools** or review *Add Remove Programs* for **Microsoft Update Health Tools**. - As an Admin, run the following PowerShell script: `Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Microsoft Update Health Tools"}` -- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the February 2023 Cumulative Update, or a later equivalent update, for Windows 10 ([KB5022834](https://support.microsoft.com/help/5022834 -)) and Windows 11 ([KB5022836](https://support.microsoft.com/help/5022836)) is recommended +- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the February 2023 Cumulative Update, or a later equivalent update, is recommended ## Diagnostic data requirements diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index 34f811aaad..31b45d8227 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -14,7 +14,7 @@ For this article, you'll use Graph Explorer to make requests to the [Microsoft G > [!WARNING] > -> - Requests listed in this article require signing in with a Microsoft 365 account. Join the [Microsoft 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program) to get a free sandbox preconfigured with sample data packs for testing. +> - Requests listed in this article require signing in with a Microsoft 365 account. If needed, a free one month trial is available for [Microsoft 365 Business Premium](https://www.microsoft.com/microsoft-365/business/microsoft-365-business-premium). > - Using a test tenant to verify the deployment process first is highly recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. 1. From a browser, go to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) and sign in using an Azure Active Directory (Azure AD) user account. From 0829534ec3dc3feb0f8796e348545285c6435704 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 15:53:06 -0800 Subject: [PATCH 101/102] edits --- .../deployment/update/deployment-service-expedited-updates.md | 2 +- windows/deployment/update/deployment-service-prerequisites.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 0feafed591..14b6fec38a 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -24,7 +24,7 @@ In this article, you will: > * [List catalog entries for expedited updates](#list-catalog-entries-for-expedited-updates) > * [Create a deployment](#create-a-deployment) > * [Add members to the deployment audience](#add-members-to-the-deployment-audience) -> * [Delete a deployment](#pause-a-deployment) +> * [Delete a deployment](#delete-a-deployment) ## Prerequisites diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index fcf43df4de..40b91b4b9f 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -46,7 +46,7 @@ Windows Update for Business deployment service supports Windows client devices o - Look for the folder **C:\Program Files\Microsoft Update Health Tools** or review *Add Remove Programs* for **Microsoft Update Health Tools**. - As an Admin, run the following PowerShell script: `Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Microsoft Update Health Tools"}` -- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the February 2023 Cumulative Update, or a later equivalent update, is recommended +- For [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the January 2023 release preview cumulative update, or a later equivalent update, is recommended ## Diagnostic data requirements From f3e2c5b494c873559aacf1cce05a081385ae30f5 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Mon, 13 Feb 2023 16:08:51 -0800 Subject: [PATCH 102/102] move section --- .../update/deployment-service-overview.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 02f88c51bf..4b8e52781b 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -96,13 +96,6 @@ To learn more about the deployment service and the deployment process, see: - [Deploy expedited updates using Graph Explorer](deployment-service-expedited-updates.md) - [Deploy driver and firmware updates using Graph Explorer](deployment-service-drivers.md) -### Use Microsoft Intune - -Microsoft Intune integrates with the deployment service to provide Windows client update management capabilities. For more information, see: - -- [Feature updates for Windows 10 and later policy in Intune](/mem/intune/protect/windows-10-feature-updates) -- [Expedite Windows quality updates in Microsoft Intune](/mem/intune/protect/windows-10-expedite-updates) - ### Scripting common actions using PowerShell The Microsoft Graph SDK includes a PowerShell extension that you can use to script and automate common update actions. For more information, see [Get started with the Microsoft Graph PowerShell SDK](/graph/powershell/get-started). @@ -117,3 +110,10 @@ Microsoft Graph makes deployment service APIs available through. Get started wit - Windows Update for Business deployment service [sample driver deployment application](https://github.com/microsoftgraph/windowsupdates-webapplication-sample) on GitHub - [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) +### Use Microsoft Intune + +Microsoft Intune integrates with the deployment service to provide Windows client update management capabilities. For more information, see: + +- [Feature updates for Windows 10 and later policy in Intune](/mem/intune/protect/windows-10-feature-updates) +- [Expedite Windows quality updates in Microsoft Intune](/mem/intune/protect/windows-10-expedite-updates) +

qhwP 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 Date: Thu, 9 Feb 2023 14:11:07 -0800 Subject: [PATCH 064/102] rework overview --- .../deployment/update/deployment-service-expedited-updates.md | 1 - 1 file changed, 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index a76fc6df2e..ccf49e2e71 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -43,7 +43,6 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] -## Enroll devices ## List updates in the catalog that can be expedited From 18e5f1168fb723bfed77779bfd5247a6a1d032a5 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 9 Feb 2023 14:44:41 -0800 Subject: [PATCH 065/102] rework overview --- .../deployment/update/deployment-service-expedited-updates.md | 3 +-- windows/deployment/update/deployment-service-overview.md | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index ccf49e2e71..59bfff54a9 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -44,11 +44,10 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] - ## List updates in the catalog that can be expedited 1. Query the catalog to find updates that can be expedited, For example, query for all security updates that can be deployed as expedited updates by the deployment service. Using `$top=3` and ordering by `ReleaseDateTimeshows` displays the three most current updates. ``` 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=3 -``` \ No newline at end of file +``` diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 6e6dac6335..4e20bf1c89 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -42,6 +42,8 @@ Certain capabilities are available for specific update classifications: ## How the deployment service works +With typical update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the device determines what the end user experience for updates are + The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). :::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Elements in following text."::: From 592222b28a8e4246d0f4dae2bbab0db9ef8bd179 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Thu, 9 Feb 2023 16:17:34 -0800 Subject: [PATCH 066/102] rework overview --- .../deployment/update/deployment-service-overview.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 4e20bf1c89..cee85cf51c 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -19,6 +19,11 @@ ms.date: 12/31/2017 The Windows Update for Business deployment service is a cloud service within the Windows Update for Business product family. It's designed to work with your existing [Windows Update for Business](waas-manage-updates-wufb.md) policies and [Windows Update for Business reports](wufb-reports-overview.md). The deployment service provides control over the approval, scheduling, and safeguarding of updates delivered from Windows Update to managed devices. The service is privacy focused and backed by leading industry compliance certifications. +Windows Update for Business has three elements: +- Client policy, available through Group Policy settings and CSPs, which defines the timing and experience for updates +- [Windows Update for Business reports](wufb-reports-overview.md) to monitor update deployment +- Deployment service APIs for approving and scheduling specific updates - available through the Microsoft Graph and associated SDKs (including PowerShell) + ## Capabilities of the Windows Update for Business deployment service The deployment service is designed for IT Pros who are looking for more control than is provided through deferral policies and deployment rings. The service provides the following capabilities: @@ -42,15 +47,15 @@ Certain capabilities are available for specific update classifications: ## How the deployment service works -With typical update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the device determines what the end user experience for updates are +With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated into Windows Update, once the admin defines the update deployment behavior, the service ensures that the update is delivered to the device in the defined manner. The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). :::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Elements in following text."::: Windows Update for Business comprises three elements: -- Client policy to govern update experiences and timing – available through Group Policy and CSPs -- Deployment service APIs to approve and schedule specific updates – available through the Microsoft Graph and associated SDKs (including PowerShell) +- Client policy to govern update experiences and timing - available through Group Policy and CSPs +- Deployment service APIs to approve and schedule specific updates - available through the Microsoft Graph and associated SDKs (including PowerShell) - Windows Update for Business reports to monitor update deployment Unlike existing client policy, the deployment service doesn't interact with devices directly. The service is native to the cloud and all operations take place between various Microsoft services. It creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an IT Pro. From f982fc5fca984a05ba3149b537059b2ef188cdf2 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 11:52:02 -0500 Subject: [PATCH 067/102] Update deployment-service-expedited-updates.md --- .../deployment-service-expedited-updates.md | 158 ++++++++++++++++-- 1 file changed, 148 insertions(+), 10 deletions(-) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 59bfff54a9..f67447f315 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -1,6 +1,6 @@ --- title: Deploy expedited updates with Windows Update for Business deployment service -description: Use Windows Update for Business deployment service to deploy expedited updates. +description: Use Windows Update for Business deployment service to deploy expedited updates. ms.prod: windows-client author: mestew ms.localizationpriority: medium @@ -12,20 +12,22 @@ ms.date: 02/14/2023 --- # Deploy expedited updates with Windows Update for Business deployment service + ***(Applies to: Windows 11 & Windows 10)*** In this article, you will: > [!div class="checklist"] -> * [Open Graph Explorer](#open-graph-explorer) +> +> * [Open Graph Explorer](#open-graph-explorer) > * [Run queries to identify test devices](#run-queries-to-identify-devices) -> * Do Z - +> * [List catalog entries for expedited updates](#list-catalog-entries-for-expedited-updates) +> * [Create a deployment](#create-a-deployment) +> * [Add members to the deployment audience](#add-members-to-the-deployment-audience) +> * [Pause a deployment](#pause-a-deployment) ## Prerequisites -? This requires an extra license at the moment correct? Of does the client have to be listed as intune managed at the moment? - All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. ### Permissions @@ -43,11 +45,147 @@ All of the [prerequisites for the Windows Update for Business deployment service [!INCLUDE [Graph Explorer device queries](./includes/wufb-deployment-find-device-name-graph-explorer.md)] +## List catalog entries for expedited updates -## List updates in the catalog that can be expedited +Each update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). You can query the catalog to find updates that can be expedited. The `id` returned is the **Catalog ID** and is used to create a deployment. The following query lists all security updates that can be deployed as expedited updates by the deployment service. Using `$top=3` and ordering by `ReleaseDateTimeshows` displays the three most recent updates. -1. Query the catalog to find updates that can be expedited, For example, query for all security updates that can be deployed as expedited updates by the deployment service. Using `$top=3` and ordering by `ReleaseDateTimeshows` displays the three most current updates. - -``` +```msgraph-interactive 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=3 ``` + +The following truncated response displays a **Catalog ID** of `693fafea03c24cca819b3a15123a8880f217b96a878b6d6a61be021d476cc432` for the `01/10/2023 - 2023.01 B Security Updates for Windows 10 and later` security update: + +```json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries", + "value": [ + { + "@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry", + "id": "693fafea03c24cca819b3a15123a8880f217b96a878b6d6a61be021d476cc432", + "displayName": "01/10/2023 - 2023.01 B Security Updates for Windows 10 and later", + "deployableUntilDateTime": null, + "releaseDateTime": "2023-01-10T00:00:00Z", + "isExpeditable": true, + "qualityUpdateClassification": "security" + }, + ... + ] +} +``` + +## Create a deployment + +When creating a deployment, there are [multiple options](/graph/api/resources/windowsupdates-deploymentsettings) available to define how the deployment behaves. The following example creates a deployment for the `01/10/2023 - 2023.01 B Security Updates for Windows 10 and later` security update with catalog entry ID `693fafea03c24cca819b3a15123a8880f217b96a878b6d6a61be021d476cc432`, and defines the `expedite` and `userExperience` deployment options in the request body. + +```msgraph-interactive +POST https://graph.microsoft.com/beta/admin/windows/updates/deployments + +{ + "@odata.type": "#microsoft.graph.windowsUpdates.deployment", + "content": { + "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", + "catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry", + "id": "693fafea03c24cca819b3a15123a8880f217b96a878b6d6a61be021d476cc432" + } + }, + "settings": { + "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", + "expedite": { + "isExpedited": true + }, + "userExperience": { + "daysUntilForcedReboot": 2 + } + } +} +``` + +The request returns a 201 Created response code and a [deployment](/graph/api/resources/windowsupdates-deployment) object in the response body for the newly created deployment, which includes: + +- The **Deployment ID** `de910e12-3456-7890-abcd-ef1234567890` of the newly created deployment. +- The **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567` of the newly created deployment audience. + +```json +{ + "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments/$entity", + "id": "de910e12-3456-7890-abcd-ef1234567890", + "createdDateTime": "2023-02-09T22:55:04.8547517Z", + "lastModifiedDateTime": "2023-02-09T22:55:04.8547524Z", + "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('de910e12-3456-7890-abcd-ef1234567890')/content/microsoft.graph.windowsUpdates.catalogContent/catalogEntry/$entity", + "catalogEntry": { + "@odata.type": "#microsoft.graph.windowsUpdates.qualityUpdateCatalogEntry", + "id": "693fafea03c24cca819b3a15123a8880f217b96a878b6d6a61be021d476cc432", + "displayName": null, + "deployableUntilDateTime": null, + "releaseDateTime": "2023-01-10T00:00:00Z", + "isExpeditable": false, + "qualityUpdateClassification": "security" + } + }, + "settings": { + "schedule": null, + "monitoring": null, + "contentApplicability": null, + "userExperience": { + "daysUntilForcedReboot": 2 + }, + "expedite": { + "isExpedited": true + } + }, + "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": [] + } +} +``` + +## Add members to the deployment audience + +The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when the deployment was created. The **Audience ID** is used to add members to the deployment audience. After the deployment audience is updated, Windows Update starts offering the update to the devices according to the deployment settings. As long as the deployment exists and the device is in the audience, the update will be expedited. + +The following example adds two devices to the deployment audience using the **Azure AD ID** for each device: + +```msgraph-interactive +POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience + +{ + "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" + } + ] +} +``` + +## Pause a deployment + +To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. + +The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: + +```msgraph-interactive +PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 + +{ + "@odata.type": "#microsoft.graph.windowsUpdates.deployment", + "state": { + "@odata.type": "microsoft.graph.windowsUpdates.deploymentState", + "requestedValue": "paused" + } +} +``` From d87f12a77ac5d13d331bf5e0780a60f49458b692 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 10 Feb 2023 12:09:20 -0800 Subject: [PATCH 068/102] overview and prreq edits --- windows/deployment/TOC.yml | 2 +- .../update/deployment-service-overview.md | 126 +++++------------- .../deployment-service-prerequisites.md | 49 ++++++- .../includes/wufb-deployment-limitations.md | 13 ++ 4 files changed, 93 insertions(+), 97 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-limitations.md diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index b6cff644d0..5cfad130d2 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -178,7 +178,7 @@ href: update/deployment-service-overview.md - name: Prerequisites for Windows Update for Business deployment service href: update/deployment-service-prerequisites.md - - name: Deploy updates with Windows Update for Business deployment service + - name: Deploy updates with the deployment service items: - name: Deploy feature updates using Graph Explorer href: update/deployment-service-feature-updates.md diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index cee85cf51c..63b1f2a464 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -11,18 +11,43 @@ ms.technology: itpro-updates ms.date: 12/31/2017 --- - - # Windows Update for Business deployment service ***(Applies to: Windows 11 & Windows 10)*** The Windows Update for Business deployment service is a cloud service within the Windows Update for Business product family. It's designed to work with your existing [Windows Update for Business](waas-manage-updates-wufb.md) policies and [Windows Update for Business reports](wufb-reports-overview.md). The deployment service provides control over the approval, scheduling, and safeguarding of updates delivered from Windows Update to managed devices. The service is privacy focused and backed by leading industry compliance certifications. -Windows Update for Business has three elements: -- Client policy, available through Group Policy settings and CSPs, which defines the timing and experience for updates +Windows Update for Business product family has three elements: + +- Client policy to govern update experiences and timing, which are available through Group Policy and CSPs - [Windows Update for Business reports](wufb-reports-overview.md) to monitor update deployment -- Deployment service APIs for approving and scheduling specific updates - available through the Microsoft Graph and associated SDKs (including PowerShell) +- Deployment service APIs to approve and schedule specific updates for deployment, which are available through the Microsoft Graph and associated SDKs (including PowerShell) + +## How the deployment service works + +With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated into Windows Update, once the admin defines the update deployment behavior, Windows Update is already aware of the how the device should be directed to install when a device scans + +the service ensures that the update is delivered to the device in the defined manner. + +The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). + +:::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Diagram displaying the three elements that are parts of the Windows Update for Business family. "::: + +Windows Update for Business comprises three elements: +- Client policy to govern update experiences and timing which are available through Group Policy and CSPs +- Deployment service APIs to approve and schedule specific updates which are available through the Microsoft Graph and associated SDKs (including PowerShell) +- Windows Update for Business reports to monitor update deployment + +Unlike existing client policy, the deployment service doesn't interact with devices directly. The service is native to the cloud and all operations take place between various Microsoft services. It creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an IT Pro. + +:::image type="content" source="media/wufbds-interaction-small.png" alt-text="Process described in following text."::: + +Using the deployment service typically follows a common pattern: +1. IT Pro uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app or a more complete management solution such as Microsoft Intune. +2. The chosen tool conveys your approval, scheduling, and device selection information to the deployment service. +3. The deployment service processes the content approval and compares it with previously approved content. Final update applicability is determined and conveyed to Windows Update, which then offers approved content to devices on their next check for updates. + +The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as Microsoft Intune. ## Capabilities of the Windows Update for Business deployment service @@ -45,56 +70,9 @@ Certain capabilities are available for specific update classifications: |Safeguard holds| | Yes | | -## How the deployment service works -With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated into Windows Update, once the admin defines the update deployment behavior, the service ensures that the update is delivered to the device in the defined manner. -The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). -:::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Elements in following text."::: - -Windows Update for Business comprises three elements: -- Client policy to govern update experiences and timing - available through Group Policy and CSPs -- Deployment service APIs to approve and schedule specific updates - available through the Microsoft Graph and associated SDKs (including PowerShell) -- Windows Update for Business reports to monitor update deployment - -Unlike existing client policy, the deployment service doesn't interact with devices directly. The service is native to the cloud and all operations take place between various Microsoft services. It creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an IT Pro. - -:::image type="content" source="media/wufbds-interaction-small.png" alt-text="Process described in following text."::: - -Using the deployment service typically follows a common pattern: -1. IT Pro uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app or a more complete management solution such as Microsoft Intune. -2. The chosen tool conveys your approval, scheduling, and device selection information to the deployment service. -3. The deployment service processes the content approval and compares it with previously approved content. Final update applicability is determined and conveyed to Windows Update, which then offers approved content to devices on their next check for updates. - -The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as Microsoft Intune. - -## Prerequisites - -To work with the deployment service, devices must meet all these requirements: - -- Devices must be [Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join) or [hybrid Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join-hybrid) -- Run one of the following operating systems: - - Windows 11 - - Windows 10, version 1709 or later - -- Have one of the following Windows 10 or Windows 11 editions installed: - - Pro - - Enterprise - - Education - - Pro Education - - Pro for Workstations - -Additionally, your organization must have one of the following subscriptions: - -- Windows 10/11 Enterprise E3 or E5 (included in Microsoft 365 F3, E3, or E5) -- Windows 10/11 Education A3 or A5 (included in Microsoft 365 A3 or A5) -- Windows Virtual Desktop Access E3 or E5 -- Microsoft 365 Business Premium - -## Limitations - -Windows Update for Business deployment service is a Windows service hosted in Azure that uses Windows diagnostic data. You should be aware that Windows Update for Business deployment service doesn't meet [US Government community compliance (GCC)](/office365/servicedescriptions/office-365-platform-service-description/office-365-us-government/gcc#us-government-community-compliance) requirements. For a list of GCC offerings for Microsoft products and services, see the [Microsoft Trust Center](/compliance/regulatory/offering-home). Windows Update for Business deployment service is available in the Azure Commercial cloud, but not available for GCC High or United States Department of Defense customers. ## Getting started @@ -143,53 +121,11 @@ To verify whether a device is affected by a safeguard hold, see [Am I affected b During deployments of Windows 11 or Windows 10 feature updates, driver combinations can sometimes result in an unexpected update failure that makes the device revert to the previously installed operating system version. The deployment service can monitor devices for such issues and automatically pause deployments when this happens, giving you time to detect and mitigate issues. -### How to enable deployment protections - -Deployment scheduling controls are always available, but to take advantage of the unique deployment protections tailored to your population, devices must share diagnostic data with Microsoft. - -#### Device prerequisites - -- Diagnostic data is set to *Required* or *Optional*. -- The **AllowWUfBCloudProcessing** policy is set to **8**. - -#### Set the **AllowWUfBCloudProcessing** policy - -To enroll devices in Windows Update for Business cloud processing, set the **AllowWUfBCloudProcessing** policy using mobile device management (MDM) policy or Group Policy. - -| Policy| Sets registry key under `HKLM\Software`| -|--|--| -| GPO for Windows 10, version 1809 or later: Computer Configuration > Administrative Templates > Windows Components > Data Collection and Preview Builds > **Allow WUfB Cloud Processing** | `\Policies\Microsoft\Windows\DataCollection\AllowWUfBCloudProcessing` | -| MDM for Windows 10, version 1809 or later: ../Vendor/MSFT/ Policy/Config/System/**AllowWUfBCloudProcessing** | `\Microsoft\PolicyManager\current\device\System\AllowWUfBCloudProcessing` | - -Following is an example of setting the policy using Intune: - -1. Sign in to the [Endpoint Manager admin center](https://go.microsoft.com/fwlink/?linkid=2109431). - -2. Select **Devices** > **Configuration profiles** > **Create profile**. - -3. Select **Windows 10 and later** in **Platform**, select **Templates** in **Profile type**, select **Custom** in **Template name**, and then select **Create**. - -4. In **Basics**, enter a meaningful name and a description for the policy, and then select **Next**. - -5. In **Configuration settings**, select **Add**, enter the following settings, select **Save**, and then select **Next**. - - Name: **AllowWUfBCloudProcessing** - - Description: Enter a description. - - OMA-URI: `./Vendor/MSFT/Policy/Config/System/AllowWUfBCloudProcessing` - - Data type: **Integer** - - Value: **8** - -6. In **Assignments**, select the groups that will receive the profile, and then select **Next**. - -7. In **Review + create**, review your settings, and then select **Create**. - -8. (Optional) To verify that the policy reached the client, check the value of the following registry entry: - - `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\System\AllowWUfBCloudProcessing` ## Best practices Follow these suggestions for the best results with the service. -### Device onboarding +### Device onboarding - Wait until devices finish provisioning before managing with the service. If a device is being provisioned by Autopilot, it can only be managed by the deployment service after it finishes provisioning (typically one day). diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index 31148a17fe..dd5f8f8234 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -15,4 +15,51 @@ ms.date: 02/14/2023 ***(Applies to: Windows 11 & Windows 10)*** -## Prerequisites +Before you begin the process of deploying updates with Windows Update for Business deployment service, ensure you meet the prerequisites. + +## Azure and Azure Active Directory + +- An Azure subscription with [Azure Active Directory](/azure/active-directory/) +- Devices must be Azure Active Directory-joined and meet the below OSrequirements. + - Devices can be [Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join) or [hybrid Azure AD joined](/azure/active-directory/devices/concept-azure-ad-join-hybrid). + - Devices that are [Azure AD registered](/azure/active-directory/devices/concept-azure-ad-register) only (Workplace joined) aren't supported with Windows Update for Business + +## Licensing + +Windows Update for Business deployment service requires users of the devices to have one of the following licenses: + +- Windows 10/11 Enterprise E3 or E5 (included in Microsoft 365 F3, E3, or E5) +- Windows 10/11 Education A3 or A5 (included in Microsoft 365 A3 or A5) +- Windows Virtual Desktop Access E3 or E5 +- Microsoft 365 Business Premium + +## Operating systems and editions + +- Windows 11 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions +- Windows 10 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions + +## Windows client servicing channels + +Windows Update for Business deployment service supports Windows client devices on the following channels: + +- General Availability Channel + +## Diagnostic data requirements + +Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. At minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. Some options for the deployment service require devices to send diagnostic data at the following levels: + +- *Optional* level (previously *Full*) for Windows 11 devices +- *Enhanced* level for Windows 10 devices + +## Permissions + +- [Windows Update for Business deployment service](/graph/api/resources/windowsupdates) operations require [WindowsUpdates.ReadWrite.All](/graph/permissions-reference#windows-updates-permissions) + - Some roles, such as the [Windows Update deployment administrator](/azure/active-directory/roles/permissions-reference#windows-update-deployment-administrator), already have the permissions. + +> [!NOTE] +> Leveraging other parts of the Graph API might require additional permissions. For example, to display [device](/graph/api/resources/device) information, a minimum of [Device.Read.All](/graph/permissions-reference#device-permissions) permission is needed. + +## Limitations + + +[!INCLUDE [Windows Update for Business deployment service limitations](./includes/wufb-deployment-limitations.md)] diff --git a/windows/deployment/update/includes/wufb-deployment-limitations.md b/windows/deployment/update/includes/wufb-deployment-limitations.md new file mode 100644 index 0000000000..34e70ba899 --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-limitations.md @@ -0,0 +1,13 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + + +Windows Update for Business deployment service is a Windows service hosted in Azure that uses Windows diagnostic data. You should be aware that Windows Update for Business deployment service doesn't meet [US Government community compliance (GCC)](/office365/servicedescriptions/office-365-platform-service-description/office-365-us-government/gcc#us-government-community-compliance) requirements. For a list of GCC offerings for Microsoft products and services, see the [Microsoft Trust Center](/compliance/regulatory/offering-home). Windows Update for Business deployment service is available in the Azure Commercial cloud, but not available for GCC High or United States Department of Defense customers. From cc77de00305784058f1ef092a7d06084beefb099 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 10 Feb 2023 12:31:44 -0800 Subject: [PATCH 069/102] overview and prreq edits --- .../update/includes/wufb-deployment-graph-explorer.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index f39e7b6315..d06da8e611 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -10,10 +10,12 @@ ms.localizationpriority: medium --- -For this article, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). +For this article, you'll use Graph Explorer to make requests to the [Microsoft Graph APIs](/graph/api/resources/windowsupdates-updates?view=graph-rest-beta&preserve-view=true) to retrieve, add, delete, and update data. Graph Explorer is a developer tool that lets you learn about Microsoft Graph APIs. For more information about using Graph Explorer, see [Get started with Graph Explorer](/graph/graph-explorer/overview). > [!WARNING] -> Using a test tenant to verify the deployment process first is recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. +> +> - Requests listed in this article require signing in with a Microsoft 365 account. Join the [Microsoft 365 Developer Program](https://developer.microsoft.com/microsoft-365/dev-program) to get a free sandbox preconfigured with sample data packs for testing. +> - Using a test tenant to verify the deployment process first is highly recommended. If you use a production tenant, ensure you verify which client devices you're targeting with deployments. 1. From a browser, go to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer) and sign in using an Azure Active Directory (Azure AD) user account. 1. You may need to enable the [`WindowsUpdates.ReadWrite.All` permission](/graph/permissions-reference#windows-updates-permissions) to use the queries in this article. To enable the permission: From cbe564014fbdd22305f63de022fe9f548f48341e Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 15:52:05 -0500 Subject: [PATCH 070/102] Update deployment-service-feature-updates.md --- .../deployment-service-feature-updates.md | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 41387215a9..3df265d48a 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -55,8 +55,8 @@ All of the [prerequisites for the Windows Update for Business deployment service When you enroll devices into feature update management, the deployment service becomes the authority for feature updates coming from Windows Update. As long as a device remains enrolled in feature update management through the deployment service, the device doesn't receive any other feature updates from Windows Update unless explicitly deployed using the deployment service. A device is offered the specified feature update if it hasn't already received the update. For example, if you deploy Windows 11 feature update version 22H2 to a device that's enrolled into feature update management and is currently on an older version of Windows 11, the device updates to version 22H2. If the device is already running version 22H2 or a later version, it stays on its current version. - > [!TIP] - > Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. +> [!TIP] +> Windows Update for Business reports has a [workbook](wufb-reports-workbook.md#feature-updates-tab) that displays the current operating system version for devices. In the workbook, go to the **Feature updates** tab and in the **In Service feature update** tile, select the **View details** link to open the details flyout. The OS version and Azure AD ID of devices can easily be exported into a .csv file or opened in [Azure Monitor Logs](/azure/azure-monitor/logs/log-query-overview) to help when creating a deployment audience. [!INCLUDE [Graph Explorer enroll devices](./includes/wufb-deployment-enroll-device-graph-explorer.md)] @@ -65,7 +65,7 @@ As long as a device remains enrolled in feature update management through the de Each feature update is associated with a unique [catalog entry](/graph/api/resources/windowsupdates-catalogentry). The `id` returned is the **Catalog ID** and is used to create a deployment. Feature updates are deployable until they reach their support retirement dates. For more information, see the support lifecycle dates for [Windows 10](/lifecycle/products/windows-10-enterprise-and-education) and [Windows 11](/lifecycle/products/windows-11-enterprise-and-education) Enterprise and Education editions. The following query lists all deployable feature update catalog entries: -```http +```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry') ``` @@ -97,9 +97,9 @@ When creating a deployment for a feature update, there are multiple options avai - Default [safeguard hold](/graph/api/resources/windowsupdates-safeguardprofile) behavior of applying all applicable safeguards to devices in a deployment - When safeguard holds aren't explicitly defined, the default safeguard hold behavior is applied automatically -```http +```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/deployments -Content-type: application/json + { "content": { "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", @@ -193,9 +193,8 @@ The response body will contain: To [update deployment](/graph/api/windowsupdates-deployment-update), PATCH the deployment resource by its **Deployment ID** and supply the updated settings in the request body. The following example keeps the existing gradual rollout settings that were defined when creating the deployment but changes the deployment start date to February 28, 2023 at 5 AM UTC: -```http +```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 -Content-type: application/json { "settings": { @@ -215,7 +214,7 @@ Content-type: application/json Verify the deployment settings for the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: -```http +```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 ``` @@ -225,9 +224,8 @@ The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when th The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: - ```http - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience - Content-type: application/json + ```msgraph-interactive + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience { "addMembers": [ @@ -253,10 +251,9 @@ To pause a deployment, PATCH the deployment to have a `requestedValue` of `pause The following example pauses the deployment with a **Deployment ID** of `de910e12-3456-7890-abcd-ef1234567890`: -```http +```msgraph-interactive 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", From d800e61c218256cc439de02cc8dc942f65778beb Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 15:55:11 -0500 Subject: [PATCH 071/102] Update deployment-service-drivers.md --- .../update/deployment-service-drivers.md | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 3a4f67a79d..8a800ae311 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -75,9 +75,9 @@ Update policies define how content is deployed to a deployment audience. An [upd To create a policy without any deployment settings, in the request body specify the **Audience ID** as `id`. In the following example, the **Audience ID** is `d39ad1ce-0123-4567-89ab-cdef01234567`, and the `id` given in the response is the **Policy ID**: - ```http + ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies - Content-type: application/json + { "audience": { "@odata.id": "d39ad1ce-0123-4567-89ab-cdef01234567" @@ -115,9 +115,9 @@ To create a policy with additional settings, in the request body: In the following driver update policy example, any deployments created by a content approval will start 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: - ```http + ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies - Content-Type: application/json + Content-length: 967 { "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", @@ -156,15 +156,14 @@ To create a policy with additional settings, in the request body: To review the policy settings, run the following query using the **Policy ID**, for example `9011c330-1234-5678-9abc-def012345678`: - ```http - GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 + ```msgraph-interactive + GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 ``` To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run the following **PATCH** to automatically approve driver content that's recommended by `Microsoft`for deployment for **Policy ID** `9011c330-1234-5678-9abc-def012345678`: -``` http - PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 - Content-Type: application/json +``` msgraph-interactive +PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 { "complianceChangeRules": [ @@ -196,7 +195,7 @@ Once Windows Update for Business deployment service has scan results from device To display [applicable content](/graph/api/resources/windowsupdates-applicablecontent), run a query using the **Audience ID**, for example `d39ad1ce-0123-4567-89ab-cdef01234567`: -```http +```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/applicableContent ``` @@ -237,9 +236,8 @@ Each driver update is associated with a unique [catalog entry](/graph/api/resour Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678-9abc-def012345678` for the driver update with the **Catalog ID** `5d6dede684ba5c4a731d62d9c9c2a99db12c5e6015e9f8ad00f3e9387c7f399c`. Schedule the start date for February 14, 2023 at 1 AM UTC: -```http +```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges -Content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", @@ -261,7 +259,7 @@ Content-type: application/json The response for a content approval returns content and deployment settings along with an `id`, which is the **Compliance Change ID**. The **Compliance Change ID** is `c03911a7-9876-5432-10ab-cdef98765432` in the following truncated response: -```http +```json "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", "id": "c03911a7-9876-5432-10ab-cdef98765432", "createdDateTime": "2023-02-02T17:54:39.173292Z", @@ -281,7 +279,7 @@ The response for a content approval returns content and deployment settings alon Review all of the compliance changes to a policy with the most recent changes listed in the response first. The following example returns the compliance changes for a policy with the **Policy ID** `9011c330-1234-5678-9abc-def012345678` and sorts by `createdDateTime` in descending order: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges?orderby=createdDateTime desc ``` @@ -290,7 +288,7 @@ Review all of the compliance changes to a policy with the most recent changes li To retrieve the deployment ID, use the [expand parameter](/graph/query-parameters#expand-parameter) to review the deployment information related the content approval. The following example displays the content approval and the deployment information for **Compliance Change ID** `c03911a7-9876-5432-10ab-cdef98765432` in update **Policy ID** `9011c330-1234-5678-9abc-def012345678`: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432/$/microsoft.graph.windowsUpdates.contentApproval?$expand=deployments ``` @@ -298,7 +296,7 @@ To retrieve the deployment ID, use the [expand parameter](/graph/query-parameter Since content approval is a compliance change for the policy, when you [update a content approval](/graph/api/resources/windowsupdates--contentapproval-update), you're editing the compliance change for the policy. The following example changes the `startDateTime` for the **Compliance Change ID** of `c03911a7-9876-5432-10ab-cdef98765432` in the update **Policy ID** `9011c330-1234-5678-9abc-def012345678` to February 28, 2023 at 5 AM UTC: -```http +```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432 { @@ -318,9 +316,9 @@ PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011 Approval for content can be revoked by setting the `isRevoked` property of the [compliance change](/graph/api/resources/windowsupdates-compliance) to true. This setting can be changed while a deployment is in progress. However, revoking will only prevent the content from being offered to devices if they haven't already received it. To resume offering the content, a new [approval](#approve-driver-content-for-deployment) will need to be created. -```http +```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432 -Content-type: application/json + { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", "isRevoked": true @@ -329,7 +327,7 @@ Content-type: application/json To display all deployments with the most recently created returned first, order deployments based on the `createdDateTime`: -```http +```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/deployments?orderby=createdDateTime desc ``` From 0d69635400443a7180516bd9186b01d2bade1f6d Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:03:26 -0500 Subject: [PATCH 072/102] Update wufb-deployment-audience-graph-explorer.md --- .../wufb-deployment-audience-graph-explorer.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md index 4bd33058e7..9d5e531e42 100644 --- a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md @@ -13,9 +13,8 @@ A deployment audience is a collection of devices that you want to deploy updates 1. To create a new audience, **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}`. - ```http - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences - content-type: application/json + ```msgraph-interactive + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences {} ``` @@ -34,9 +33,8 @@ A deployment audience is a collection of devices that you want to deploy updates 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. - ```http - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience - Content-type: application/json + ```msgraph-interactive + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience { "addMembers": [ @@ -58,6 +56,6 @@ A deployment audience is a collection of devices that you want to deploy updates 1. To verify the devices were added to the audience, run the following query using the **Audience ID** of `d39ad1ce-0123-4567-89ab-cdef01234567`: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members ``` From dd09387e8a3ca84e4f7e5fc6c48aa40c32104436 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:04:24 -0500 Subject: [PATCH 073/102] Update wufb-deployment-find-device-name-graph-explorer.md --- .../wufb-deployment-find-device-name-graph-explorer.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md index 26f1f077a7..03e32e5950 100644 --- a/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-find-device-name-graph-explorer.md @@ -14,13 +14,13 @@ Use the [device](/graph/api/resources/device) resource type to find clients to e - Displays the **AzureAD Device ID** and **Name** of all devices: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName ``` - Displays the **AzureAD Device ID** and **Name** for devices that have a name starting with `Test`: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/v1.0/devices?$filter=startswith (displayName,'Test')&$select=deviceid,displayName ``` @@ -37,13 +37,13 @@ For the next requests, set the **ConsistencyLevel** header to `eventual`. For mo - Display the **Name** and **Operating system version** for the device that has `01234567-89ab-cdef-0123-456789abcdef` as the **AzureAD Device ID**: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"?$select=displayName,operatingSystemVersion` ``` - To find devices that likely aren't virtual machines, filter for devices that don't have virtual machine listed as the model but do have a manufacturer listed. Display the **AzureAD Device ID**, **Name**, and **Operating system version** for each device: - ```http + ```msgraph-interactive GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion` ``` From 46fda1ad1bbc90004e025d1ba9c0371637f3c586 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:04:50 -0500 Subject: [PATCH 074/102] Update wufb-deployment-graph-unenroll.md --- .../update/includes/wufb-deployment-graph-unenroll.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index f3a3b6f229..4020661631 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -22,9 +22,8 @@ To unenroll a device, POST to [updatableAssets](/graph/api/resources/windowsupda The following example removes `driver` enrollment for two devices, `01234567-89ab-cdef-0123-456789abcdef` and `01234567-89ab-cdef-0123-456789abcde0`: -```http +```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/unenrollAssets -Content-Type: application/json { "updateCategory": "driver", From 25357d04061b5382301c5ed9ba58dfdc3dc1e0ac Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:12:37 -0500 Subject: [PATCH 075/102] Update wufb-deployment-graph-unenroll.md --- .../deployment/update/includes/wufb-deployment-graph-unenroll.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md index 4020661631..f85f158a63 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-unenroll.md @@ -24,6 +24,7 @@ The following example removes `driver` enrollment for two devices, `01234567-89a ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/unenrollAssets +content-type: application/json { "updateCategory": "driver", From 3650f131f9c1feed81c18aa15607f6380094f35f Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:13:45 -0500 Subject: [PATCH 076/102] Update deployment-service-drivers.md --- windows/deployment/update/deployment-service-drivers.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 8a800ae311..1310226a09 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -77,6 +77,7 @@ To create a policy without any deployment settings, in the request body specify ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies + content-type: application/json { "audience": { @@ -117,6 +118,7 @@ To create a policy with additional settings, in the request body: ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies + content-type: application/json Content-length: 967 { @@ -238,6 +240,7 @@ Add a content approval to an existing policy, **Policy ID** `9011c330-1234-5678- ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges +content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", @@ -298,6 +301,7 @@ Since content approval is a compliance change for the policy, when you [update a ```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432 +content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", @@ -318,6 +322,7 @@ Approval for content can be revoked by setting the `isRevoked` property of the [ ```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678/complianceChanges/c03911a7-9876-5432-10ab-cdef98765432 +content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.contentApproval", From 83d447b7a0416ec4b6315bcbc86fefb86c50d5be Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:14:21 -0500 Subject: [PATCH 077/102] Update deployment-service-expedited-updates.md --- .../deployment/update/deployment-service-expedited-updates.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index f67447f315..68c6abfee9 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -79,6 +79,7 @@ When creating a deployment, there are [multiple options](/graph/api/resources/wi ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/deployments +content-type: application/json { "@odata.type": "#microsoft.graph.windowsUpdates.deployment", @@ -157,6 +158,7 @@ The following example adds two devices to the deployment audience using the **Az ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience +content-type: application/json { "addMembers": [ @@ -180,6 +182,7 @@ The following example pauses the deployment with a **Deployment ID** of `de910e1 ```msgraph-interactive 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", From 44c7f67f56045295c351b0afbba129ca7bfdd746 Mon Sep 17 00:00:00 2001 From: Vinay Pamnani <37223378+vinaypamnani-msft@users.noreply.github.com> Date: Fri, 10 Feb 2023 16:15:09 -0500 Subject: [PATCH 078/102] Update deployment-service-feature-updates.md --- .../deployment/update/deployment-service-feature-updates.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 3df265d48a..18903a0866 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -99,6 +99,7 @@ When creating a deployment for a feature update, there are multiple options avai ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/deployments +content-type: application/json { "content": { @@ -195,6 +196,7 @@ To [update deployment](/graph/api/windowsupdates-deployment-update), PATCH the d ```msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890 +content-type: application/json { "settings": { @@ -225,7 +227,8 @@ The **Audience ID**, `d39ad1ce-0123-4567-89ab-cdef01234567`, was created when th The following example adds three devices to the deployment audience using the **Azure AD ID** for each device: ```msgraph-interactive - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience + content-type: application/json { "addMembers": [ @@ -254,6 +257,7 @@ The following example pauses the deployment with a **Deployment ID** of `de910e1 ```msgraph-interactive 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", From 2d359674b85362270bd1349c28203efab1445b5d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 10 Feb 2023 14:09:36 -0800 Subject: [PATCH 079/102] overview and prereq edits --- windows/deployment/TOC.yml | 2 - .../update/deployment-service-overview.md | 80 +++++++------------ .../deployment-service-prerequisites.md | 14 ++++ 3 files changed, 44 insertions(+), 52 deletions(-) diff --git a/windows/deployment/TOC.yml b/windows/deployment/TOC.yml index 5cfad130d2..33cdd09baf 100644 --- a/windows/deployment/TOC.yml +++ b/windows/deployment/TOC.yml @@ -186,8 +186,6 @@ href: update/deployment-service-expedited-updates.md - name: Deploy driver and firmware updates using Graph Explorer href: update/deployment-service-drivers.md - - name: Deploy expedited updates using Intune - href: /mem/intune/protect/windows-10-expedite-updates?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json - name: Troubleshoot Windows Update for Business deployment service href: update/deployment-service-troubleshoot.md - name: Monitor diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 63b1f2a464..3ca8833c0b 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -23,31 +23,23 @@ Windows Update for Business product family has three elements: - [Windows Update for Business reports](wufb-reports-overview.md) to monitor update deployment - Deployment service APIs to approve and schedule specific updates for deployment, which are available through the Microsoft Graph and associated SDKs (including PowerShell) -## How the deployment service works - -With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated into Windows Update, once the admin defines the update deployment behavior, Windows Update is already aware of the how the device should be directed to install when a device scans - -the service ensures that the update is delivered to the device in the defined manner. - The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). -:::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Diagram displaying the three elements that are parts of the Windows Update for Business family. "::: +:::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Diagram displaying the three elements that are parts of the Windows Update for Business family."::: -Windows Update for Business comprises three elements: -- Client policy to govern update experiences and timing which are available through Group Policy and CSPs -- Deployment service APIs to approve and schedule specific updates which are available through the Microsoft Graph and associated SDKs (including PowerShell) -- Windows Update for Business reports to monitor update deployment +## How the deployment service works -Unlike existing client policy, the deployment service doesn't interact with devices directly. The service is native to the cloud and all operations take place between various Microsoft services. It creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an IT Pro. +With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated with Windows Update, once the admin defines the update deployment behavior, Windows Update is already aware of the how the device should be directed to install updates when a device scans for updates. The deployment service creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an admin. -:::image type="content" source="media/wufbds-interaction-small.png" alt-text="Process described in following text."::: Using the deployment service typically follows a common pattern: -1. IT Pro uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app or a more complete management solution such as Microsoft Intune. -2. The chosen tool conveys your approval, scheduling, and device selection information to the deployment service. +1. An admin uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app or a more complete management solution such as Microsoft Intune. +2. The chosen management tool conveys your approval, scheduling, and device selection information to the deployment service. 3. The deployment service processes the content approval and compares it with previously approved content. Final update applicability is determined and conveyed to Windows Update, which then offers approved content to devices on their next check for updates. -The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as Microsoft Intune. + :::image type="content" source="media/wufbds-interaction-small.png" alt-text="Diagram displaying "::: + +The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as [Microsoft Intune](mem/intune). ## Capabilities of the Windows Update for Business deployment service @@ -60,7 +52,7 @@ The deployment service is designed for IT Pros who are looking for more control - **Expedite**: Bypass the configured Windows Update for Business policies to immediately deploy a security update across the organization - **Safeguard holds**: Automatically holds the deployment for devices that may be impacted by an update issue identified by Microsoft machine-learning algorithms -Certain capabilities are available for specific update classifications: +Certain capabilities are available for specific update classifications: |Capabilities | Quality updates | Feature updates | Drivers and firmware| |---|---|---|---| @@ -70,30 +62,6 @@ Certain capabilities are available for specific update classifications: |Safeguard holds| | Yes | | - - - - -## Getting started - -To use the deployment service, you use a management tool built on the platform, script common actions using PowerShell, or build your own application. - -### Using Microsoft Intune - -Intune integrates with the deployment service to provide Windows client update management capabilities. For more information, see [Feature updates for Windows 10 and later policy in Intune](/mem/intune/protect/windows-10-feature-updates). - -### Scripting common actions using PowerShell - -The Microsoft Graph SDK includes a PowerShell extension that you can use to script and automate common update actions. For more information, see [Get started with the Microsoft Graph PowerShell SDK](/graph/powershell/get-started). - -### Building your own application - -Microsoft Graph makes deployment service APIs available through. Get started with these learning paths: -- Learning path: [Microsoft Graph Fundamentals](/training/paths/m365-msgraph-fundamentals/) -- Learning path: [Build apps with Microsoft Graph](/training/paths/m365-msgraph-associate/) - -Once you're familiar with Microsoft Graph development, see [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) for more. - ## Deployment protections The deployment service protects deployments through a combination of rollout controls and machine-learning algorithms that monitor deployments and react to issues during the rollout. @@ -120,25 +88,37 @@ To verify whether a device is affected by a safeguard hold, see [Am I affected b ### Monitoring deployments to detect rollback issues During deployments of Windows 11 or Windows 10 feature updates, driver combinations can sometimes result in an unexpected update failure that makes the device revert to the previously installed operating system version. The deployment service can monitor devices for such issues and automatically pause deployments when this happens, giving you time to detect and mitigate issues. +## Getting started with the deployment service +To use the deployment service, you use a management tool built on the platform, script common actions using PowerShell, or build your own application. -## Best practices -Follow these suggestions for the best results with the service. +### Using Microsoft Intune -### Device onboarding +Microsoft Intune integrates with the deployment service to provide Windows client update management capabilities. For more information, see: -- Wait until devices finish provisioning before managing with the service. If a device is being provisioned by Autopilot, it can only be managed by the deployment service after it finishes provisioning (typically one day). +- [Feature updates for Windows 10 and later policy in Intune](/mem/intune/protect/windows-10-feature-updates) +- [Expedite Windows quality updates in Microsoft Intune](/mem/intune/protect/windows-10-expedite-updates) -- Use the deployment service for feature update management without feature update deferral policy. If you want to use the deployment service to manage feature updates on a device that previously used a feature update deferral policy, it's best to set the feature update deferral policy to **0** days to avoid having multiple conditions governing feature updates. You should only change the feature update deferral policy value to 0 days after you've confirmed that the device was enrolled in the service with no errors. +### Scripting common actions using PowerShell -### General +The Microsoft Graph SDK includes a PowerShell extension that you can use to script and automate common update actions. For more information, see [Get started with the Microsoft Graph PowerShell SDK](/graph/powershell/get-started). -Avoid using different channels to manage the same resources. If you use Microsoft Intune along with Microsoft Graph APIs or PowerShell, aspects of resources (such as devices, deployments, updatable asset groups) might be overwritten if you use both channels to manage the same resources. Instead, only manage each resource through the channel that created it. +### Building your own application + +Microsoft Graph makes deployment service APIs available through. Get started with these learning paths: +- Learning path: [Microsoft Graph Fundamentals](/training/paths/m365-msgraph-fundamentals/) +- Learning path: [Build apps with Microsoft Graph](/training/paths/m365-msgraph-associate/) + +Once you're familiar with Microsoft Graph development, see [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) for more. ## Next steps -To learn more about the deployment service, try the following: +To learn more about the deployment service, see: -- [Feature updates for Windows 10 and later policy in Intune](/mem/intune/protect/windows-10-feature-updates) +- [Prerequisites for Windows Update for Business deployment service](deployment-service-prerequisites.md) +- [Deploy feature updates using Graph Explorer](deployment-service-feature-updates.md) +- [Deploy expedited updates using Graph Explorer](deployment-service-expedited-updates.md) +- [Deploy driver and firmware updates using Graph Explorer](deployment-service-drivers.md) - [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) + diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index dd5f8f8234..413fb6d586 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -63,3 +63,17 @@ Deployment scheduling controls are always available. However, to take advantage [!INCLUDE [Windows Update for Business deployment service limitations](./includes/wufb-deployment-limitations.md)] + + +## Best practices +Follow these suggestions for the best results with the service. + +### Device onboarding + +- Wait until devices finish provisioning before managing with the service. If a device is being provisioned by Autopilot, it can only be managed by the deployment service after it finishes provisioning (typically one day). + +- Use the deployment service for feature update management without feature update deferral policy. If you want to use the deployment service to manage feature updates on a device that previously used a feature update deferral policy, it's best to set the feature update deferral policy to **0** days to avoid having multiple conditions governing feature updates. You should only change the feature update deferral policy value to 0 days after you've confirmed that the device was enrolled in the service with no errors. + +### General + +Avoid using different channels to manage the same resources. If you use Microsoft Intune along with Microsoft Graph APIs or PowerShell, aspects of resources (such as devices, deployments, updatable asset groups) might be overwritten if you use both channels to manage the same resources. Instead, only manage each resource through the channel that created it. \ No newline at end of file From f32a2b45e067821c67a3620a6f66b95f1ba7407f Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Fri, 10 Feb 2023 15:42:52 -0800 Subject: [PATCH 080/102] overview and prereq edits --- .../update/deployment-service-drivers.md | 2 +- .../deployment-service-expedited-updates.md | 2 +- .../deployment-service-feature-updates.md | 2 +- .../update/deployment-service-overview.md | 28 +++++++------ .../deployment-service-prerequisites.md | 42 +++++++++++++++---- .../update/deployment-service-troubleshoot.md | 5 +++ 6 files changed, 58 insertions(+), 23 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 1310226a09..637e1711d3 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -32,7 +32,7 @@ This article uses [Graph Explorer](/graph/graph-explorer/graph-explorer-overview ## Prerequisites -All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-prerequisites.md) must be met. ### Permissions diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index 68c6abfee9..bf265fead9 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -28,7 +28,7 @@ In this article, you will: ## Prerequisites -All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-prerequisites.md) must be met. ### Permissions diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 18903a0866..87f4c2e0a2 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -33,7 +33,7 @@ In this article, you will: ## Prerequisites -All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-overview.md#prerequisites) must be met. +All of the [prerequisites for the Windows Update for Business deployment service](deployment-service-prerequisites.md) must be met. ### Permissions diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 3ca8833c0b..845d790090 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -23,7 +23,7 @@ Windows Update for Business product family has three elements: - [Windows Update for Business reports](wufb-reports-overview.md) to monitor update deployment - Deployment service APIs to approve and schedule specific updates for deployment, which are available through the Microsoft Graph and associated SDKs (including PowerShell) -The deployment service complements existing Windows Update for Business capabilities, including existing device policies and [Windows Update for Business reports](wufb-reports-overview.md). +The deployment service complements existing Windows Update for Business capabilities, including existing device policies and the[Windows Update for Business reports workbook](wufb-reports-workbook.md). :::image type="content" source="media/7512398-deployment-service-overview.png" alt-text="Diagram displaying the three elements that are parts of the Windows Update for Business family."::: @@ -54,7 +54,7 @@ The deployment service is designed for IT Pros who are looking for more control Certain capabilities are available for specific update classifications: -|Capabilities | Quality updates | Feature updates | Drivers and firmware| +|Capabilities | [Quality updates](deployment-service-expedited-updates.md) | [Feature updates](deployment-service-feature-updates.md) | [Drivers and firmware](deployment-service-drivers.md)| |---|---|---|---| |Approval and scheduling | | Yes | Yes | |Gradual rollout | | Yes | Yes | @@ -66,7 +66,7 @@ Certain capabilities are available for specific update classifications: The deployment service protects deployments through a combination of rollout controls and machine-learning algorithms that monitor deployments and react to issues during the rollout. -### Schedule rollouts with automatic piloting +### Gradual rollout The deployment service allows any update to be deployed over a period of days or weeks. Once an update has been scheduled, the deployment service optimizes the deployment based on the scheduling parameters and unique attributes spanning the devices being updated. The service follows these steps: @@ -75,24 +75,28 @@ The deployment service allows any update to be deployed over a period of days or 3. Start deploying to earlier waves to build coverage of device attributes present in the population. 4. Continue deploying at a uniform rate until all waves are complete and all devices are updated. -This built-in piloting capability complements your existing ring structure and provides another support for reducing and managing risk during an update. Unlike tools such as Desktop Analytics, this capability is intended to operate within each ring. The deployment service doesn't provide a workflow for creating rings themselves. - -You should continue to use deployment rings as part of the servicing strategy for your organization, but use gradual rollouts to add scheduling convenience and other protections within each ring. +This built-in piloting capability complements your existing [deployment ring](waas-quick-start.md) structure and provides another support for reducing and managing risk during an update. This capability is intended to operate within each ring. The deployment service doesn't provide a workflow for creating rings themselves. Continue to use deployment rings as part of the servicing strategy for your organization, but use gradual rollouts to add scheduling convenience and other protections within each ring. ### Safeguard holds against likely and known issues -Microsoft uses [safeguard holds](/windows/deployment/update/safeguard-holds) to protect devices from encountering known quality or compatibility issues by preventing them from installing the update or upgrade. For Windows 11 deployments, the deployment service extends these safeguard holds to also protect devices that Microsoft identifies as being at a higher risk of experiencing problems after an update (such as operating system rollbacks, app crashes, or graphics issues). The service temporarily holds the deployment for these devices while Microsoft investigates the likely issue. Safeguard holds apply to deployments by default, but you can opt out. - -To verify whether a device is affected by a safeguard hold, see [Am I affected by a safeguard hold?](/windows/deployment/update/safeguard-holds#am-i-affected-by-a-safeguard-hold) +Microsoft uses [safeguard holds](/windows/deployment/update/safeguard-holds) to protect devices from encountering known quality or compatibility issues by preventing them from installing the update or upgrade. For Windows 11 deployments, the deployment service extends these safeguard holds to also protect devices that Microsoft identifies as being at a higher risk of experiencing problems after an update (such as operating system rollbacks, app crashes, or graphics issues). The service temporarily holds the deployment for these devices while Microsoft investigates the likely issue. Safeguard holds apply to deployments by default, but you can opt out. To verify whether a device is affected by a safeguard hold, see [Am I affected by a safeguard hold?](/windows/deployment/update/safeguard-holds#am-i-affected-by-a-safeguard-hold). ### Monitoring deployments to detect rollback issues During deployments of Windows 11 or Windows 10 feature updates, driver combinations can sometimes result in an unexpected update failure that makes the device revert to the previously installed operating system version. The deployment service can monitor devices for such issues and automatically pause deployments when this happens, giving you time to detect and mitigate issues. -## Getting started with the deployment service -To use the deployment service, you use a management tool built on the platform, script common actions using PowerShell, or build your own application. +## Get started with the deployment service -### Using Microsoft Intune +To use the deployment service, you use a management tool built on the platform like Microsoft Intune, script common actions using PowerShell, or build your own application. + +To learn more about the deployment service, see: + +- [Prerequisites for Windows Update for Business deployment service](deployment-service-prerequisites.md) +- [Deploy feature updates using Graph Explorer](deployment-service-feature-updates.md) +- [Deploy expedited updates using Graph Explorer](deployment-service-expedited-updates.md) +- [Deploy driver and firmware updates using Graph Explorer](deployment-service-drivers.md) + +### Use Microsoft Intune Microsoft Intune integrates with the deployment service to provide Windows client update management capabilities. For more information, see: diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index 413fb6d586..92b47b1741 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -38,12 +38,21 @@ Windows Update for Business deployment service requires users of the devices to - Windows 11 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions - Windows 10 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions -## Windows client servicing channels +### Windows operating system updates + +- Expediting updates requires the *Update Health Tools* on the clients. The tools are are installed starting with [KB 4023057](https://support.microsoft.com/topic/kb4023057-update-for-windows-10-update-service-components-fccad0ca-dc10-2e46-9ed1-7e392450fb3a). To confirm the presence of the Update Health Tools on a device: + - Look for the folder **C:\Program Files\Microsoft Update Health Tools** or review *Add Remove Programs* for **Microsoft Update Health Tools**. + - As an Admin, run the following PowerShell script: `Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Microsoft Update Health Tools"}` + +- Installing the 2023-02 Cumulative Update is highly recommended to take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data). + +- ## Windows client servicing channels Windows Update for Business deployment service supports Windows client devices on the following channels: - General Availability Channel + ## Diagnostic data requirements Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. At minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. Some options for the deployment service require devices to send diagnostic data at the following levels: @@ -59,21 +68,38 @@ Deployment scheduling controls are always available. However, to take advantage > [!NOTE] > Leveraging other parts of the Graph API might require additional permissions. For example, to display [device](/graph/api/resources/device) information, a minimum of [Device.Read.All](/graph/permissions-reference#device-permissions) permission is needed. +## Required endpoints + +- Have access to the following endpoints: + +- [Windows Update endpoints](/windows/privacy/manage-windows-1809-endpoints#windows-update) + - *.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 +- Windows Update for Business deployment service endpoints + + - devicelistenerprod.microsoft.com + - login.windows.net + - payloadprod*.blob.core.windows.net + +- [Windows Push Notification Services](/windows/uwp/design/shell/tiles-and-notifications/firewall-allowlist-config): *(Recommended, but not required. Without this access, devices might not expedite updates until their next daily check for updates.)* + - *.notify.windows.com + + ## Limitations [!INCLUDE [Windows Update for Business deployment service limitations](./includes/wufb-deployment-limitations.md)] +## General tips for the deployment service -## Best practices -Follow these suggestions for the best results with the service. - -### Device onboarding +Follow these suggestions for the best results with the service: - Wait until devices finish provisioning before managing with the service. If a device is being provisioned by Autopilot, it can only be managed by the deployment service after it finishes provisioning (typically one day). - Use the deployment service for feature update management without feature update deferral policy. If you want to use the deployment service to manage feature updates on a device that previously used a feature update deferral policy, it's best to set the feature update deferral policy to **0** days to avoid having multiple conditions governing feature updates. You should only change the feature update deferral policy value to 0 days after you've confirmed that the device was enrolled in the service with no errors. -### General - -Avoid using different channels to manage the same resources. If you use Microsoft Intune along with Microsoft Graph APIs or PowerShell, aspects of resources (such as devices, deployments, updatable asset groups) might be overwritten if you use both channels to manage the same resources. Instead, only manage each resource through the channel that created it. \ No newline at end of file +- Avoid using different channels to manage the same resources. If you use Microsoft Intune along with Microsoft Graph APIs or PowerShell, aspects of resources (such as devices, deployments, updatable asset groups) might be overwritten if you use both channels to manage the same resources. Instead, only manage each resource through the channel that created it. diff --git a/windows/deployment/update/deployment-service-troubleshoot.md b/windows/deployment/update/deployment-service-troubleshoot.md index e97748686c..98a82ac2dc 100644 --- a/windows/deployment/update/deployment-service-troubleshoot.md +++ b/windows/deployment/update/deployment-service-troubleshoot.md @@ -19,6 +19,11 @@ ms.date: 12/31/2017 This troubleshooting guide addresses the most common issues that IT administrators face when using the Windows Update for Business [deployment service](deployment-service-overview.md). For a general troubleshooting guide for Windows Update, see [Windows Update troubleshooting](/troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json). + +## General tips for the deployment service + + + ## The device isn't receiving an update that I deployed - Check that the device doesn't have updates of the relevant category paused. See [Pause feature updates](waas-configure-wufb.md#pause-feature-updates) and [Pause quality updates](waas-configure-wufb.md#pause-quality-updates). From 1619af189b161664f912b681ad153fb396238f0d Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 14:20:54 -0800 Subject: [PATCH 081/102] overview and prereq edits --- .../update/deployment-service-overview.md | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 845d790090..695eb42728 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -6,7 +6,7 @@ author: mestew ms.localizationpriority: medium ms.author: mstewart manager: aaroncz -ms.topic: article +ms.topic: overview ms.technology: itpro-updates ms.date: 12/31/2017 --- @@ -29,21 +29,21 @@ The deployment service complements existing Windows Update for Business capabili ## How the deployment service works -With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated with Windows Update, once the admin defines the update deployment behavior, Windows Update is already aware of the how the device should be directed to install updates when a device scans for updates. The deployment service creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an admin. +With most update management solutions, usually update policies are set on the client itself using either registry edits, Group Policy, or an MDM solution that leverages CSPs. This means that the end user experience and deployment settings for updates are ultimately determined by the individual device settings. However, with Windows Update for Business deployment service, the service is the central point of control for update deployment behavior. Because the deployment service is directly integrated with Windows Update, once the admin defines the deployment behavior, Windows Update is already aware of how device should be directed to install updates when the device scans. The deployment service creates a direct communication channel between a management tool (including scripting tools such as Windows PowerShell) and the Windows Update service so that the approval and offering of content can be directly controlled by an admin. Using the deployment service typically follows a common pattern: -1. An admin uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app or a more complete management solution such as Microsoft Intune. +1. An admin uses a management tool to select devices and approve content to be deployed. This tool could be PowerShell, a Microsoft Graph app, or a more complete management solution such as Microsoft Intune. 2. The chosen management tool conveys your approval, scheduling, and device selection information to the deployment service. 3. The deployment service processes the content approval and compares it with previously approved content. Final update applicability is determined and conveyed to Windows Update, which then offers approved content to devices on their next check for updates. :::image type="content" source="media/wufbds-interaction-small.png" alt-text="Diagram displaying "::: -The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as [Microsoft Intune](mem/intune). +The deployment service exposes these capabilities through Microsoft [Graph REST APIs](/graph/overview). You can call the APIs directly, through a Graph SDK, or integrate them with a management tool such as [Microsoft Intune](/mem/intune). ## Capabilities of the Windows Update for Business deployment service -The deployment service is designed for IT Pros who are looking for more control than is provided through deferral policies and deployment rings. The service provides the following capabilities: +The deployment service is designed for IT Pros who are looking for more control than is provided through deferral policies and deployment rings. The service provides the following capabilities for updates: - **Approval and scheduling**: Approve and schedule deployment of updates to start on a specific date - *Example*: Deploy the Windows 11 22H2 feature update to specified devices on February 17, 2023. @@ -57,7 +57,7 @@ Certain capabilities are available for specific update classifications: |Capabilities | [Quality updates](deployment-service-expedited-updates.md) | [Feature updates](deployment-service-feature-updates.md) | [Drivers and firmware](deployment-service-drivers.md)| |---|---|---|---| |Approval and scheduling | | Yes | Yes | -|Gradual rollout | | Yes | Yes | +|Gradual rollout | | Yes | | |Expedite | Yes | | | |Safeguard holds| | Yes | | @@ -79,7 +79,7 @@ This built-in piloting capability complements your existing [deployment ring](wa ### Safeguard holds against likely and known issues -Microsoft uses [safeguard holds](/windows/deployment/update/safeguard-holds) to protect devices from encountering known quality or compatibility issues by preventing them from installing the update or upgrade. For Windows 11 deployments, the deployment service extends these safeguard holds to also protect devices that Microsoft identifies as being at a higher risk of experiencing problems after an update (such as operating system rollbacks, app crashes, or graphics issues). The service temporarily holds the deployment for these devices while Microsoft investigates the likely issue. Safeguard holds apply to deployments by default, but you can opt out. To verify whether a device is affected by a safeguard hold, see [Am I affected by a safeguard hold?](/windows/deployment/update/safeguard-holds#am-i-affected-by-a-safeguard-hold). +Microsoft uses [safeguard holds](/windows/deployment/update/safeguard-holds) to protect devices from encountering known quality or compatibility issues by preventing them from installing the update or upgrade. For Windows 11 deployments, the deployment service also extends safeguard holds to protect devices that Microsoft identifies as being at a higher risk of experiencing problems after an update (such as operating system rollbacks, app crashes, or graphics issues). The service temporarily holds the deployment for these devices while Microsoft investigates the likely issue. Safeguard holds apply to deployments by default, but you can opt out. To verify whether a device is affected by a safeguard hold, see [Am I affected by a safeguard hold?](/windows/deployment/update/safeguard-holds#am-i-affected-by-a-safeguard-hold). ### Monitoring deployments to detect rollback issues @@ -89,7 +89,7 @@ During deployments of Windows 11 or Windows 10 feature updates, driver combinati To use the deployment service, you use a management tool built on the platform like Microsoft Intune, script common actions using PowerShell, or build your own application. -To learn more about the deployment service, see: +To learn more about the deployment service and the deployment process, see: - [Prerequisites for Windows Update for Business deployment service](deployment-service-prerequisites.md) - [Deploy feature updates using Graph Explorer](deployment-service-feature-updates.md) @@ -109,20 +109,11 @@ The Microsoft Graph SDK includes a PowerShell extension that you can use to scri ### Building your own application -Microsoft Graph makes deployment service APIs available through. Get started with these learning paths: +Microsoft Graph makes deployment service APIs available through. Get started with the resources below: + - Learning path: [Microsoft Graph Fundamentals](/training/paths/m365-msgraph-fundamentals/) - Learning path: [Build apps with Microsoft Graph](/training/paths/m365-msgraph-associate/) -Once you're familiar with Microsoft Graph development, see [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) for more. - - -## Next steps - -To learn more about the deployment service, see: - -- [Prerequisites for Windows Update for Business deployment service](deployment-service-prerequisites.md) -- [Deploy feature updates using Graph Explorer](deployment-service-feature-updates.md) -- [Deploy expedited updates using Graph Explorer](deployment-service-expedited-updates.md) -- [Deploy driver and firmware updates using Graph Explorer](deployment-service-drivers.md) +- Windows Update for Business deployment service [sample driver deployment application](https://github.com/microsoftgraph/windowsupdates-webapplication-sample) on GitHub https://github.com/microsoftgraph/windowsupdates-webapplication-sample - [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) From 0c53642f8642aa2b7969c27c550b6b4406e6d6d5 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 15:18:51 -0800 Subject: [PATCH 082/102] overview and prereq edits --- .../deployment-service-prerequisites.md | 17 ++++----- .../update/deployment-service-troubleshoot.md | 35 ++++++++++++++++--- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index 92b47b1741..b81095e0c7 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -33,29 +33,26 @@ Windows Update for Business deployment service requires users of the devices to - Windows Virtual Desktop Access E3 or E5 - Microsoft 365 Business Premium -## Operating systems and editions +## Operating systems, editions, and channels - Windows 11 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions - Windows 10 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions +Windows Update for Business deployment service supports Windows client devices on the **General Availability Channel**. + ### Windows operating system updates - Expediting updates requires the *Update Health Tools* on the clients. The tools are are installed starting with [KB 4023057](https://support.microsoft.com/topic/kb4023057-update-for-windows-10-update-service-components-fccad0ca-dc10-2e46-9ed1-7e392450fb3a). To confirm the presence of the Update Health Tools on a device: - Look for the folder **C:\Program Files\Microsoft Update Health Tools** or review *Add Remove Programs* for **Microsoft Update Health Tools**. - As an Admin, run the following PowerShell script: `Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -match "Microsoft Update Health Tools"}` -- Installing the 2023-02 Cumulative Update is highly recommended to take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data). - -- ## Windows client servicing channels - -Windows Update for Business deployment service supports Windows client devices on the following channels: - -- General Availability Channel - +- To take advantage of [Changes to Windows diagnostic data collection](/windows/privacy/changes-to-windows-diagnostic-data-collection#services-that-rely-on-enhanced-diagnostic-data), installing the 2023-02 Cumulative Update on the clients is recommended. ## Diagnostic data requirements -Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. At minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. Some options for the deployment service require devices to send diagnostic data at the following levels: +Deployment scheduling controls are always available. However, to take advantage of the unique deployment protections tailored to your population and to [deploy driver updates](deployment-service-drivers.md), devices must share diagnostic data with Microsoft. For these features, At minimum, the deployment service requires devices to send [diagnostic data](/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) at the *Required* level (previously called *Basic*) for these features. + +Some options for the deployment service require devices to send diagnostic data at the following levels: - *Optional* level (previously *Full*) for Windows 11 devices - *Enhanced* level for Windows 10 devices diff --git a/windows/deployment/update/deployment-service-troubleshoot.md b/windows/deployment/update/deployment-service-troubleshoot.md index 98a82ac2dc..272538a56c 100644 --- a/windows/deployment/update/deployment-service-troubleshoot.md +++ b/windows/deployment/update/deployment-service-troubleshoot.md @@ -19,11 +19,6 @@ ms.date: 12/31/2017 This troubleshooting guide addresses the most common issues that IT administrators face when using the Windows Update for Business [deployment service](deployment-service-overview.md). For a general troubleshooting guide for Windows Update, see [Windows Update troubleshooting](/troubleshoot/windows-client/deployment/windows-update-issues-troubleshooting?toc=/windows/deployment/toc.json&bc=/windows/deployment/breadcrumb/toc.json). - -## General tips for the deployment service - - - ## The device isn't receiving an update that I deployed - Check that the device doesn't have updates of the relevant category paused. See [Pause feature updates](waas-configure-wufb.md#pause-feature-updates) and [Pause quality updates](waas-configure-wufb.md#pause-quality-updates). @@ -37,3 +32,33 @@ This troubleshooting guide addresses the most common issues that IT administrato - Check that the device is scanning the Windows Update service and not a different endpoint. If the device is scanning for updates from a WSUS endpoint, for example, it might receive different updates. To learn more about scanning for updates, see [Scanning updates](how-windows-update-works.md#scanning-updates). - **Feature updates only**: Check that the device is successfully enrolled in feature update management by the deployment service. A device that is not successfully enrolled might receive different updates according to its feature update deferral period, for example. A device that is successfully enrolled will be represented by an Azure AD device resource with an update management enrollment for feature updates and have no Azure AD device registration errors. + +### The device installed a newer update then the expedited update I deployed + +There are some scenarios when a deployment to expedite an update results in the installation of a more recent update than specified in policy. This result occurs when the newer update includes and surpasses the specified update, and that newer update is available before a device checks in to install the update that's specified in the expedite update policy. + +Installing the most recent quality update reduces disruptions to the device and user while applying the benefits of the intended update. This avoids having to install multiple updates, which each might require separate reboots. + +A more recent update is deployed when the following conditions are met: + +- The device isn't targeted with a deferral policy that blocks installation of a more recent update. In this case, the most recently available update that isn't deferred is the update that might install. + +- During the process to expedite an update, the device runs a new scan that detects the newer update. This can occur due to the timing of: + - When the device restarts to complete installation + - When the device runs its daily scan + - When a new update becomes available + + When a scan identifies a newer update, Windows Update attempts to stop installation of the original update, cancel the restart, and then starts the download and installation of the more recent update. + +While expedite update deployments will override an update deferral for the update version that's specified, they don't override deferrals that are in place for any other update version. + +### Log location for the Update Health Tools + +The Update Health Tools are used when you deploy expedited updates. In some cases, you may wish to review the logs for the Update Health Tools. + +**Log location**: `%ProgramFiles%\Microsoft Update Health Tools\Logs` + +- The logs are in `.etl` format. + - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md) which displays etl files. + +For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/troubleshooting-expedited-updates/ba-p/2595615). \ No newline at end of file From 112219efbdc8ace19d67bebb778e2d7bce9799df Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 15:27:12 -0800 Subject: [PATCH 083/102] overview and prereq edits --- .../update/deployment-service-drivers.md | 2 +- .../deployment-service-expedited-updates.md | 3 +++ .../update/deployment-service-troubleshoot.md | 12 ++--------- ...ufb-deployment-update-health-tools-logs.md | 21 +++++++++++++++++++ 4 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 637e1711d3..19692f9cba 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -114,7 +114,7 @@ To create a policy with additional settings, in the request body: - Define any [deployment settings](/graph/api/resources/windowsupdates-deploymentsettings). - Add the `content-length` header to the request if a status code of 411 occurs. The value should be the length of the request body in bytes. For information on error codes, see [Microsoft Graph error responses and resource types](/graph/errors). - In the following driver update policy example, any deployments created by a content approval will start 7 days after approval and will gradually roll out to 1000 devices per day for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: + In the following driver update policy example, any deployments created by a content approval will start 7 days after approval for **Audience ID** `d39ad1ce-0123-4567-89ab-cdef01234567`: ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index bf265fead9..ae8c818be9 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -192,3 +192,6 @@ content-type: application/json } } ``` + + +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-update-health-tools-logs.md)] \ No newline at end of file diff --git a/windows/deployment/update/deployment-service-troubleshoot.md b/windows/deployment/update/deployment-service-troubleshoot.md index 272538a56c..de2a896cad 100644 --- a/windows/deployment/update/deployment-service-troubleshoot.md +++ b/windows/deployment/update/deployment-service-troubleshoot.md @@ -52,13 +52,5 @@ A more recent update is deployed when the following conditions are met: While expedite update deployments will override an update deferral for the update version that's specified, they don't override deferrals that are in place for any other update version. -### Log location for the Update Health Tools - -The Update Health Tools are used when you deploy expedited updates. In some cases, you may wish to review the logs for the Update Health Tools. - -**Log location**: `%ProgramFiles%\Microsoft Update Health Tools\Logs` - -- The logs are in `.etl` format. - - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md) which displays etl files. - -For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/troubleshooting-expedited-updates/ba-p/2595615). \ No newline at end of file + +[!INCLUDE [Windows Update for Business deployment service permissions using Graph Explorer](./includes/wufb-deployment-update-health-tools-logs.md)] diff --git a/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md new file mode 100644 index 0000000000..e627c3c296 --- /dev/null +++ b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md @@ -0,0 +1,21 @@ +--- +author: mestew +ms.author: mstewart +manager: aaroncz +ms.technology: itpro-updates +ms.prod: windows-client +ms.topic: include +ms.date: 02/14/2023 +ms.localizationpriority: medium +--- + +## Log location for the Update Health Tools + +The Update Health Tools are used when you deploy expedited updates. In some cases, you may wish to review the logs for the Update Health Tools. + +**Log location**: `%ProgramFiles%\Microsoft Update Health Tools\Logs` + +- The logs are in `.etl` format. + - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md) which displays etl files. + +For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/troubleshooting-expedited-updates/ba-p/2595615). \ No newline at end of file From de440e7ddbf9aab349d792cee9e1638ae8f0889e Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 15:29:12 -0800 Subject: [PATCH 084/102] overview and prereq edits --- .../update/includes/wufb-deployment-update-health-tools-logs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md index e627c3c296..de9f61a2dc 100644 --- a/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md +++ b/windows/deployment/update/includes/wufb-deployment-update-health-tools-logs.md @@ -16,6 +16,6 @@ The Update Health Tools are used when you deploy expedited updates. In some case **Log location**: `%ProgramFiles%\Microsoft Update Health Tools\Logs` - The logs are in `.etl` format. - - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md) which displays etl files. + - Microsoft offers [PerfView as a download on GitHub](https://github.com/Microsoft/perfview/blob/main/documentation/Downloading.md), which displays `.etl` files. For more information, see [Troubleshooting expedited updates](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/troubleshooting-expedited-updates/ba-p/2595615). \ No newline at end of file From 8fd46377c5e9dde2bcafb24c37b0474063e2dad2 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 19:50:08 -0800 Subject: [PATCH 085/102] overview and prereq edits --- .../update/deployment-service-drivers.md | 18 ++++-------------- .../deployment-service-expedited-updates.md | 6 ++++++ .../deployment-service-feature-updates.md | 6 ++++++ .../wufb-deployment-audience-graph-explorer.md | 6 ++++-- .../includes/wufb-deployment-graph-explorer.md | 2 +- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/windows/deployment/update/deployment-service-drivers.md b/windows/deployment/update/deployment-service-drivers.md index 19692f9cba..45814a4275 100644 --- a/windows/deployment/update/deployment-service-drivers.md +++ b/windows/deployment/update/deployment-service-drivers.md @@ -90,7 +90,7 @@ Response returning the policy, without any additional settings specified, that h ```json HTTP/1.1 202 Accepted -Content-type: application/json +content-type: application/json { "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/updatePolicies/$entity", "id": "9011c330-1234-5678-9abc-def012345678", @@ -119,8 +119,7 @@ To create a policy with additional settings, in the request body: ```msgraph-interactive POST https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies content-type: application/json - - Content-length: 967 + { "@odata.type": "#microsoft.graph.windowsUpdates.updatePolicy", "audience": { @@ -139,17 +138,7 @@ To create a policy with additional settings, in the request body: }, "durationBeforeDeploymentStart": "P7D" } - ], - "deploymentSettings": { - "@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings", - "schedule": { - "gradualRollout": { - "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", - "durationBetweenOffers": "P1D", - "devicePerOffer": 1000 - } - } - } + ] } ``` @@ -166,6 +155,7 @@ To edit the policy settings, **PATCH** the policy using the **Policy ID**. Run t ``` msgraph-interactive PATCH https://graph.microsoft.com/beta/admin/windows/updates/updatePolicies/9011c330-1234-5678-9abc-def012345678 +content-type: application/json { "complianceChangeRules": [ diff --git a/windows/deployment/update/deployment-service-expedited-updates.md b/windows/deployment/update/deployment-service-expedited-updates.md index ae8c818be9..00b8b774eb 100644 --- a/windows/deployment/update/deployment-service-expedited-updates.md +++ b/windows/deployment/update/deployment-service-expedited-updates.md @@ -174,6 +174,12 @@ content-type: application/json } ``` +To verify the devices were added to the audience, run the following query using the **Audience ID** of `d39ad1ce-0123-4567-89ab-cdef01234567`: + + ```msgraph-interactive + GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members + ``` + ## Pause a deployment To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. diff --git a/windows/deployment/update/deployment-service-feature-updates.md b/windows/deployment/update/deployment-service-feature-updates.md index 87f4c2e0a2..7259780621 100644 --- a/windows/deployment/update/deployment-service-feature-updates.md +++ b/windows/deployment/update/deployment-service-feature-updates.md @@ -248,6 +248,12 @@ The following example adds three devices to the deployment audience using the ** } ``` +To verify the devices were added to the audience, run the following query using the **Audience ID** of `d39ad1ce-0123-4567-89ab-cdef01234567`: + + ```msgraph-interactive + GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members + ``` + ## Pause a deployment To pause a deployment, PATCH the deployment to have a `requestedValue` of `paused` for the [deploymentState](/graph/api/resources/windowsupdates-deploymentstate). To resume the deployment, use the value `none` and the state will either update to `offering` or `scheduled` if the deployment hasn't reached the start date yet. diff --git a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md index 9d5e531e42..fda5f5a881 100644 --- a/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-audience-graph-explorer.md @@ -14,7 +14,8 @@ A deployment audience is a collection of devices that you want to deploy updates 1. To create a new audience, **POST** to the [deployment audience](/graph/api/resources/windowsupdates-deploymentaudience) resource with a request body of `{}`. ```msgraph-interactive - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences + content-type: application/json {} ``` @@ -34,7 +35,8 @@ A deployment audience is a collection of devices that you want to deploy updates 1. Add devices, using their **Azure AD ID**, to the deployment audience so they become audience members. Specify the deployment **Audience ID** in the URL field and the devices to add in the request body. The `id` property specifies the **Azure AD ID** of the device. ```msgraph-interactive - POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience + POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience + content-type: application/json { "addMembers": [ diff --git a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md index d06da8e611..34f811aaad 100644 --- a/windows/deployment/update/includes/wufb-deployment-graph-explorer.md +++ b/windows/deployment/update/includes/wufb-deployment-graph-explorer.md @@ -31,4 +31,4 @@ For this article, you'll use Graph Explorer to make requests to the [Microsoft G 1. Select the **Run query** button. The results will appear in the **Response** window. > [!TIP] - > When reviewing [Microsoft Graph documentation](/graph/), you may notice example requests usually list `Content-type: application/json`. Specifying `content-type` typically isn't required for Graph Explorer, but you can add it to the request by selecting the **Headers** tab and adding the `content-type` to the **Request headers** field as the **Key** and `application/json` as the **Value**. + > When reviewing [Microsoft Graph documentation](/graph/), you may notice example requests usually list `content-type: application/json`. Specifying `content-type` typically isn't required for Graph Explorer, but you can add it to the request by selecting the **Headers** tab and adding the `content-type` to the **Request headers** field as the **Key** and `application/json` as the **Value**. From 5161ea8b580ff4cdcd378bbbc2e258e7d2738a79 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 20:43:53 -0800 Subject: [PATCH 086/102] edit --- windows/deployment/update/deployment-service-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-overview.md b/windows/deployment/update/deployment-service-overview.md index 695eb42728..02f88c51bf 100644 --- a/windows/deployment/update/deployment-service-overview.md +++ b/windows/deployment/update/deployment-service-overview.md @@ -114,6 +114,6 @@ Microsoft Graph makes deployment service APIs available through. Get started wit - Learning path: [Microsoft Graph Fundamentals](/training/paths/m365-msgraph-fundamentals/) - Learning path: [Build apps with Microsoft Graph](/training/paths/m365-msgraph-associate/) -- Windows Update for Business deployment service [sample driver deployment application](https://github.com/microsoftgraph/windowsupdates-webapplication-sample) on GitHub https://github.com/microsoftgraph/windowsupdates-webapplication-sample +- Windows Update for Business deployment service [sample driver deployment application](https://github.com/microsoftgraph/windowsupdates-webapplication-sample) on GitHub - [Windows updates API overview in Microsoft Graph](/graph/windowsupdates-concept-overview) From d98e8ee94fc20c21eaf5c8285e963399346f1cae Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sat, 11 Feb 2023 21:00:26 -0800 Subject: [PATCH 087/102] edit --- windows/deployment/update/deployment-service-prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/deployment-service-prerequisites.md b/windows/deployment/update/deployment-service-prerequisites.md index b81095e0c7..bfbf5eefe1 100644 --- a/windows/deployment/update/deployment-service-prerequisites.md +++ b/windows/deployment/update/deployment-service-prerequisites.md @@ -33,7 +33,7 @@ Windows Update for Business deployment service requires users of the devices to - Windows Virtual Desktop Access E3 or E5 - Microsoft 365 Business Premium -## Operating systems, editions, and channels +## Operating systems and editions - Windows 11 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions - Windows 10 Professional, Education, Enterprise, Pro Education, or Pro for Workstations editions From b999db99e3e20be59d99057eefe7ab3309cc83fb Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 14:38:15 -0800 Subject: [PATCH 088/102] add driver tab ux info --- .../update/wufb-reports-workbook.md | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/windows/deployment/update/wufb-reports-workbook.md b/windows/deployment/update/wufb-reports-workbook.md index c6ddd21005..fd25556227 100644 --- a/windows/deployment/update/wufb-reports-workbook.md +++ b/windows/deployment/update/wufb-reports-workbook.md @@ -15,12 +15,13 @@ ms.technology: itpro-updates ***(Applies to: Windows 11 & Windows 10)*** -[Windows Update for Business reports](wufb-reports-overview.md) presents information commonly needed by updates administrators in an easy-to-use format. Windows Update for Business reports uses [Azure Workbooks](/azure/azure-monitor/visualize/workbooks-getting-started) to give you a visual representation of your compliance data. The workbook is broken down into four tab sections: +[Windows Update for Business reports](wufb-reports-overview.md) presents information commonly needed by updates administrators in an easy-to-use format. Windows Update for Business reports uses [Azure Workbooks](/azure/azure-monitor/visualize/workbooks-getting-started) to give you a visual representation of your compliance data. The workbook is broken down into tab sections: - [Summary](#summary-tab) - [Quality updates](#quality-updates-tab) - [Feature updates](#feature-updates-tab) - [Delivery Optimization](#bkmk_do) +- [Driver updates](#driver-updates-tab) :::image type="content" source="media/33771278-wufb-reports-workbook-summary.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook with the three tabbed sections outlined in red." lightbox="media/33771278-wufb-reports-workbook-summary.png"::: @@ -137,7 +138,7 @@ The **Device status** group for feature updates contains the following items: - **Device compliance status**: Table containing a list of devices getting a feature update and installation information including active alerts for the devices. - This table is limited to the first 250 rows. Select `...` to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). -## Delivery Optimization (preview tab) +## Delivery Optimization The **Delivery Optimization** tab provides a summarized view of bandwidth efficiencies. This new revised report also includes [Microsoft Connected Cache](/windows/deployment/do/waas-microsoft-connected-cache) information. @@ -156,6 +157,38 @@ The Delivery Optimization tab is further divided into the following groups: :::image type="content" source="images/wufb-do-overview.png" alt-text="Screenshot of the summary tab in the Windows Update for Business reports workbook for Delivery Optimization." lightbox="images/wufb-do-overview.png"::: +## Driver updates tab + +The **Driver update** tab provides generalized data at the top by using tiles. The data becomes more specific as you navigate lower in this tab. The top of the driver updates tab contains tiles with the following information: + +**Devices taking driver updates**: Count of devices that are installing driver and firmware updates. +**Approved updates**: Count of approved driver updates +**Total policies**: The total number of deployment polices for driver and firmware updates from [Windows Update for Business deployment service](deployment-service-overview.md) +**Active alerts**: Count of active alerts for driver deployments + +Selecting **View details** on any of the tiles displays a flyout with a chart that displays the first 250 items. Select `...` from the flyout to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). + +Just like the [**Quality updates**](#quality-updates-tab) and [**Feature updates**](#feature-updates-tab) tabs, the **Driver updates** tab is also subdivided into **Update status** and **Device status** groups below the tiles. These different chart groups allow you to easily discover trends in compliance data. + +### Update status group for drivers + +The **Update status** group for driver updates contains the following items: + +- **Update states for all driver updates**: Chart containing the number of devices in a specific state, such as installing, for driver updates. +- **Distribution of Driver Classes**: Chart containing the number of drivers in a specific class. +- **Update alerts for all driver updates**: Chart containing the count of active errors and warnings for driver updates. + +The **Update deployment status** table displays information about deployed driver updates for your devices. Drill-in further by selecting a value from the **TotalDevices** column to display the status of a specific driver for a specific policy along with information about the installation status for each device. + +### Device status group for driver updates + +The **Device status** group for driver updates contains the following items: + +- **Device alerts**: Count of active device alerts for driver updates in each alert classification. +- **Device compliance status**: Table containing a list of devices getting a driver update and installation information including active alerts for the devices. + - This table is limited to the first 250 rows. Select `...` to export the full list, or display the query in [Log Analytics](/azure/azure-monitor/logs/log-analytics-tutorial). + + ## Customize the workbook Since the Windows Update for Business reports workbook is an [Azure Workbook template](/azure/azure-monitor/visualize/workbooks-templates), it can be customized to suit your needs. If you open a template, make some adjustments, and save it, the template is saved as a workbook. This workbook appears in green. The original template is left untouched. For more information about workbooks, see [Get started with Azure Workbooks](/azure/azure-monitor/visualize/workbooks-getting-started). From 111112692989b7cac977780a2d79b4d1fd4e0e78 Mon Sep 17 00:00:00 2001 From: Meghan Stewart <33289333+mestew@users.noreply.github.com> Date: Sun, 12 Feb 2023 14:51:49 -0800 Subject: [PATCH 089/102] add screenshot, move do screenshot to media folder --- .../7539531-wufb-reports-workbook-drivers.png | Bin 0 -> 420359 bytes .../{images => media}/wufb-do-overview.png | Bin .../deployment/update/wufb-reports-workbook.md | 4 +++- 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 windows/deployment/update/media/7539531-wufb-reports-workbook-drivers.png rename windows/deployment/update/{images => media}/wufb-do-overview.png (100%) diff --git a/windows/deployment/update/media/7539531-wufb-reports-workbook-drivers.png b/windows/deployment/update/media/7539531-wufb-reports-workbook-drivers.png new file mode 100644 index 0000000000000000000000000000000000000000..261418b6ceaf38c0d6e63cdcad30ee2b9e1bba7d GIT binary patch literal 420359 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