[{"data":1,"prerenderedAt":5005},["ShallowReactive",2],{"post-\u002Fblog\u002Funderstanding-msix-deployment-operations-requests-queues":3,"post-body-\u002Fblog\u002Funderstanding-msix-deployment-operations-requests-queues":22,"surroundBlogs-\u002Fblog\u002Funderstanding-msix-deployment-operations-requests-queues":850,"content-query-coNILkrYM3":855,"content-query-WZfvBznF07":1493,"related-\u002Fblog\u002Funderstanding-msix-deployment-operations-requests-queues":3223},{"title":4,"description":5,"date":6,"updated":6,"categories":7,"tags":12,"image":21},"Understanding MSIX Deployment Operations, Requests, and Queues","MSIX deployment is request-driven: Windows turns package actions into deployment operations, queues them, and applies concurrency rules to protect package state.","2026-05-27",[8,9,10,11],"euc-enduser-computing","microsoft","msix","application-management",[10,13,14,15,16,17,18,19,20],"appx","package-manager","package-deployment","microsoft-intune","configuration-manager","app-installer","powershell","windows","\u002Fimages\u002Fblog\u002F2025-2026\u002Funderstanding-msix-deployment-operations\u002Fdeployment-queues-explained.jpg",{"_path":23,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":4,"description":5,"date":6,"updated":6,"categories":27,"tags":28,"image":21,"tldr":29,"author":26,"body":30,"_type":844,"_id":845,"_source":846,"_file":847,"_stem":848,"_extension":849},"\u002Fblog\u002Funderstanding-msix-deployment-operations-requests-queues","blog",false,"",[8,9,10,11],[10,13,14,15,16,17,18,19,20],"MSIX deployment is request driven. Tools such as PowerShell, App Installer, Intune, Configuration Manager, and PackageManager APIs submit work to Windows. Windows converts that work into deployment operations such as add, stage, register, repair, move, provision, or remove, places requests into a priority queue, and runs them only when package state and concurrency rules allow it.",{"type":31,"children":32,"toc":828},"root",[33,43,60,74,79,104,109,116,121,126,184,189,231,236,242,248,253,258,263,268,274,279,284,289,294,322,333,338,344,349,367,378,383,406,411,416,444,450,457,462,467,472,478,483,488,493,526,531,537,558,563,596,601,612,617,627,632,641,647,652,695,700,706,711,716,721,726,731,737],{"type":34,"tag":35,"props":36,"children":37},"element","p",{},[38],{"type":34,"tag":39,"props":40,"children":42},"img",{"alt":41,"src":21},"MSIX deployment queues explained cover image.",[],{"type":34,"tag":35,"props":44,"children":45},{},[46,49,58],{"type":47,"value":48},"text","Microsoft published a useful Inside MSIX post on May 27, 2026: ",{"type":34,"tag":50,"props":51,"children":55},"a",{"href":52,"rel":53},"https:\u002F\u002Fdevblogs.microsoft.com\u002Finsidemsix\u002Fdeployment-operations-requests-and-queue\u002F",[54],"nofollow",[56],{"type":47,"value":57},"Deployment Operations, Requests and Queue",{"type":47,"value":59},", written by Howard Kapustein, Principal Software Engineer.",{"type":34,"tag":35,"props":61,"children":62},{},[63,65,72],{"type":47,"value":64},"The post explains what happens behind the scenes when the Windows package deployment platform receives work from a ",{"type":34,"tag":66,"props":67,"children":69},"code",{"className":68},[],[70],{"type":47,"value":71},"PackageManager",{"type":47,"value":73}," API. This article translates that deployment model into practical terms for packaging engineers, EUC architects, Intune administrators, ConfigMgr teams, and anyone who has stared at an AppX deployment log wondering why something waited instead of running immediately.",{"type":34,"tag":35,"props":75,"children":76},{},[77],{"type":47,"value":78},"The operating model is:",{"type":34,"tag":80,"props":81,"children":82},"ul",{},[83,89,94,99],{"type":34,"tag":84,"props":85,"children":86},"li",{},[87],{"type":47,"value":88},"The tool or API submits a deployment request.",{"type":34,"tag":84,"props":90,"children":91},{},[92],{"type":47,"value":93},"Windows maps that request to a deployment operation.",{"type":34,"tag":84,"props":95,"children":96},{},[97],{"type":47,"value":98},"The request goes into a priority queue.",{"type":34,"tag":84,"props":100,"children":101},{},[102],{"type":47,"value":103},"The deployment engine runs it when package state and concurrency rules allow it.",{"type":34,"tag":35,"props":105,"children":106},{},[107],{"type":47,"value":108},"That queue is not a problem. It is how Windows protects package consistency.",{"type":34,"tag":110,"props":111,"children":113},"h2",{"id":112},"what-is-a-deployment-operation",[114],{"type":47,"value":115},"What is a deployment operation?",{"type":34,"tag":35,"props":117,"children":118},{},[119],{"type":47,"value":120},"A deployment operation is the actual package job Windows performs.",{"type":34,"tag":35,"props":122,"children":123},{},[124],{"type":47,"value":125},"Examples include:",{"type":34,"tag":80,"props":127,"children":128},{},[129,134,139,144,149,154,159,164,169,174,179],{"type":34,"tag":84,"props":130,"children":131},{},[132],{"type":47,"value":133},"Add Package",{"type":34,"tag":84,"props":135,"children":136},{},[137],{"type":47,"value":138},"Stage Package",{"type":34,"tag":84,"props":140,"children":141},{},[142],{"type":47,"value":143},"Register Package",{"type":34,"tag":84,"props":145,"children":146},{},[147],{"type":47,"value":148},"Remove Package",{"type":34,"tag":84,"props":150,"children":151},{},[152],{"type":47,"value":153},"Provision Package",{"type":34,"tag":84,"props":155,"children":156},{},[157],{"type":47,"value":158},"Deprovision Package",{"type":34,"tag":84,"props":160,"children":161},{},[162],{"type":47,"value":163},"Move Package",{"type":34,"tag":84,"props":165,"children":166},{},[167],{"type":47,"value":168},"Repair Package",{"type":34,"tag":84,"props":170,"children":171},{},[172],{"type":47,"value":173},"Reset Package",{"type":34,"tag":84,"props":175,"children":176},{},[177],{"type":47,"value":178},"Add Volume",{"type":34,"tag":84,"props":180,"children":181},{},[182],{"type":47,"value":183},"Remove Volume",{"type":34,"tag":35,"props":185,"children":186},{},[187],{"type":47,"value":188},"In plain English, the API call or management tool is the trigger. The deployment operation is the work Windows decides it needs to carry out.",{"type":34,"tag":35,"props":190,"children":191},{},[192,194,200,202,207,209,215,217,223,225,229],{"type":47,"value":193},"For example, Microsoft's Inside MSIX post explains that ",{"type":34,"tag":66,"props":195,"children":197},{"className":196},[],[198],{"type":47,"value":199},"PackageManager.MovePackageToVolumeAsync()",{"type":47,"value":201}," submits a request that performs a ",{"type":34,"tag":203,"props":204,"children":205},"strong",{},[206],{"type":47,"value":163},{"type":47,"value":208}," operation. The method name is usually a good clue, but it is not always a one-to-one mapping. Microsoft also gives the example that ",{"type":34,"tag":66,"props":210,"children":212},{"className":211},[],[213],{"type":47,"value":214},"PackageManager.StagePackageAsync()",{"type":47,"value":216}," and ",{"type":34,"tag":66,"props":218,"children":220},{"className":219},[],[221],{"type":47,"value":222},"PackageManager.StagePackageByUriAsync()",{"type":47,"value":224}," are different API methods, with different parameters, but both can result in a ",{"type":34,"tag":203,"props":226,"children":227},{},[228],{"type":47,"value":138},{"type":47,"value":230}," operation.",{"type":34,"tag":35,"props":232,"children":233},{},[234],{"type":47,"value":235},"That distinction matters because administrators often think in terms of the command they ran. Windows thinks in terms of the deployment operation it must process.",{"type":34,"tag":39,"props":237,"children":241},{"src":238,"alt":239,"width":240},"\u002Fimages\u002Fblog\u002F2025-2026\u002Funderstanding-msix-deployment-operations\u002Fapi-to-operation.jpg","Diagram showing an API call becoming a deployment request, priority queue item, and package operation.","50%",[],{"type":34,"tag":110,"props":243,"children":245},{"id":244},"what-is-a-deployment-request",[246],{"type":47,"value":247},"What is a deployment request?",{"type":34,"tag":35,"props":249,"children":250},{},[251],{"type":47,"value":252},"A deployment request is the unit of work submitted to the deployment engine. According to Microsoft's Inside MSIX post, the request includes the requested deployment operation, input parameters, caller user context, security context, and other operational properties.",{"type":34,"tag":35,"props":254,"children":255},{},[256],{"type":47,"value":257},"That request is added to an in-memory priority queue inside the deployment engine. The deployment engine is multithreaded, so multiple requests can be processed in parallel, but only where Windows decides it is safe.",{"type":34,"tag":35,"props":259,"children":260},{},[261],{"type":47,"value":262},"This explains a common field observation: an MSIX action can be accepted but not start immediately.",{"type":34,"tag":35,"props":264,"children":265},{},[266],{"type":47,"value":267},"For example, if a repair operation is already running for a package, a move request for the same package can still be submitted. Windows can accept the request and place it in the queue, but it will not start the move operation until the repair operation completes. That is controlled sequencing, not random delay.",{"type":34,"tag":110,"props":269,"children":271},{"id":270},"why-the-queue-matters",[272],{"type":47,"value":273},"Why the queue matters",{"type":34,"tag":35,"props":275,"children":276},{},[277],{"type":47,"value":278},"MSIX is designed to make app installation more reliable and manageable. Microsoft Learn describes MSIX as the modern Windows app packaging format, with reliable install and uninstall, automatic updates, package identity, and enterprise deployment support through tools such as Microsoft Intune and Configuration Manager.",{"type":34,"tag":35,"props":280,"children":281},{},[282],{"type":47,"value":283},"Reliable deployment does not mean every operation runs instantly or independently. The deployment engine has to protect package state. It needs to consider the package identity, user context, security context, target volume, dependencies, package payload, and any existing operation already touching the same package.",{"type":34,"tag":35,"props":285,"children":286},{},[287],{"type":47,"value":288},"That is where the queue becomes important.",{"type":34,"tag":35,"props":290,"children":291},{},[292],{"type":47,"value":293},"You may see this in production when:",{"type":34,"tag":80,"props":295,"children":296},{},[297,302,307,312,317],{"type":34,"tag":84,"props":298,"children":299},{},[300],{"type":47,"value":301},"A deployment action is accepted but waits before starting.",{"type":34,"tag":84,"props":303,"children":304},{},[305],{"type":47,"value":306},"A repair, move, update, or uninstall waits behind another operation.",{"type":34,"tag":84,"props":308,"children":309},{},[310],{"type":47,"value":311},"Multiple deployments run at the same time, but not against the same package state.",{"type":34,"tag":84,"props":313,"children":314},{},[315],{"type":47,"value":316},"Logs use terms such as stage, register, add, move, repair, or remove instead of the name of the tool that triggered the action.",{"type":34,"tag":84,"props":318,"children":319},{},[320],{"type":47,"value":321},"Staging work slows down when several packages are being downloaded or extracted at once.",{"type":34,"tag":35,"props":323,"children":324},{},[325,327,331],{"type":47,"value":326},"Microsoft's post also notes that concurrency controls can apply to an entire request or to only part of the work. A good example is package staging. An ",{"type":34,"tag":203,"props":328,"children":329},{},[330],{"type":47,"value":133},{"type":47,"value":332}," operation can include staging the package payload, and Windows supports only a limited number of concurrent staging activities. The exact number depends on system configuration, hardware capacity, current activity, and other factors.",{"type":34,"tag":35,"props":334,"children":335},{},[336],{"type":47,"value":337},"For enterprise deployment, that means throughput is not just about network bandwidth. It is also about the deployment engine's scheduling and safety rules.",{"type":34,"tag":110,"props":339,"children":341},{"id":340},"stage-versus-register",[342],{"type":47,"value":343},"Stage versus register",{"type":34,"tag":35,"props":345,"children":346},{},[347],{"type":47,"value":348},"Staging and registration are easy to confuse, but Microsoft Learn draws a clear line between them.",{"type":34,"tag":35,"props":350,"children":351},{},[352,357,359,365],{"type":34,"tag":66,"props":353,"children":355},{"className":354},[],[356],{"type":47,"value":214},{"type":47,"value":358}," stages a package to the system without registering it. The Learn documentation also notes that the stage operation extracts the package payload to ",{"type":34,"tag":66,"props":360,"children":362},{"className":361},[],[363],{"type":47,"value":364},"%ProgramFiles%\\WindowsApps",{"type":47,"value":366},".",{"type":34,"tag":35,"props":368,"children":369},{},[370,376],{"type":34,"tag":66,"props":371,"children":373},{"className":372},[],[374],{"type":47,"value":375},"PackageManager.RegisterPackageAsync()",{"type":47,"value":377}," registers the package and its dependencies for the current user, using the specified deployment options.",{"type":34,"tag":35,"props":379,"children":380},{},[381],{"type":47,"value":382},"The practical distinction is:",{"type":34,"tag":80,"props":384,"children":385},{},[386,396],{"type":34,"tag":84,"props":387,"children":388},{},[389,394],{"type":34,"tag":203,"props":390,"children":391},{},[392],{"type":47,"value":393},"Staging",{"type":47,"value":395}," means the package payload is present on the machine.",{"type":34,"tag":84,"props":397,"children":398},{},[399,404],{"type":34,"tag":203,"props":400,"children":401},{},[402],{"type":47,"value":403},"Registration",{"type":47,"value":405}," means the package is connected to a user context and can be used by that user.",{"type":34,"tag":39,"props":407,"children":410},{"src":408,"alt":409,"width":240},"\u002Fimages\u002Fblog\u002F2025-2026\u002Funderstanding-msix-deployment-operations\u002Fstage-vs-register.jpg","Stage package versus register package diagram showing machine presence and user availability.",[],{"type":34,"tag":35,"props":412,"children":413},{},[414],{"type":47,"value":415},"This distinction is important for App Attach, multi-user hosts, provisioning, repair workflows, and pre-staging scenarios. If you only think in terms of \"install\", you can miss whether the problem is payload presence, user registration, dependency state, or package identity.",{"type":34,"tag":35,"props":417,"children":418},{},[419,421,427,429,435,436,442],{"type":47,"value":420},"PowerShell reflects this split as well. Microsoft Learn documents ",{"type":34,"tag":66,"props":422,"children":424},{"className":423},[],[425],{"type":47,"value":426},"Add-AppxPackage",{"type":47,"value":428}," as adding a signed app package to a user account, and its syntax includes separate ",{"type":34,"tag":66,"props":430,"children":432},{"className":431},[],[433],{"type":47,"value":434},"-Stage",{"type":47,"value":216},{"type":34,"tag":66,"props":437,"children":439},{"className":438},[],[440],{"type":47,"value":441},"-Register",{"type":47,"value":443}," parameter sets. That is a useful reminder that one familiar command can trigger different deployment behaviours depending on how it is called.",{"type":34,"tag":110,"props":445,"children":447},{"id":446},"how-to-apply-this-in-real-deployments",[448],{"type":47,"value":449},"How to apply this in real deployments",{"type":34,"tag":451,"props":452,"children":454},"h3",{"id":453},"_1-do-not-stack-operations-against-the-same-package",[455],{"type":47,"value":456},"1. Do not stack operations against the same package",{"type":34,"tag":35,"props":458,"children":459},{},[460],{"type":47,"value":461},"Treat add, stage, register, repair, move, update, reset, and remove as package-state operations.",{"type":34,"tag":35,"props":463,"children":464},{},[465],{"type":47,"value":466},"If you are automating MSIX deployment, avoid launching several operations against the same package identity without checking completion. For example, do not immediately move or repair a package while an install or update is still in progress.",{"type":34,"tag":35,"props":468,"children":469},{},[470],{"type":47,"value":471},"This is especially important where Microsoft Intune, Configuration Manager, scripts, scheduled remediation, and user-initiated installs can overlap.",{"type":34,"tag":451,"props":473,"children":475},{"id":474},"_2-design-for-the-tool-you-use-in-production",[476],{"type":47,"value":477},"2. Design for the tool you use in production",{"type":34,"tag":35,"props":479,"children":480},{},[481],{"type":47,"value":482},"A clean local test is useful, but it does not represent every enterprise condition.",{"type":34,"tag":35,"props":484,"children":485},{},[486],{"type":47,"value":487},"Microsoft Learn documents several supported MSIX delivery routes, including Microsoft Intune, Configuration Manager, App Installer, PowerShell, DISM, and provisioning. Each tool gives you a different user experience and operational workflow, but Windows still processes package deployment work underneath.",{"type":34,"tag":35,"props":489,"children":490},{},[491],{"type":47,"value":492},"For production testing, validate the same path you plan to use in production:",{"type":34,"tag":80,"props":494,"children":495},{},[496,501,506,511,516,521],{"type":34,"tag":84,"props":497,"children":498},{},[499],{"type":47,"value":500},"Required Intune deployment.",{"type":34,"tag":84,"props":502,"children":503},{},[504],{"type":47,"value":505},"Available Company Portal deployment.",{"type":34,"tag":84,"props":507,"children":508},{},[509],{"type":47,"value":510},"ConfigMgr application deployment.",{"type":34,"tag":84,"props":512,"children":513},{},[514],{"type":47,"value":515},"App Installer web flow.",{"type":34,"tag":84,"props":517,"children":518},{},[519],{"type":47,"value":520},"PowerShell install or repair script.",{"type":34,"tag":84,"props":522,"children":523},{},[524],{"type":47,"value":525},"DISM or provisioning workflow.",{"type":34,"tag":35,"props":527,"children":528},{},[529],{"type":47,"value":530},"Do not assume that success through one route proves the timing, identity, context, or dependency behaviour of another.",{"type":34,"tag":451,"props":532,"children":534},{"id":533},"_3-troubleshoot-using-operation-names",[535],{"type":47,"value":536},"3. Troubleshoot using operation names",{"type":34,"tag":35,"props":538,"children":539},{},[540,542,548,550,556],{"type":47,"value":541},"Microsoft's Inside MSIX post points out that deployment operations appear throughout deployment logs and telemetry. Microsoft Learn also recommends checking the ",{"type":34,"tag":66,"props":543,"children":545},{"className":544},[],[546],{"type":47,"value":547},"AppXDeployment-Server",{"type":47,"value":549}," event log and using ",{"type":34,"tag":66,"props":551,"children":553},{"className":552},[],[554],{"type":47,"value":555},"Get-AppxLog",{"type":47,"value":557}," when troubleshooting package deployment failures.",{"type":34,"tag":35,"props":559,"children":560},{},[561],{"type":47,"value":562},"When a deployment fails or waits, map the visible action back to the operation model:",{"type":34,"tag":80,"props":564,"children":565},{},[566,571,576,581,586,591],{"type":34,"tag":84,"props":567,"children":568},{},[569],{"type":47,"value":570},"Did the tool try to add the package?",{"type":34,"tag":84,"props":572,"children":573},{},[574],{"type":47,"value":575},"Was the payload only staged?",{"type":34,"tag":84,"props":577,"children":578},{},[579],{"type":47,"value":580},"Was registration attempted for the current user?",{"type":34,"tag":84,"props":582,"children":583},{},[584],{"type":47,"value":585},"Was a remove, repair, move, or reset blocked by package state?",{"type":34,"tag":84,"props":587,"children":588},{},[589],{"type":47,"value":590},"Were dependencies missing?",{"type":34,"tag":84,"props":592,"children":593},{},[594],{"type":47,"value":595},"Was another operation already active for the same package?",{"type":34,"tag":35,"props":597,"children":598},{},[599],{"type":47,"value":600},"Useful log locations and commands include:",{"type":34,"tag":602,"props":603,"children":607},"pre",{"className":604,"code":606,"language":19,"meta":26},[605],"language-powershell","Get-AppxLog\nGet-AppxLog | Out-GridView\n",[608],{"type":34,"tag":66,"props":609,"children":610},{"__ignoreMap":26},[611],{"type":47,"value":606},{"type":34,"tag":35,"props":613,"children":614},{},[615],{"type":47,"value":616},"In Event Viewer, start with:",{"type":34,"tag":602,"props":618,"children":622},{"className":619,"code":621,"language":47,"meta":26},[620],"language-text","Applications and Services Logs > Microsoft > Windows > AppxDeployment-Server\n",[623],{"type":34,"tag":66,"props":624,"children":625},{"__ignoreMap":26},[626],{"type":47,"value":621},{"type":34,"tag":35,"props":628,"children":629},{},[630],{"type":47,"value":631},"For package open, signing, or format issues, Microsoft Learn also points to:",{"type":34,"tag":602,"props":633,"children":636},{"className":634,"code":635,"language":47,"meta":26},[620],"Applications and Services Logs > Microsoft > Windows > AppxPackagingOM\n",[637],{"type":34,"tag":66,"props":638,"children":639},{"__ignoreMap":26},[640],{"type":47,"value":635},{"type":34,"tag":451,"props":642,"children":644},{"id":643},"_4-build-a-practical-deployment-checklist",[645],{"type":47,"value":646},"4. Build a practical deployment checklist",{"type":34,"tag":35,"props":648,"children":649},{},[650],{"type":47,"value":651},"For MSIX deployment planning, I would keep the checklist simple:",{"type":34,"tag":80,"props":653,"children":654},{},[655,660,665,670,675,680,685,690],{"type":34,"tag":84,"props":656,"children":657},{},[658],{"type":47,"value":659},"Confirm the package family name and version.",{"type":34,"tag":84,"props":661,"children":662},{},[663],{"type":47,"value":664},"Confirm the package is signed and trusted on target devices.",{"type":34,"tag":84,"props":666,"children":667},{},[668],{"type":47,"value":669},"Confirm framework dependencies are available.",{"type":34,"tag":84,"props":671,"children":672},{},[673],{"type":47,"value":674},"Decide whether the scenario needs staging, registration, or both.",{"type":34,"tag":84,"props":676,"children":677},{},[678],{"type":47,"value":679},"Avoid overlapping operations against the same package identity.",{"type":34,"tag":84,"props":681,"children":682},{},[683],{"type":47,"value":684},"Test install, update, repair, uninstall, and re-registration paths.",{"type":34,"tag":84,"props":686,"children":687},{},[688],{"type":47,"value":689},"Read deployment logs using operation names, not just tool names.",{"type":34,"tag":84,"props":691,"children":692},{},[693],{"type":47,"value":694},"Validate the same management tool and context used in production.",{"type":34,"tag":35,"props":696,"children":697},{},[698],{"type":47,"value":699},"This is where Microsoft's queue model is useful. It gives you a better mental model for why something can be accepted, queued, throttled, blocked, or delayed without treating every wait as a failure.",{"type":34,"tag":110,"props":701,"children":703},{"id":702},"bottom-line",[704],{"type":47,"value":705},"Bottom line",{"type":34,"tag":35,"props":707,"children":708},{},[709],{"type":47,"value":710},"MSIX deployment is not just a command being executed. It is a request-driven system.",{"type":34,"tag":35,"props":712,"children":713},{},[714],{"type":47,"value":715},"Windows receives a request, maps it to a deployment operation, places it into a priority queue, and processes it according to package state and concurrency rules. That architecture is deliberate. It lets Windows protect consistency while still allowing parallel work where it is safe.",{"type":34,"tag":35,"props":717,"children":718},{},[719],{"type":47,"value":720},"For anyone packaging, deploying, or supporting MSIX applications, the practical lesson is simple: look past the tool that launched the action and ask what operation Windows is actually processing.",{"type":34,"tag":35,"props":722,"children":723},{},[724],{"type":47,"value":725},"Is it adding, staging, registering, repairing, moving, provisioning, resetting, or removing a package? Is it waiting for package state, staging capacity, dependency resolution, or another operation in the queue?",{"type":34,"tag":35,"props":727,"children":728},{},[729],{"type":47,"value":730},"Answer those questions and MSIX deployment behaviour becomes much easier to explain.",{"type":34,"tag":110,"props":732,"children":734},{"id":733},"references",[735],{"type":47,"value":736},"References",{"type":34,"tag":80,"props":738,"children":739},{},[740,749,759,769,779,789,798,808,818],{"type":34,"tag":84,"props":741,"children":742},{},[743],{"type":34,"tag":50,"props":744,"children":746},{"href":52,"rel":745},[54],[747],{"type":47,"value":748},"Deployment Operations, Requests and Queue - Inside MSIX",{"type":34,"tag":84,"props":750,"children":751},{},[752],{"type":34,"tag":50,"props":753,"children":756},{"href":754,"rel":755},"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fmsix\u002Foverview",[54],[757],{"type":47,"value":758},"What is MSIX?",{"type":34,"tag":84,"props":760,"children":761},{},[762],{"type":34,"tag":50,"props":763,"children":766},{"href":764,"rel":765},"https:\u002F\u002Flearn.microsoft.com\u002Fuwp\u002Fapi\u002Fwindows.management.deployment.packagemanager.stagepackageasync",[54],[767],{"type":47,"value":768},"PackageManager.StagePackageAsync method",{"type":34,"tag":84,"props":770,"children":771},{},[772],{"type":34,"tag":50,"props":773,"children":776},{"href":774,"rel":775},"https:\u002F\u002Flearn.microsoft.com\u002Fuwp\u002Fapi\u002Fwindows.management.deployment.packagemanager.registerpackageasync",[54],[777],{"type":47,"value":778},"PackageManager.RegisterPackageAsync method",{"type":34,"tag":84,"props":780,"children":781},{},[782],{"type":34,"tag":50,"props":783,"children":786},{"href":784,"rel":785},"https:\u002F\u002Flearn.microsoft.com\u002Fuwp\u002Fapi\u002Fwindows.management.deployment.packagemanager.movepackagetovolumeasync",[54],[787],{"type":47,"value":788},"PackageManager.MovePackageToVolumeAsync method",{"type":34,"tag":84,"props":790,"children":791},{},[792],{"type":34,"tag":50,"props":793,"children":796},{"href":794,"rel":795},"https:\u002F\u002Flearn.microsoft.com\u002Fpowershell\u002Fmodule\u002Fappx\u002Fadd-appxpackage",[54],[797],{"type":47,"value":426},{"type":34,"tag":84,"props":799,"children":800},{},[801],{"type":34,"tag":50,"props":802,"children":805},{"href":803,"rel":804},"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fmsix\u002Fdesktop\u002Fmanaging-your-msix-deployment-enterprise",[54],[806],{"type":47,"value":807},"MSIX App Distribution",{"type":34,"tag":84,"props":809,"children":810},{},[811],{"type":34,"tag":50,"props":812,"children":815},{"href":813,"rel":814},"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fmsix\u002Fdesktop\u002Fmanaging-your-msix-deployment-troubleshooting",[54],[816],{"type":47,"value":817},"MSIX deployment troubleshooting",{"type":34,"tag":84,"props":819,"children":820},{},[821],{"type":34,"tag":50,"props":822,"children":825},{"href":823,"rel":824},"https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fwin32\u002Fappxpkg\u002Ftroubleshooting",[54],[826],{"type":47,"value":827},"Troubleshooting packaging, deployment, and query of Windows apps",{"title":26,"searchDepth":829,"depth":829,"links":830},2,[831,832,833,834,835,842,843],{"id":112,"depth":829,"text":115},{"id":244,"depth":829,"text":247},{"id":270,"depth":829,"text":273},{"id":340,"depth":829,"text":343},{"id":446,"depth":829,"text":449,"children":836},[837,839,840,841],{"id":453,"depth":838,"text":456},3,{"id":474,"depth":838,"text":477},{"id":533,"depth":838,"text":536},{"id":643,"depth":838,"text":646},{"id":702,"depth":829,"text":705},{"id":733,"depth":829,"text":736},"markdown","content:blog:understanding-msix-deployment-operations-requests-queues.md","content","blog\u002Funderstanding-msix-deployment-operations-requests-queues.md","blog\u002Funderstanding-msix-deployment-operations-requests-queues","md",[851,854],{"_path":852,"title":853},"\u002Fblog\u002Funderstanding-package-identity-packaged-or-unpackaged-process","Understanding Package Identity: Is Your Process Packaged or Unpackaged?",null,{"_path":23,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":4,"description":5,"date":6,"updated":6,"categories":856,"tags":857,"image":21,"tldr":29,"author":26,"body":858,"_type":844,"_id":845,"_source":846,"_file":847,"_stem":848,"_extension":849},[8,9,10,11],[10,13,14,15,16,17,18,19,20],{"type":31,"children":859,"toc":1479},[860,866,876,886,890,909,913,917,921,925,972,976,1008,1012,1015,1019,1023,1027,1031,1035,1039,1043,1047,1051,1055,1078,1087,1091,1095,1099,1114,1123,1127,1146,1149,1153,1175,1179,1183,1187,1191,1195,1199,1203,1207,1211,1238,1242,1246,1262,1266,1293,1297,1305,1309,1317,1321,1329,1333,1337,1372,1376,1380,1384,1388,1392,1396,1400,1404],{"type":34,"tag":35,"props":861,"children":862},{},[863],{"type":34,"tag":39,"props":864,"children":865},{"alt":41,"src":21},[],{"type":34,"tag":35,"props":867,"children":868},{},[869,870,875],{"type":47,"value":48},{"type":34,"tag":50,"props":871,"children":873},{"href":52,"rel":872},[54],[874],{"type":47,"value":57},{"type":47,"value":59},{"type":34,"tag":35,"props":877,"children":878},{},[879,880,885],{"type":47,"value":64},{"type":34,"tag":66,"props":881,"children":883},{"className":882},[],[884],{"type":47,"value":71},{"type":47,"value":73},{"type":34,"tag":35,"props":887,"children":888},{},[889],{"type":47,"value":78},{"type":34,"tag":80,"props":891,"children":892},{},[893,897,901,905],{"type":34,"tag":84,"props":894,"children":895},{},[896],{"type":47,"value":88},{"type":34,"tag":84,"props":898,"children":899},{},[900],{"type":47,"value":93},{"type":34,"tag":84,"props":902,"children":903},{},[904],{"type":47,"value":98},{"type":34,"tag":84,"props":906,"children":907},{},[908],{"type":47,"value":103},{"type":34,"tag":35,"props":910,"children":911},{},[912],{"type":47,"value":108},{"type":34,"tag":110,"props":914,"children":915},{"id":112},[916],{"type":47,"value":115},{"type":34,"tag":35,"props":918,"children":919},{},[920],{"type":47,"value":120},{"type":34,"tag":35,"props":922,"children":923},{},[924],{"type":47,"value":125},{"type":34,"tag":80,"props":926,"children":927},{},[928,932,936,940,944,948,952,956,960,964,968],{"type":34,"tag":84,"props":929,"children":930},{},[931],{"type":47,"value":133},{"type":34,"tag":84,"props":933,"children":934},{},[935],{"type":47,"value":138},{"type":34,"tag":84,"props":937,"children":938},{},[939],{"type":47,"value":143},{"type":34,"tag":84,"props":941,"children":942},{},[943],{"type":47,"value":148},{"type":34,"tag":84,"props":945,"children":946},{},[947],{"type":47,"value":153},{"type":34,"tag":84,"props":949,"children":950},{},[951],{"type":47,"value":158},{"type":34,"tag":84,"props":953,"children":954},{},[955],{"type":47,"value":163},{"type":34,"tag":84,"props":957,"children":958},{},[959],{"type":47,"value":168},{"type":34,"tag":84,"props":961,"children":962},{},[963],{"type":47,"value":173},{"type":34,"tag":84,"props":965,"children":966},{},[967],{"type":47,"value":178},{"type":34,"tag":84,"props":969,"children":970},{},[971],{"type":47,"value":183},{"type":34,"tag":35,"props":973,"children":974},{},[975],{"type":47,"value":188},{"type":34,"tag":35,"props":977,"children":978},{},[979,980,985,986,990,991,996,997,1002,1003,1007],{"type":47,"value":193},{"type":34,"tag":66,"props":981,"children":983},{"className":982},[],[984],{"type":47,"value":199},{"type":47,"value":201},{"type":34,"tag":203,"props":987,"children":988},{},[989],{"type":47,"value":163},{"type":47,"value":208},{"type":34,"tag":66,"props":992,"children":994},{"className":993},[],[995],{"type":47,"value":214},{"type":47,"value":216},{"type":34,"tag":66,"props":998,"children":1000},{"className":999},[],[1001],{"type":47,"value":222},{"type":47,"value":224},{"type":34,"tag":203,"props":1004,"children":1005},{},[1006],{"type":47,"value":138},{"type":47,"value":230},{"type":34,"tag":35,"props":1009,"children":1010},{},[1011],{"type":47,"value":235},{"type":34,"tag":39,"props":1013,"children":1014},{"src":238,"alt":239,"width":240},[],{"type":34,"tag":110,"props":1016,"children":1017},{"id":244},[1018],{"type":47,"value":247},{"type":34,"tag":35,"props":1020,"children":1021},{},[1022],{"type":47,"value":252},{"type":34,"tag":35,"props":1024,"children":1025},{},[1026],{"type":47,"value":257},{"type":34,"tag":35,"props":1028,"children":1029},{},[1030],{"type":47,"value":262},{"type":34,"tag":35,"props":1032,"children":1033},{},[1034],{"type":47,"value":267},{"type":34,"tag":110,"props":1036,"children":1037},{"id":270},[1038],{"type":47,"value":273},{"type":34,"tag":35,"props":1040,"children":1041},{},[1042],{"type":47,"value":278},{"type":34,"tag":35,"props":1044,"children":1045},{},[1046],{"type":47,"value":283},{"type":34,"tag":35,"props":1048,"children":1049},{},[1050],{"type":47,"value":288},{"type":34,"tag":35,"props":1052,"children":1053},{},[1054],{"type":47,"value":293},{"type":34,"tag":80,"props":1056,"children":1057},{},[1058,1062,1066,1070,1074],{"type":34,"tag":84,"props":1059,"children":1060},{},[1061],{"type":47,"value":301},{"type":34,"tag":84,"props":1063,"children":1064},{},[1065],{"type":47,"value":306},{"type":34,"tag":84,"props":1067,"children":1068},{},[1069],{"type":47,"value":311},{"type":34,"tag":84,"props":1071,"children":1072},{},[1073],{"type":47,"value":316},{"type":34,"tag":84,"props":1075,"children":1076},{},[1077],{"type":47,"value":321},{"type":34,"tag":35,"props":1079,"children":1080},{},[1081,1082,1086],{"type":47,"value":326},{"type":34,"tag":203,"props":1083,"children":1084},{},[1085],{"type":47,"value":133},{"type":47,"value":332},{"type":34,"tag":35,"props":1088,"children":1089},{},[1090],{"type":47,"value":337},{"type":34,"tag":110,"props":1092,"children":1093},{"id":340},[1094],{"type":47,"value":343},{"type":34,"tag":35,"props":1096,"children":1097},{},[1098],{"type":47,"value":348},{"type":34,"tag":35,"props":1100,"children":1101},{},[1102,1107,1108,1113],{"type":34,"tag":66,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":47,"value":214},{"type":47,"value":358},{"type":34,"tag":66,"props":1109,"children":1111},{"className":1110},[],[1112],{"type":47,"value":364},{"type":47,"value":366},{"type":34,"tag":35,"props":1115,"children":1116},{},[1117,1122],{"type":34,"tag":66,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":47,"value":375},{"type":47,"value":377},{"type":34,"tag":35,"props":1124,"children":1125},{},[1126],{"type":47,"value":382},{"type":34,"tag":80,"props":1128,"children":1129},{},[1130,1138],{"type":34,"tag":84,"props":1131,"children":1132},{},[1133,1137],{"type":34,"tag":203,"props":1134,"children":1135},{},[1136],{"type":47,"value":393},{"type":47,"value":395},{"type":34,"tag":84,"props":1139,"children":1140},{},[1141,1145],{"type":34,"tag":203,"props":1142,"children":1143},{},[1144],{"type":47,"value":403},{"type":47,"value":405},{"type":34,"tag":39,"props":1147,"children":1148},{"src":408,"alt":409,"width":240},[],{"type":34,"tag":35,"props":1150,"children":1151},{},[1152],{"type":47,"value":415},{"type":34,"tag":35,"props":1154,"children":1155},{},[1156,1157,1162,1163,1168,1169,1174],{"type":47,"value":420},{"type":34,"tag":66,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":47,"value":426},{"type":47,"value":428},{"type":34,"tag":66,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":47,"value":434},{"type":47,"value":216},{"type":34,"tag":66,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":47,"value":441},{"type":47,"value":443},{"type":34,"tag":110,"props":1176,"children":1177},{"id":446},[1178],{"type":47,"value":449},{"type":34,"tag":451,"props":1180,"children":1181},{"id":453},[1182],{"type":47,"value":456},{"type":34,"tag":35,"props":1184,"children":1185},{},[1186],{"type":47,"value":461},{"type":34,"tag":35,"props":1188,"children":1189},{},[1190],{"type":47,"value":466},{"type":34,"tag":35,"props":1192,"children":1193},{},[1194],{"type":47,"value":471},{"type":34,"tag":451,"props":1196,"children":1197},{"id":474},[1198],{"type":47,"value":477},{"type":34,"tag":35,"props":1200,"children":1201},{},[1202],{"type":47,"value":482},{"type":34,"tag":35,"props":1204,"children":1205},{},[1206],{"type":47,"value":487},{"type":34,"tag":35,"props":1208,"children":1209},{},[1210],{"type":47,"value":492},{"type":34,"tag":80,"props":1212,"children":1213},{},[1214,1218,1222,1226,1230,1234],{"type":34,"tag":84,"props":1215,"children":1216},{},[1217],{"type":47,"value":500},{"type":34,"tag":84,"props":1219,"children":1220},{},[1221],{"type":47,"value":505},{"type":34,"tag":84,"props":1223,"children":1224},{},[1225],{"type":47,"value":510},{"type":34,"tag":84,"props":1227,"children":1228},{},[1229],{"type":47,"value":515},{"type":34,"tag":84,"props":1231,"children":1232},{},[1233],{"type":47,"value":520},{"type":34,"tag":84,"props":1235,"children":1236},{},[1237],{"type":47,"value":525},{"type":34,"tag":35,"props":1239,"children":1240},{},[1241],{"type":47,"value":530},{"type":34,"tag":451,"props":1243,"children":1244},{"id":533},[1245],{"type":47,"value":536},{"type":34,"tag":35,"props":1247,"children":1248},{},[1249,1250,1255,1256,1261],{"type":47,"value":541},{"type":34,"tag":66,"props":1251,"children":1253},{"className":1252},[],[1254],{"type":47,"value":547},{"type":47,"value":549},{"type":34,"tag":66,"props":1257,"children":1259},{"className":1258},[],[1260],{"type":47,"value":555},{"type":47,"value":557},{"type":34,"tag":35,"props":1263,"children":1264},{},[1265],{"type":47,"value":562},{"type":34,"tag":80,"props":1267,"children":1268},{},[1269,1273,1277,1281,1285,1289],{"type":34,"tag":84,"props":1270,"children":1271},{},[1272],{"type":47,"value":570},{"type":34,"tag":84,"props":1274,"children":1275},{},[1276],{"type":47,"value":575},{"type":34,"tag":84,"props":1278,"children":1279},{},[1280],{"type":47,"value":580},{"type":34,"tag":84,"props":1282,"children":1283},{},[1284],{"type":47,"value":585},{"type":34,"tag":84,"props":1286,"children":1287},{},[1288],{"type":47,"value":590},{"type":34,"tag":84,"props":1290,"children":1291},{},[1292],{"type":47,"value":595},{"type":34,"tag":35,"props":1294,"children":1295},{},[1296],{"type":47,"value":600},{"type":34,"tag":602,"props":1298,"children":1300},{"className":1299,"code":606,"language":19,"meta":26},[605],[1301],{"type":34,"tag":66,"props":1302,"children":1303},{"__ignoreMap":26},[1304],{"type":47,"value":606},{"type":34,"tag":35,"props":1306,"children":1307},{},[1308],{"type":47,"value":616},{"type":34,"tag":602,"props":1310,"children":1312},{"className":1311,"code":621,"language":47,"meta":26},[620],[1313],{"type":34,"tag":66,"props":1314,"children":1315},{"__ignoreMap":26},[1316],{"type":47,"value":621},{"type":34,"tag":35,"props":1318,"children":1319},{},[1320],{"type":47,"value":631},{"type":34,"tag":602,"props":1322,"children":1324},{"className":1323,"code":635,"language":47,"meta":26},[620],[1325],{"type":34,"tag":66,"props":1326,"children":1327},{"__ignoreMap":26},[1328],{"type":47,"value":635},{"type":34,"tag":451,"props":1330,"children":1331},{"id":643},[1332],{"type":47,"value":646},{"type":34,"tag":35,"props":1334,"children":1335},{},[1336],{"type":47,"value":651},{"type":34,"tag":80,"props":1338,"children":1339},{},[1340,1344,1348,1352,1356,1360,1364,1368],{"type":34,"tag":84,"props":1341,"children":1342},{},[1343],{"type":47,"value":659},{"type":34,"tag":84,"props":1345,"children":1346},{},[1347],{"type":47,"value":664},{"type":34,"tag":84,"props":1349,"children":1350},{},[1351],{"type":47,"value":669},{"type":34,"tag":84,"props":1353,"children":1354},{},[1355],{"type":47,"value":674},{"type":34,"tag":84,"props":1357,"children":1358},{},[1359],{"type":47,"value":679},{"type":34,"tag":84,"props":1361,"children":1362},{},[1363],{"type":47,"value":684},{"type":34,"tag":84,"props":1365,"children":1366},{},[1367],{"type":47,"value":689},{"type":34,"tag":84,"props":1369,"children":1370},{},[1371],{"type":47,"value":694},{"type":34,"tag":35,"props":1373,"children":1374},{},[1375],{"type":47,"value":699},{"type":34,"tag":110,"props":1377,"children":1378},{"id":702},[1379],{"type":47,"value":705},{"type":34,"tag":35,"props":1381,"children":1382},{},[1383],{"type":47,"value":710},{"type":34,"tag":35,"props":1385,"children":1386},{},[1387],{"type":47,"value":715},{"type":34,"tag":35,"props":1389,"children":1390},{},[1391],{"type":47,"value":720},{"type":34,"tag":35,"props":1393,"children":1394},{},[1395],{"type":47,"value":725},{"type":34,"tag":35,"props":1397,"children":1398},{},[1399],{"type":47,"value":730},{"type":34,"tag":110,"props":1401,"children":1402},{"id":733},[1403],{"type":47,"value":736},{"type":34,"tag":80,"props":1405,"children":1406},{},[1407,1415,1423,1431,1439,1447,1455,1463,1471],{"type":34,"tag":84,"props":1408,"children":1409},{},[1410],{"type":34,"tag":50,"props":1411,"children":1413},{"href":52,"rel":1412},[54],[1414],{"type":47,"value":748},{"type":34,"tag":84,"props":1416,"children":1417},{},[1418],{"type":34,"tag":50,"props":1419,"children":1421},{"href":754,"rel":1420},[54],[1422],{"type":47,"value":758},{"type":34,"tag":84,"props":1424,"children":1425},{},[1426],{"type":34,"tag":50,"props":1427,"children":1429},{"href":764,"rel":1428},[54],[1430],{"type":47,"value":768},{"type":34,"tag":84,"props":1432,"children":1433},{},[1434],{"type":34,"tag":50,"props":1435,"children":1437},{"href":774,"rel":1436},[54],[1438],{"type":47,"value":778},{"type":34,"tag":84,"props":1440,"children":1441},{},[1442],{"type":34,"tag":50,"props":1443,"children":1445},{"href":784,"rel":1444},[54],[1446],{"type":47,"value":788},{"type":34,"tag":84,"props":1448,"children":1449},{},[1450],{"type":34,"tag":50,"props":1451,"children":1453},{"href":794,"rel":1452},[54],[1454],{"type":47,"value":426},{"type":34,"tag":84,"props":1456,"children":1457},{},[1458],{"type":34,"tag":50,"props":1459,"children":1461},{"href":803,"rel":1460},[54],[1462],{"type":47,"value":807},{"type":34,"tag":84,"props":1464,"children":1465},{},[1466],{"type":34,"tag":50,"props":1467,"children":1469},{"href":813,"rel":1468},[54],[1470],{"type":47,"value":817},{"type":34,"tag":84,"props":1472,"children":1473},{},[1474],{"type":34,"tag":50,"props":1475,"children":1477},{"href":823,"rel":1476},[54],[1478],{"type":47,"value":827},{"title":26,"searchDepth":829,"depth":829,"links":1480},[1481,1482,1483,1484,1485,1491,1492],{"id":112,"depth":829,"text":115},{"id":244,"depth":829,"text":247},{"id":270,"depth":829,"text":273},{"id":340,"depth":829,"text":343},{"id":446,"depth":829,"text":449,"children":1486},[1487,1488,1489,1490],{"id":453,"depth":838,"text":456},{"id":474,"depth":838,"text":477},{"id":533,"depth":838,"text":536},{"id":643,"depth":838,"text":646},{"id":702,"depth":829,"text":705},{"id":733,"depth":829,"text":736},[1494,2132,2593,2968],{"_path":23,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":4,"description":5,"date":6,"updated":6,"categories":1495,"tags":1496,"image":21,"tldr":29,"author":26,"body":1497,"_type":844,"_id":845,"_source":846,"_file":847,"_stem":848,"_extension":849},[8,9,10,11],[10,13,14,15,16,17,18,19,20],{"type":31,"children":1498,"toc":2118},[1499,1505,1515,1525,1529,1548,1552,1556,1560,1564,1611,1615,1647,1651,1654,1658,1662,1666,1670,1674,1678,1682,1686,1690,1694,1717,1726,1730,1734,1738,1753,1762,1766,1785,1788,1792,1814,1818,1822,1826,1830,1834,1838,1842,1846,1850,1877,1881,1885,1901,1905,1932,1936,1944,1948,1956,1960,1968,1972,1976,2011,2015,2019,2023,2027,2031,2035,2039,2043],{"type":34,"tag":35,"props":1500,"children":1501},{},[1502],{"type":34,"tag":39,"props":1503,"children":1504},{"alt":41,"src":21},[],{"type":34,"tag":35,"props":1506,"children":1507},{},[1508,1509,1514],{"type":47,"value":48},{"type":34,"tag":50,"props":1510,"children":1512},{"href":52,"rel":1511},[54],[1513],{"type":47,"value":57},{"type":47,"value":59},{"type":34,"tag":35,"props":1516,"children":1517},{},[1518,1519,1524],{"type":47,"value":64},{"type":34,"tag":66,"props":1520,"children":1522},{"className":1521},[],[1523],{"type":47,"value":71},{"type":47,"value":73},{"type":34,"tag":35,"props":1526,"children":1527},{},[1528],{"type":47,"value":78},{"type":34,"tag":80,"props":1530,"children":1531},{},[1532,1536,1540,1544],{"type":34,"tag":84,"props":1533,"children":1534},{},[1535],{"type":47,"value":88},{"type":34,"tag":84,"props":1537,"children":1538},{},[1539],{"type":47,"value":93},{"type":34,"tag":84,"props":1541,"children":1542},{},[1543],{"type":47,"value":98},{"type":34,"tag":84,"props":1545,"children":1546},{},[1547],{"type":47,"value":103},{"type":34,"tag":35,"props":1549,"children":1550},{},[1551],{"type":47,"value":108},{"type":34,"tag":110,"props":1553,"children":1554},{"id":112},[1555],{"type":47,"value":115},{"type":34,"tag":35,"props":1557,"children":1558},{},[1559],{"type":47,"value":120},{"type":34,"tag":35,"props":1561,"children":1562},{},[1563],{"type":47,"value":125},{"type":34,"tag":80,"props":1565,"children":1566},{},[1567,1571,1575,1579,1583,1587,1591,1595,1599,1603,1607],{"type":34,"tag":84,"props":1568,"children":1569},{},[1570],{"type":47,"value":133},{"type":34,"tag":84,"props":1572,"children":1573},{},[1574],{"type":47,"value":138},{"type":34,"tag":84,"props":1576,"children":1577},{},[1578],{"type":47,"value":143},{"type":34,"tag":84,"props":1580,"children":1581},{},[1582],{"type":47,"value":148},{"type":34,"tag":84,"props":1584,"children":1585},{},[1586],{"type":47,"value":153},{"type":34,"tag":84,"props":1588,"children":1589},{},[1590],{"type":47,"value":158},{"type":34,"tag":84,"props":1592,"children":1593},{},[1594],{"type":47,"value":163},{"type":34,"tag":84,"props":1596,"children":1597},{},[1598],{"type":47,"value":168},{"type":34,"tag":84,"props":1600,"children":1601},{},[1602],{"type":47,"value":173},{"type":34,"tag":84,"props":1604,"children":1605},{},[1606],{"type":47,"value":178},{"type":34,"tag":84,"props":1608,"children":1609},{},[1610],{"type":47,"value":183},{"type":34,"tag":35,"props":1612,"children":1613},{},[1614],{"type":47,"value":188},{"type":34,"tag":35,"props":1616,"children":1617},{},[1618,1619,1624,1625,1629,1630,1635,1636,1641,1642,1646],{"type":47,"value":193},{"type":34,"tag":66,"props":1620,"children":1622},{"className":1621},[],[1623],{"type":47,"value":199},{"type":47,"value":201},{"type":34,"tag":203,"props":1626,"children":1627},{},[1628],{"type":47,"value":163},{"type":47,"value":208},{"type":34,"tag":66,"props":1631,"children":1633},{"className":1632},[],[1634],{"type":47,"value":214},{"type":47,"value":216},{"type":34,"tag":66,"props":1637,"children":1639},{"className":1638},[],[1640],{"type":47,"value":222},{"type":47,"value":224},{"type":34,"tag":203,"props":1643,"children":1644},{},[1645],{"type":47,"value":138},{"type":47,"value":230},{"type":34,"tag":35,"props":1648,"children":1649},{},[1650],{"type":47,"value":235},{"type":34,"tag":39,"props":1652,"children":1653},{"src":238,"alt":239,"width":240},[],{"type":34,"tag":110,"props":1655,"children":1656},{"id":244},[1657],{"type":47,"value":247},{"type":34,"tag":35,"props":1659,"children":1660},{},[1661],{"type":47,"value":252},{"type":34,"tag":35,"props":1663,"children":1664},{},[1665],{"type":47,"value":257},{"type":34,"tag":35,"props":1667,"children":1668},{},[1669],{"type":47,"value":262},{"type":34,"tag":35,"props":1671,"children":1672},{},[1673],{"type":47,"value":267},{"type":34,"tag":110,"props":1675,"children":1676},{"id":270},[1677],{"type":47,"value":273},{"type":34,"tag":35,"props":1679,"children":1680},{},[1681],{"type":47,"value":278},{"type":34,"tag":35,"props":1683,"children":1684},{},[1685],{"type":47,"value":283},{"type":34,"tag":35,"props":1687,"children":1688},{},[1689],{"type":47,"value":288},{"type":34,"tag":35,"props":1691,"children":1692},{},[1693],{"type":47,"value":293},{"type":34,"tag":80,"props":1695,"children":1696},{},[1697,1701,1705,1709,1713],{"type":34,"tag":84,"props":1698,"children":1699},{},[1700],{"type":47,"value":301},{"type":34,"tag":84,"props":1702,"children":1703},{},[1704],{"type":47,"value":306},{"type":34,"tag":84,"props":1706,"children":1707},{},[1708],{"type":47,"value":311},{"type":34,"tag":84,"props":1710,"children":1711},{},[1712],{"type":47,"value":316},{"type":34,"tag":84,"props":1714,"children":1715},{},[1716],{"type":47,"value":321},{"type":34,"tag":35,"props":1718,"children":1719},{},[1720,1721,1725],{"type":47,"value":326},{"type":34,"tag":203,"props":1722,"children":1723},{},[1724],{"type":47,"value":133},{"type":47,"value":332},{"type":34,"tag":35,"props":1727,"children":1728},{},[1729],{"type":47,"value":337},{"type":34,"tag":110,"props":1731,"children":1732},{"id":340},[1733],{"type":47,"value":343},{"type":34,"tag":35,"props":1735,"children":1736},{},[1737],{"type":47,"value":348},{"type":34,"tag":35,"props":1739,"children":1740},{},[1741,1746,1747,1752],{"type":34,"tag":66,"props":1742,"children":1744},{"className":1743},[],[1745],{"type":47,"value":214},{"type":47,"value":358},{"type":34,"tag":66,"props":1748,"children":1750},{"className":1749},[],[1751],{"type":47,"value":364},{"type":47,"value":366},{"type":34,"tag":35,"props":1754,"children":1755},{},[1756,1761],{"type":34,"tag":66,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":47,"value":375},{"type":47,"value":377},{"type":34,"tag":35,"props":1763,"children":1764},{},[1765],{"type":47,"value":382},{"type":34,"tag":80,"props":1767,"children":1768},{},[1769,1777],{"type":34,"tag":84,"props":1770,"children":1771},{},[1772,1776],{"type":34,"tag":203,"props":1773,"children":1774},{},[1775],{"type":47,"value":393},{"type":47,"value":395},{"type":34,"tag":84,"props":1778,"children":1779},{},[1780,1784],{"type":34,"tag":203,"props":1781,"children":1782},{},[1783],{"type":47,"value":403},{"type":47,"value":405},{"type":34,"tag":39,"props":1786,"children":1787},{"src":408,"alt":409,"width":240},[],{"type":34,"tag":35,"props":1789,"children":1790},{},[1791],{"type":47,"value":415},{"type":34,"tag":35,"props":1793,"children":1794},{},[1795,1796,1801,1802,1807,1808,1813],{"type":47,"value":420},{"type":34,"tag":66,"props":1797,"children":1799},{"className":1798},[],[1800],{"type":47,"value":426},{"type":47,"value":428},{"type":34,"tag":66,"props":1803,"children":1805},{"className":1804},[],[1806],{"type":47,"value":434},{"type":47,"value":216},{"type":34,"tag":66,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":47,"value":441},{"type":47,"value":443},{"type":34,"tag":110,"props":1815,"children":1816},{"id":446},[1817],{"type":47,"value":449},{"type":34,"tag":451,"props":1819,"children":1820},{"id":453},[1821],{"type":47,"value":456},{"type":34,"tag":35,"props":1823,"children":1824},{},[1825],{"type":47,"value":461},{"type":34,"tag":35,"props":1827,"children":1828},{},[1829],{"type":47,"value":466},{"type":34,"tag":35,"props":1831,"children":1832},{},[1833],{"type":47,"value":471},{"type":34,"tag":451,"props":1835,"children":1836},{"id":474},[1837],{"type":47,"value":477},{"type":34,"tag":35,"props":1839,"children":1840},{},[1841],{"type":47,"value":482},{"type":34,"tag":35,"props":1843,"children":1844},{},[1845],{"type":47,"value":487},{"type":34,"tag":35,"props":1847,"children":1848},{},[1849],{"type":47,"value":492},{"type":34,"tag":80,"props":1851,"children":1852},{},[1853,1857,1861,1865,1869,1873],{"type":34,"tag":84,"props":1854,"children":1855},{},[1856],{"type":47,"value":500},{"type":34,"tag":84,"props":1858,"children":1859},{},[1860],{"type":47,"value":505},{"type":34,"tag":84,"props":1862,"children":1863},{},[1864],{"type":47,"value":510},{"type":34,"tag":84,"props":1866,"children":1867},{},[1868],{"type":47,"value":515},{"type":34,"tag":84,"props":1870,"children":1871},{},[1872],{"type":47,"value":520},{"type":34,"tag":84,"props":1874,"children":1875},{},[1876],{"type":47,"value":525},{"type":34,"tag":35,"props":1878,"children":1879},{},[1880],{"type":47,"value":530},{"type":34,"tag":451,"props":1882,"children":1883},{"id":533},[1884],{"type":47,"value":536},{"type":34,"tag":35,"props":1886,"children":1887},{},[1888,1889,1894,1895,1900],{"type":47,"value":541},{"type":34,"tag":66,"props":1890,"children":1892},{"className":1891},[],[1893],{"type":47,"value":547},{"type":47,"value":549},{"type":34,"tag":66,"props":1896,"children":1898},{"className":1897},[],[1899],{"type":47,"value":555},{"type":47,"value":557},{"type":34,"tag":35,"props":1902,"children":1903},{},[1904],{"type":47,"value":562},{"type":34,"tag":80,"props":1906,"children":1907},{},[1908,1912,1916,1920,1924,1928],{"type":34,"tag":84,"props":1909,"children":1910},{},[1911],{"type":47,"value":570},{"type":34,"tag":84,"props":1913,"children":1914},{},[1915],{"type":47,"value":575},{"type":34,"tag":84,"props":1917,"children":1918},{},[1919],{"type":47,"value":580},{"type":34,"tag":84,"props":1921,"children":1922},{},[1923],{"type":47,"value":585},{"type":34,"tag":84,"props":1925,"children":1926},{},[1927],{"type":47,"value":590},{"type":34,"tag":84,"props":1929,"children":1930},{},[1931],{"type":47,"value":595},{"type":34,"tag":35,"props":1933,"children":1934},{},[1935],{"type":47,"value":600},{"type":34,"tag":602,"props":1937,"children":1939},{"className":1938,"code":606,"language":19,"meta":26},[605],[1940],{"type":34,"tag":66,"props":1941,"children":1942},{"__ignoreMap":26},[1943],{"type":47,"value":606},{"type":34,"tag":35,"props":1945,"children":1946},{},[1947],{"type":47,"value":616},{"type":34,"tag":602,"props":1949,"children":1951},{"className":1950,"code":621,"language":47,"meta":26},[620],[1952],{"type":34,"tag":66,"props":1953,"children":1954},{"__ignoreMap":26},[1955],{"type":47,"value":621},{"type":34,"tag":35,"props":1957,"children":1958},{},[1959],{"type":47,"value":631},{"type":34,"tag":602,"props":1961,"children":1963},{"className":1962,"code":635,"language":47,"meta":26},[620],[1964],{"type":34,"tag":66,"props":1965,"children":1966},{"__ignoreMap":26},[1967],{"type":47,"value":635},{"type":34,"tag":451,"props":1969,"children":1970},{"id":643},[1971],{"type":47,"value":646},{"type":34,"tag":35,"props":1973,"children":1974},{},[1975],{"type":47,"value":651},{"type":34,"tag":80,"props":1977,"children":1978},{},[1979,1983,1987,1991,1995,1999,2003,2007],{"type":34,"tag":84,"props":1980,"children":1981},{},[1982],{"type":47,"value":659},{"type":34,"tag":84,"props":1984,"children":1985},{},[1986],{"type":47,"value":664},{"type":34,"tag":84,"props":1988,"children":1989},{},[1990],{"type":47,"value":669},{"type":34,"tag":84,"props":1992,"children":1993},{},[1994],{"type":47,"value":674},{"type":34,"tag":84,"props":1996,"children":1997},{},[1998],{"type":47,"value":679},{"type":34,"tag":84,"props":2000,"children":2001},{},[2002],{"type":47,"value":684},{"type":34,"tag":84,"props":2004,"children":2005},{},[2006],{"type":47,"value":689},{"type":34,"tag":84,"props":2008,"children":2009},{},[2010],{"type":47,"value":694},{"type":34,"tag":35,"props":2012,"children":2013},{},[2014],{"type":47,"value":699},{"type":34,"tag":110,"props":2016,"children":2017},{"id":702},[2018],{"type":47,"value":705},{"type":34,"tag":35,"props":2020,"children":2021},{},[2022],{"type":47,"value":710},{"type":34,"tag":35,"props":2024,"children":2025},{},[2026],{"type":47,"value":715},{"type":34,"tag":35,"props":2028,"children":2029},{},[2030],{"type":47,"value":720},{"type":34,"tag":35,"props":2032,"children":2033},{},[2034],{"type":47,"value":725},{"type":34,"tag":35,"props":2036,"children":2037},{},[2038],{"type":47,"value":730},{"type":34,"tag":110,"props":2040,"children":2041},{"id":733},[2042],{"type":47,"value":736},{"type":34,"tag":80,"props":2044,"children":2045},{},[2046,2054,2062,2070,2078,2086,2094,2102,2110],{"type":34,"tag":84,"props":2047,"children":2048},{},[2049],{"type":34,"tag":50,"props":2050,"children":2052},{"href":52,"rel":2051},[54],[2053],{"type":47,"value":748},{"type":34,"tag":84,"props":2055,"children":2056},{},[2057],{"type":34,"tag":50,"props":2058,"children":2060},{"href":754,"rel":2059},[54],[2061],{"type":47,"value":758},{"type":34,"tag":84,"props":2063,"children":2064},{},[2065],{"type":34,"tag":50,"props":2066,"children":2068},{"href":764,"rel":2067},[54],[2069],{"type":47,"value":768},{"type":34,"tag":84,"props":2071,"children":2072},{},[2073],{"type":34,"tag":50,"props":2074,"children":2076},{"href":774,"rel":2075},[54],[2077],{"type":47,"value":778},{"type":34,"tag":84,"props":2079,"children":2080},{},[2081],{"type":34,"tag":50,"props":2082,"children":2084},{"href":784,"rel":2083},[54],[2085],{"type":47,"value":788},{"type":34,"tag":84,"props":2087,"children":2088},{},[2089],{"type":34,"tag":50,"props":2090,"children":2092},{"href":794,"rel":2091},[54],[2093],{"type":47,"value":426},{"type":34,"tag":84,"props":2095,"children":2096},{},[2097],{"type":34,"tag":50,"props":2098,"children":2100},{"href":803,"rel":2099},[54],[2101],{"type":47,"value":807},{"type":34,"tag":84,"props":2103,"children":2104},{},[2105],{"type":34,"tag":50,"props":2106,"children":2108},{"href":813,"rel":2107},[54],[2109],{"type":47,"value":817},{"type":34,"tag":84,"props":2111,"children":2112},{},[2113],{"type":34,"tag":50,"props":2114,"children":2116},{"href":823,"rel":2115},[54],[2117],{"type":47,"value":827},{"title":26,"searchDepth":829,"depth":829,"links":2119},[2120,2121,2122,2123,2124,2130,2131],{"id":112,"depth":829,"text":115},{"id":244,"depth":829,"text":247},{"id":270,"depth":829,"text":273},{"id":340,"depth":829,"text":343},{"id":446,"depth":829,"text":449,"children":2125},[2126,2127,2128,2129],{"id":453,"depth":838,"text":456},{"id":474,"depth":838,"text":477},{"id":533,"depth":838,"text":536},{"id":643,"depth":838,"text":646},{"id":702,"depth":829,"text":705},{"id":733,"depth":829,"text":736},{"_path":2133,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":2134,"description":2135,"date":2136,"categories":2137,"tags":2140,"image":2148,"tldr":2149,"author":26,"body":2150,"_type":844,"_id":2590,"_source":846,"_file":2591,"_stem":2592,"_extension":849},"\u002Fblog\u002Fevolving-cloud-endpoints-windows-365-flex-and-avd-hybrid","Evolving Cloud Endpoints: Navigating the Transition to Windows 365 Flex and Hybrid Cloud VDI","Windows 365 Frontline becomes Flex, Business gets a 20 percent price cut, and AVD Hybrid extends the Azure control plane to on-premises session hosts. A look at the new shape of cloud endpoint strategy.","2026-05-13",[8,9,2138,2139],"avd","windows-365",[2139,2141,2142,2143,2144,2145,2146,2147],"windows-365-flex","windows-365-business","azure-virtual-desktop","avd-hybrid","azure-arc","hybrid-vdi","cloud-pc","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-flex-cloud-endpoints\u002Fhero.jpg","Architect's view of three Microsoft cloud-PC updates: Windows 365 Frontline rebrands to Flex with broader non-dedicated\u002Fshared use cases (Cloud Apps included), Windows 365 Business drops 20% to compete with hardware refresh budgets, and AVD Hybrid (public preview) projects the Azure control plane onto on-premises session hosts via Azure Arc-enabled servers, with the Windows App as the unified gateway. Practical impact: keep RDP traffic local for latency\u002Fsovereignty while managing via Azure\u002FIntune\u002FEntra ID.",{"type":31,"children":2151,"toc":2576},[2152,2158,2163,2168,2174,2179,2191,2203,2215,2221,2226,2231,2236,2242,2391,2397,2402,2408,2413,2431,2437,2442,2460,2466,2471,2489,2495,2500,2513,2520,2526,2531,2536,2541,2547,2552,2557,2571],{"type":34,"tag":35,"props":2153,"children":2154},{},[2155],{"type":34,"tag":39,"props":2156,"children":2157},{"alt":26,"src":2148},[],{"type":34,"tag":35,"props":2159,"children":2160},{},[2161],{"type":47,"value":2162},"The landscape of cloud-delivered Windows is shifting from a niche remote-work solution to a core architectural pillar for modern enterprise environments. As an architect, I have watched the evolution of Desktop as a Service (DaaS) move through various phases of maturity. We are now entering a phase where the focus is shifting toward granular flexibility and hybrid consistency. Recent updates to the Microsoft cloud PC portfolio, particularly the transition of Windows 365 Frontline to Windows 365 Flex and the introduction of Azure Virtual Desktop Hybrid, signal a significant change in how we design and deploy end-user computing (EUC) strategies.",{"type":34,"tag":35,"props":2164,"children":2165},{},[2166],{"type":47,"value":2167},"In this article I break down these changes, the shift in naming conventions, and the technical implications of the new hybrid capabilities for Azure Virtual Desktop.",{"type":34,"tag":110,"props":2169,"children":2171},{"id":2170},"what-the-core-updates-to-the-microsoft-cloud-pc-portfolio",[2172],{"type":47,"value":2173},"What: the core updates to the Microsoft cloud PC portfolio",{"type":34,"tag":35,"props":2175,"children":2176},{},[2177],{"type":47,"value":2178},"To understand the current state of the technology, look at three specific pillars of the recent announcement.",{"type":34,"tag":35,"props":2180,"children":2181},{},[2182,2184,2189],{"type":47,"value":2183},"First, ",{"type":34,"tag":203,"props":2185,"children":2186},{},[2187],{"type":47,"value":2188},"Windows 365 Frontline has been rebranded as Windows 365 Flex",{"type":47,"value":2190},". This is more than a marketing exercise. It represents an expansion of the service's intended use cases, moving beyond shift workers to include any employee who does not require a 1:1 dedicated device, such as contractors, seasonal staff, or developers needing temporary environments.",{"type":34,"tag":35,"props":2192,"children":2193},{},[2194,2196,2201],{"type":47,"value":2195},"Second, Microsoft has introduced a significant ",{"type":34,"tag":203,"props":2197,"children":2198},{},[2199],{"type":47,"value":2200},"20 percent price reduction for Windows 365 Business",{"type":47,"value":2202},". This is aimed at lowering the barrier to entry for organisations with up to 300 seats that require a simplified management plane without the overhead of complex licensing requirements.",{"type":34,"tag":35,"props":2204,"children":2205},{},[2206,2208,2213],{"type":47,"value":2207},"Third, and perhaps most significant for enterprise architects, is the ",{"type":34,"tag":203,"props":2209,"children":2210},{},[2211],{"type":47,"value":2212},"public preview of Azure Virtual Desktop (AVD) Hybrid",{"type":47,"value":2214},". This feature lets organisations run AVD session hosts on-premises using existing hardware and hypervisors, all while being managed through the Azure control plane via Azure Arc.",{"type":34,"tag":110,"props":2216,"children":2218},{"id":2217},"why-the-strategic-value-of-architectural-flexibility",[2219],{"type":47,"value":2220},"Why: the strategic value of architectural flexibility",{"type":34,"tag":35,"props":2222,"children":2223},{},[2224],{"type":47,"value":2225},"The primary challenge in EUC has always been balancing user experience with cost and compliance. For years, organisations have struggled with the \"all or nothing\" approach to cloud migration. Some workloads remained trapped on-premises due to latency requirements or data residency laws, while others moved to the cloud, creating fragmented management silos.",{"type":34,"tag":35,"props":2227,"children":2228},{},[2229],{"type":47,"value":2230},"The introduction of Windows 365 Flex addresses the economic friction of the dedicated-seat model. In many organisations, a significant portion of the workforce only requires a PC for a fraction of the day. Providing a full, dedicated Cloud PC to those users is often hard to justify on a per-seat basis. By allowing shared access and the ability to reset environments between uses, Flex provides a more efficient way to allocate compute resources.",{"type":34,"tag":35,"props":2232,"children":2233},{},[2234],{"type":47,"value":2235},"Azure Virtual Desktop Hybrid solves the \"last mile\" problem of cloud VDI. It lets us keep the centralised management benefits of the Azure portal while keeping the actual compute (the session hosts) close to the data or the user. That is critical for industries with strict regulatory requirements, or for those running legacy on-premises applications that are sensitive to network latency.",{"type":34,"tag":451,"props":2237,"children":2239},{"id":2238},"a-quick-comparison",[2240],{"type":47,"value":2241},"A quick comparison",{"type":34,"tag":2243,"props":2244,"children":2245},"table",{},[2246,2275],{"type":34,"tag":2247,"props":2248,"children":2249},"thead",{},[2250],{"type":34,"tag":2251,"props":2252,"children":2253},"tr",{},[2254,2260,2265,2270],{"type":34,"tag":2255,"props":2256,"children":2257},"th",{},[2258],{"type":47,"value":2259},"Capability",{"type":34,"tag":2255,"props":2261,"children":2262},{},[2263],{"type":47,"value":2264},"Windows 365 Flex",{"type":34,"tag":2255,"props":2266,"children":2267},{},[2268],{"type":47,"value":2269},"Windows 365 Enterprise",{"type":34,"tag":2255,"props":2271,"children":2272},{},[2273],{"type":47,"value":2274},"AVD Hybrid",{"type":34,"tag":2276,"props":2277,"children":2278},"tbody",{},[2279,2303,2325,2348,2369],{"type":34,"tag":2251,"props":2280,"children":2281},{},[2282,2288,2293,2298],{"type":34,"tag":2283,"props":2284,"children":2285},"td",{},[2286],{"type":47,"value":2287},"Tenancy model",{"type":34,"tag":2283,"props":2289,"children":2290},{},[2291],{"type":47,"value":2292},"Shared, non-dedicated Cloud PC",{"type":34,"tag":2283,"props":2294,"children":2295},{},[2296],{"type":47,"value":2297},"Dedicated 1:1 Cloud PC",{"type":34,"tag":2283,"props":2299,"children":2300},{},[2301],{"type":47,"value":2302},"Pooled or personal AVD on-premises",{"type":34,"tag":2251,"props":2304,"children":2305},{},[2306,2311,2316,2320],{"type":34,"tag":2283,"props":2307,"children":2308},{},[2309],{"type":47,"value":2310},"Compute location",{"type":34,"tag":2283,"props":2312,"children":2313},{},[2314],{"type":47,"value":2315},"Microsoft-hosted Azure",{"type":34,"tag":2283,"props":2317,"children":2318},{},[2319],{"type":47,"value":2315},{"type":34,"tag":2283,"props":2321,"children":2322},{},[2323],{"type":47,"value":2324},"Customer hardware via Azure Arc",{"type":34,"tag":2251,"props":2326,"children":2327},{},[2328,2333,2338,2343],{"type":34,"tag":2283,"props":2329,"children":2330},{},[2331],{"type":47,"value":2332},"Best fit",{"type":34,"tag":2283,"props":2334,"children":2335},{},[2336],{"type":47,"value":2337},"Contractors, shift, seasonal, dev sandboxes",{"type":34,"tag":2283,"props":2339,"children":2340},{},[2341],{"type":47,"value":2342},"Persistent knowledge workers",{"type":34,"tag":2283,"props":2344,"children":2345},{},[2346],{"type":47,"value":2347},"Latency-bound, sovereign or hybrid workloads",{"type":34,"tag":2251,"props":2349,"children":2350},{},[2351,2356,2361,2365],{"type":34,"tag":2283,"props":2352,"children":2353},{},[2354],{"type":47,"value":2355},"Control plane",{"type":34,"tag":2283,"props":2357,"children":2358},{},[2359],{"type":47,"value":2360},"Azure \u002F Intune",{"type":34,"tag":2283,"props":2362,"children":2363},{},[2364],{"type":47,"value":2360},{"type":34,"tag":2283,"props":2366,"children":2367},{},[2368],{"type":47,"value":2360},{"type":34,"tag":2251,"props":2370,"children":2371},{},[2372,2377,2382,2386],{"type":34,"tag":2283,"props":2373,"children":2374},{},[2375],{"type":47,"value":2376},"Identity",{"type":34,"tag":2283,"props":2378,"children":2379},{},[2380],{"type":47,"value":2381},"Entra ID",{"type":34,"tag":2283,"props":2383,"children":2384},{},[2385],{"type":47,"value":2381},{"type":34,"tag":2283,"props":2387,"children":2388},{},[2389],{"type":47,"value":2390},"Entra ID, hybrid join supported",{"type":34,"tag":110,"props":2392,"children":2394},{"id":2393},"how-implementing-the-new-cloud-pc-architecture",[2395],{"type":47,"value":2396},"How: implementing the new cloud PC architecture",{"type":34,"tag":35,"props":2398,"children":2399},{},[2400],{"type":47,"value":2401},"Implementing these updates requires a structured approach to identity, networking, and resource provisioning. Below are the architectural principles and steps for integrating these changes into your environment.",{"type":34,"tag":451,"props":2403,"children":2405},{"id":2404},"_1-evaluate-workload-placement-for-avd-hybrid",[2406],{"type":47,"value":2407},"1. Evaluate workload placement for AVD Hybrid",{"type":34,"tag":35,"props":2409,"children":2410},{},[2411],{"type":47,"value":2412},"For the Azure Virtual Desktop Hybrid preview, the first step is ensuring your on-premises environment is ready for Azure Arc. You do not need to replace your existing hypervisor: AVD Hybrid is designed to work with your current infrastructure.",{"type":34,"tag":80,"props":2414,"children":2415},{},[2416,2421,2426],{"type":34,"tag":84,"props":2417,"children":2418},{},[2419],{"type":47,"value":2420},"Deploy Azure Arc-enabled servers on your on-premises hardware.",{"type":34,"tag":84,"props":2422,"children":2423},{},[2424],{"type":47,"value":2425},"Ensure the Windows App is deployed to end users, as it serves as the unified gateway for accessing both cloud and on-premises session hosts.",{"type":34,"tag":84,"props":2427,"children":2428},{},[2429],{"type":47,"value":2430},"Configure networking to allow outbound communication to the Azure Virtual Desktop management service while keeping RDP traffic local where possible to reduce latency.",{"type":34,"tag":451,"props":2432,"children":2434},{"id":2433},"_2-transition-from-frontline-to-flex-licensing",[2435],{"type":47,"value":2436},"2. Transition from Frontline to Flex licensing",{"type":34,"tag":35,"props":2438,"children":2439},{},[2440],{"type":47,"value":2441},"If you are currently using Windows 365 Frontline, the transition to Flex is seamless from a functional standpoint, but you should re-evaluate your provisioning policies.",{"type":34,"tag":80,"props":2443,"children":2444},{},[2445,2450,2455],{"type":34,"tag":84,"props":2446,"children":2447},{},[2448],{"type":47,"value":2449},"Identify user groups that can benefit from shared mode. In this mode, the Cloud PC can be reset to a fresh state after each session, which is ideal for high-turnover environments or kiosks.",{"type":34,"tag":84,"props":2451,"children":2452},{},[2453],{"type":47,"value":2454},"For developers or contractors who need to maintain their state, use the persistent configuration within Flex.",{"type":34,"tag":84,"props":2456,"children":2457},{},[2458],{"type":47,"value":2459},"Use the Microsoft Intune portal to manage these devices alongside your existing Windows 365 Enterprise fleet, keeping a consistent security baseline across all worker types.",{"type":34,"tag":451,"props":2461,"children":2463},{"id":2462},"_3-optimise-smb-costs-with-windows-365-business",[2464],{"type":47,"value":2465},"3. Optimise SMB costs with Windows 365 Business",{"type":34,"tag":35,"props":2467,"children":2468},{},[2469],{"type":47,"value":2470},"For smaller organisations or isolated business units, the 20 percent price drop makes the Cloud PC a much more viable alternative to physical hardware procurement.",{"type":34,"tag":80,"props":2472,"children":2473},{},[2474,2479,2484],{"type":34,"tag":84,"props":2475,"children":2476},{},[2477],{"type":47,"value":2478},"Review your current physical device refresh cycle.",{"type":34,"tag":84,"props":2480,"children":2481},{},[2482],{"type":47,"value":2483},"Deploy Windows 365 Business for users who require a secure, managed environment but do not need the advanced networking (such as VNet integration) provided by the Enterprise edition.",{"type":34,"tag":84,"props":2485,"children":2486},{},[2487],{"type":47,"value":2488},"Leverage the simplified setup process that does not require an Intune licence or a complex Azure subscription setup.",{"type":34,"tag":451,"props":2490,"children":2492},{"id":2491},"_4-implement-windows-365-cloud-apps",[2493],{"type":47,"value":2494},"4. Implement Windows 365 Cloud Apps",{"type":34,"tag":35,"props":2496,"children":2497},{},[2498],{"type":47,"value":2499},"A notable technical addition within the Flex framework is Windows 365 Cloud Apps, which lets you provide an app-only experience.",{"type":34,"tag":80,"props":2501,"children":2502},{},[2503,2508],{"type":34,"tag":84,"props":2504,"children":2505},{},[2506],{"type":47,"value":2507},"Instead of provisioning a full desktop, use Cloud Apps to deliver specific line-of-business applications to users.",{"type":34,"tag":84,"props":2509,"children":2510},{},[2511],{"type":47,"value":2512},"This reduces the compute footprint and simplifies the user interface for task-oriented workers who only need one or two specific tools.",{"type":34,"tag":35,"props":2514,"children":2515},{},[2516],{"type":34,"tag":39,"props":2517,"children":2519},{"alt":26,"src":2518},"\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-flex-cloud-endpoints\u002Farchitecture.jpg",[],{"type":34,"tag":110,"props":2521,"children":2523},{"id":2522},"analysis-beyond-the-branding",[2524],{"type":47,"value":2525},"Analysis: beyond the branding",{"type":34,"tag":35,"props":2527,"children":2528},{},[2529],{"type":47,"value":2530},"The shift from \"Frontline\" to \"Flex\" is a subtle but important acknowledgement of how the modern workforce operates. The term \"Frontline\" often implied a specific type of blue-collar or service-oriented worker. The need for non-dedicated, high-performance compute extends well beyond that. A developer might need a high-spec machine for three hours of compiling, or a seasonal auditor might need a secure environment for one month of the year. \"Flex\" captures that reality far better.",{"type":34,"tag":35,"props":2532,"children":2533},{},[2534],{"type":47,"value":2535},"From a technical perspective, the Azure Virtual Desktop Hybrid announcement is the most impactful for those of us managing large-scale infrastructure. The ability to use existing hardware while leveraging the modern Azure management stack, including Entra ID (formerly Azure AD) and Intune, removes the need to maintain legacy on-premises VDI brokers and gateways. That reduces the operational burden on IT teams while providing a clear, phased path toward full cloud adoption.",{"type":34,"tag":35,"props":2537,"children":2538},{},[2539],{"type":47,"value":2540},"It is also worth noting that the price reduction for Windows 365 Business is a clear move to compete with traditional hardware costs. When you factor in the reduced support overhead and the security benefits of a cloud-hosted OS, the total cost of ownership (TCO) for a Cloud PC is becoming increasingly difficult to ignore, even for smaller organisations.",{"type":34,"tag":110,"props":2542,"children":2544},{"id":2543},"summary-and-next-steps",[2545],{"type":47,"value":2546},"Summary and next steps",{"type":34,"tag":35,"props":2548,"children":2549},{},[2550],{"type":47,"value":2551},"The updates to Windows 365 and Azure Virtual Desktop reflect a maturing ecosystem that prioritises choice over prescription. Whether it is the cost-efficiency of Windows 365 Flex for periodic users, the simplified entry point for SMBs, or the hybrid flexibility of AVD for complex enterprise requirements, the goal is to provide a consistent Windows experience regardless of where the compute resides.",{"type":34,"tag":35,"props":2553,"children":2554},{},[2555],{"type":47,"value":2556},"If you are currently managing a virtualisation environment, audit your user base to see where the Flex model could replace underutilised dedicated licences. If you have on-premises workloads that have resisted cloud migration, now is the time to test the AVD Hybrid public preview.",{"type":34,"tag":35,"props":2558,"children":2559},{},[2560,2562,2569],{"type":47,"value":2561},"For further reading and the original announcement, see ",{"type":34,"tag":50,"props":2563,"children":2566},{"href":2564,"rel":2565},"https:\u002F\u002Ftechcommunity.microsoft.com\u002Fblog\u002Fwindows-itpro-blog\u002Fwindows-365-and-azure-virtual-desktop-expanding-access\u002F4515931",[54],[2567],{"type":47,"value":2568},"Windows 365 and Azure Virtual Desktop: expanding access",{"type":47,"value":2570}," on the Microsoft Tech Community.",{"type":34,"tag":35,"props":2572,"children":2573},{},[2574],{"type":47,"value":2575},"How are you planning to balance your on-premises hardware investments with the increasing demand for cloud-managed desktops? Have you identified specific user groups that would benefit more from a Flex model than a dedicated seat? I would be interested to hear your thoughts on these architectural shifts.",{"title":26,"searchDepth":829,"depth":829,"links":2577},[2578,2579,2582,2588,2589],{"id":2170,"depth":829,"text":2173},{"id":2217,"depth":829,"text":2220,"children":2580},[2581],{"id":2238,"depth":838,"text":2241},{"id":2393,"depth":829,"text":2396,"children":2583},[2584,2585,2586,2587],{"id":2404,"depth":838,"text":2407},{"id":2433,"depth":838,"text":2436},{"id":2462,"depth":838,"text":2465},{"id":2491,"depth":838,"text":2494},{"id":2522,"depth":829,"text":2525},{"id":2543,"depth":829,"text":2546},"content:blog:evolving-cloud-endpoints-windows-365-flex-and-avd-hybrid.md","blog\u002Fevolving-cloud-endpoints-windows-365-flex-and-avd-hybrid.md","blog\u002Fevolving-cloud-endpoints-windows-365-flex-and-avd-hybrid",{"_path":852,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":853,"description":2594,"date":2136,"categories":2595,"tags":2596,"image":2599,"tldr":2600,"author":26,"body":2601,"_type":844,"_id":2965,"_source":846,"_file":2966,"_stem":2967,"_extension":849},"Package identity changes how Windows treats a process. Detecting it early prevents bad assumptions in packaged and unpackaged app flows.",[8,9,11],[2597,10,20,2598],"package-identity","application-packaging","\u002Fimages\u002Fblog\u002F2025-2026\u002Fpackage-identity-process-context.jpg","Detect MSIX package identity at runtime by calling the Win32 API GetCurrentPackageFullName (appmodel.h) with a null buffer: ERROR_INSUFFICIENT_BUFFER means the process has package identity, APPMODEL_ERROR_NO_PACKAGE means it does not. This is a per-process check, not per-app, and gates identity-dependent features like ApplicationData.LocalSettings, notifications, background tasks and startup tasks. Package identity is not equivalent to AppContainer isolation, so do not treat it as a security boundary.",{"type":31,"children":2602,"toc":2955},[2603,2609,2614,2619,2625,2630,2635,2640,2646,2651,2656,2661,2666,2672,2677,2689,2701,2706,2737,2742,2748,2782,2788,2800,2805,2811,2816,2829,2834,2839,2857,2862,2868,2873,2878,2883,2888,2892],{"type":34,"tag":35,"props":2604,"children":2605},{},[2606],{"type":34,"tag":39,"props":2607,"children":2608},{"alt":26,"src":2599},[],{"type":34,"tag":35,"props":2610,"children":2611},{},[2612],{"type":47,"value":2613},"Determining whether a process is running with package identity is a fundamental requirement for modern Windows development, yet it is still a detail that gets missed during early architecture work. Once package identity enters the picture, the operating system changes how certain features, activation paths, and app-data patterns behave.",{"type":34,"tag":35,"props":2615,"children":2616},{},[2617],{"type":47,"value":2618},"In a recent technical deep dive, Howard Kapustein, a Principal Software Engineer at Microsoft, outlined the canonical ways to identify whether a process is packaged. This post breaks that logic down using the Feynman Technique so the model is easier to reason about.",{"type":34,"tag":110,"props":2620,"children":2622},{"id":2621},"the-premise-the-challenge-of-identity",[2623],{"type":47,"value":2624},"The Premise: The challenge of identity",{"type":34,"tag":35,"props":2626,"children":2627},{},[2628],{"type":47,"value":2629},"Windows supports both packaged and unpackaged processes. A packaged process carries package identity from its manifest. In practice, that can come from a full MSIX package or from packaging with external location. An unpackaged process does not have that identity.",{"type":34,"tag":35,"props":2631,"children":2632},{},[2633],{"type":47,"value":2634},"That distinction matters because several Windows capabilities are gated on package identity at runtime. Notifications, background tasks, share targets, startup tasks, package extensions, and some Windows Runtime APIs depend on it. If your code assumes identity is present when it is not, it can call the wrong APIs, store configuration in the wrong place, or fail only in one deployment model.",{"type":34,"tag":35,"props":2636,"children":2637},{},[2638],{"type":47,"value":2639},"There is also an important nuance here. Package identity is not the same thing as running in a strict AppContainer sandbox. Many packaged desktop apps still run as full-trust processes. Identity and isolation are related, but they are not interchangeable.",{"type":34,"tag":110,"props":2641,"children":2643},{"id":2642},"the-analogy-the-airport-security-clearance",[2644],{"type":47,"value":2645},"The Analogy: The airport security clearance",{"type":34,"tag":35,"props":2647,"children":2648},{},[2649],{"type":47,"value":2650},"To understand package identity, think of a process like a person walking through a large international airport.",{"type":34,"tag":35,"props":2652,"children":2653},{},[2654],{"type":47,"value":2655},"An unpackaged process is like a visitor who has arrived at the airport but does not have a boarding pass. They can still exist in the building, move through public spaces, and access what is available in the open terminal. But they do not have the verified identity needed to enter the managed parts of the journey.",{"type":34,"tag":35,"props":2657,"children":2658},{},[2659],{"type":47,"value":2660},"A packaged process is like a passenger with a confirmed boarding pass and a verified passport. That identity tells the airport exactly who they are and which services are tied to them. Because the passenger can be identified properly, the airport can route them to the right gate, connect them to the right baggage system, and grant access to the services that depend on verified travel status.",{"type":34,"tag":35,"props":2662,"children":2663},{},[2664],{"type":47,"value":2665},"If the passenger tries to board without that identity, they are stopped. Similarly, if an application assumes it has package identity when it does not, the process will eventually hit a feature boundary and fail at runtime.",{"type":34,"tag":110,"props":2667,"children":2669},{"id":2668},"the-breakdown-how-the-code-identifies-the-process",[2670],{"type":47,"value":2671},"The Breakdown: How the code identifies the process",{"type":34,"tag":35,"props":2673,"children":2674},{},[2675],{"type":47,"value":2676},"In technical terms, this is a process-level question, not just an application-level one. An application can have multiple processes, and runtime identity needs to be verified in the process that is actually making the call. Some helper or out-of-process components may not present the same runtime context as the main executable.",{"type":34,"tag":35,"props":2678,"children":2679},{},[2680,2682,2688],{"type":47,"value":2681},"The primary Win32 API for checking this is ",{"type":34,"tag":66,"props":2683,"children":2685},{"className":2684},[],[2686],{"type":47,"value":2687},"GetCurrentPackageFullName",{"type":47,"value":366},{"type":34,"tag":35,"props":2690,"children":2691},{},[2692,2694,2699],{"type":47,"value":2693},"The logic depends on a very specific behavior of the function. If you call ",{"type":34,"tag":66,"props":2695,"children":2697},{"className":2696},[],[2698],{"type":47,"value":2687},{"type":47,"value":2700}," with a null buffer, Windows tells you what kind of situation you are in based on the return code.",{"type":34,"tag":35,"props":2702,"children":2703},{},[2704],{"type":47,"value":2705},"There are three meaningful outcomes:",{"type":34,"tag":2707,"props":2708,"children":2709},"ol",{},[2710,2721,2732],{"type":34,"tag":84,"props":2711,"children":2712},{},[2713,2719],{"type":34,"tag":66,"props":2714,"children":2716},{"className":2715},[],[2717],{"type":47,"value":2718},"ERROR_INSUFFICIENT_BUFFER",{"type":47,"value":2720},": In this detection pattern, this is the success signal. It means Windows recognized package identity for the current process and is telling you that a real buffer would be required to retrieve the package full name.",{"type":34,"tag":84,"props":2722,"children":2723},{},[2724,2730],{"type":34,"tag":66,"props":2725,"children":2727},{"className":2726},[],[2728],{"type":47,"value":2729},"APPMODEL_ERROR_NO_PACKAGE",{"type":47,"value":2731},": The process is running without package identity.",{"type":34,"tag":84,"props":2733,"children":2734},{},[2735],{"type":47,"value":2736},"Any other return value: A genuine error occurred and should be handled as an actual failure state.",{"type":34,"tag":35,"props":2738,"children":2739},{},[2740],{"type":47,"value":2741},"That is why the test looks slightly counterintuitive at first glance. You are deliberately calling the API in a way that produces a known return code so you can infer whether package identity exists.",{"type":34,"tag":110,"props":2743,"children":2745},{"id":2744},"c-implementation",[2746],{"type":47,"value":2747},"C++ implementation",{"type":34,"tag":35,"props":2749,"children":2750},{},[2751,2753,2759,2761,2766,2768,2773,2775,2780],{"type":47,"value":2752},"The canonical native implementation uses ",{"type":34,"tag":66,"props":2754,"children":2756},{"className":2755},[],[2757],{"type":47,"value":2758},"appmodel.h",{"type":47,"value":2760},", calls ",{"type":34,"tag":66,"props":2762,"children":2764},{"className":2763},[],[2765],{"type":47,"value":2687},{"type":47,"value":2767},", and checks the return code. If the code is ",{"type":34,"tag":66,"props":2769,"children":2771},{"className":2770},[],[2772],{"type":47,"value":2718},{"type":47,"value":2774},", the process has package identity. If it is ",{"type":34,"tag":66,"props":2776,"children":2778},{"className":2777},[],[2779],{"type":47,"value":2729},{"type":47,"value":2781},", it does not.",{"type":34,"tag":110,"props":2783,"children":2785},{"id":2784},"c-implementation-1",[2786],{"type":47,"value":2787},"C# implementation",{"type":34,"tag":35,"props":2789,"children":2790},{},[2791,2793,2798],{"type":47,"value":2792},"In C#, the principle is the same, but you typically reach the API through P\u002FInvoke. The implementation usually wraps ",{"type":34,"tag":66,"props":2794,"children":2796},{"className":2795},[],[2797],{"type":47,"value":2687},{"type":47,"value":2799}," in a small boolean helper and evaluates the same return codes.",{"type":34,"tag":39,"props":2801,"children":2804},{"src":2802,"alt":2803,"width":240},"\u002Fimages\u002Fblog\u002F2025-2026\u002Fpackage-identity-process-context\u002Farchitecture.svg","Decision flow: GetCurrentPackageFullName with a null buffer yields ERROR_INSUFFICIENT_BUFFER when the process has package identity, or APPMODEL_ERROR_NO_PACKAGE when it does not.",[],{"type":34,"tag":110,"props":2806,"children":2808},{"id":2807},"the-value-why-identity-matters-to-the-architecture",[2809],{"type":47,"value":2810},"The Value: Why identity matters to the architecture",{"type":34,"tag":35,"props":2812,"children":2813},{},[2814],{"type":47,"value":2815},"This is where the technical detail becomes an architectural concern.",{"type":34,"tag":35,"props":2817,"children":2818},{},[2819,2821,2827],{"type":47,"value":2820},"If an application is intended to run with package identity, the system-managed app data store is often the right place for app-specific settings. Microsoft documents ",{"type":34,"tag":66,"props":2822,"children":2824},{"className":2823},[],[2825],{"type":47,"value":2826},"ApplicationData.LocalSettings",{"type":47,"value":2828}," and the broader local app data store as the packaged app model for settings and state that should survive updates. That data is also managed and removed cleanly when the app is uninstalled.",{"type":34,"tag":35,"props":2830,"children":2831},{},[2832],{"type":47,"value":2833},"An unpackaged executable does not get those system-managed app data stores. It needs an explicit storage strategy instead, such as direct file I\u002FO, a known configuration path, or another deliberate settings mechanism.",{"type":34,"tag":35,"props":2835,"children":2836},{},[2837],{"type":47,"value":2838},"That gives architects and developers a few practical advantages:",{"type":34,"tag":80,"props":2840,"children":2841},{},[2842,2847,2852],{"type":34,"tag":84,"props":2843,"children":2844},{},[2845],{"type":47,"value":2846},"Hybrid deployment models. One codebase can behave correctly whether it runs with package identity or as a traditional executable.",{"type":34,"tag":84,"props":2848,"children":2849},{},[2850],{"type":47,"value":2851},"Graceful degradation. Identity-dependent features can be disabled cleanly instead of failing at runtime.",{"type":34,"tag":84,"props":2853,"children":2854},{},[2855],{"type":47,"value":2856},"Better telemetry and diagnostics. You can separate packaging-related defects from general application defects much faster.",{"type":34,"tag":35,"props":2858,"children":2859},{},[2860],{"type":47,"value":2861},"Failing to account for identity is one of the easier ways to create an \"it works on my machine\" problem, especially when developers test in an unpackaged debug flow while users run the final packaged deployment.",{"type":34,"tag":110,"props":2863,"children":2865},{"id":2864},"the-check-to-apply",[2866],{"type":47,"value":2867},"The check to apply",{"type":34,"tag":35,"props":2869,"children":2870},{},[2871],{"type":47,"value":2872},"When designing your next Windows application or modernizing an existing one, ask a simple question early:",{"type":34,"tag":35,"props":2874,"children":2875},{},[2876],{"type":47,"value":2877},"Does the process verify whether package identity is actually present before it uses identity-dependent features?",{"type":34,"tag":35,"props":2879,"children":2880},{},[2881],{"type":47,"value":2882},"If the answer is no, there is a good chance the design is relying on an assumption that only holds in one runtime context.",{"type":34,"tag":35,"props":2884,"children":2885},{},[2886],{"type":47,"value":2887},"That is the real value of this check. It is not just defensive coding. It is a small architectural test that keeps deployment reality aligned with application behavior.",{"type":34,"tag":110,"props":2889,"children":2890},{"id":733},[2891],{"type":47,"value":736},{"type":34,"tag":80,"props":2893,"children":2894},{},[2895,2905,2915,2925,2935,2945],{"type":34,"tag":84,"props":2896,"children":2897},{},[2898],{"type":34,"tag":50,"props":2899,"children":2902},{"href":2900,"rel":2901},"https:\u002F\u002Fdevblogs.microsoft.com\u002Finsidemsix\u002Fis-this-a-packaged-process\u002F",[54],[2903],{"type":47,"value":2904},"Howard Kapustein: Is this a packaged process?",{"type":34,"tag":84,"props":2906,"children":2907},{},[2908],{"type":34,"tag":50,"props":2909,"children":2912},{"href":2910,"rel":2911},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fmsix\u002Fdetect-package-identity",[54],[2913],{"type":47,"value":2914},"Detect package identity and runtime context",{"type":34,"tag":84,"props":2916,"children":2917},{},[2918],{"type":34,"tag":50,"props":2919,"children":2922},{"href":2920,"rel":2921},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwin32\u002Fapi\u002Fappmodel\u002Fnf-appmodel-getcurrentpackagefullname",[54],[2923],{"type":47,"value":2924},"GetCurrentPackageFullName function",{"type":34,"tag":84,"props":2926,"children":2927},{},[2928],{"type":34,"tag":50,"props":2929,"children":2932},{"href":2930,"rel":2931},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fapps\u002Fdesktop\u002Fmodernize\u002Fmodernize-packaged-apps",[54],[2933],{"type":47,"value":2934},"Features that require package identity",{"type":34,"tag":84,"props":2936,"children":2937},{},[2938],{"type":34,"tag":50,"props":2939,"children":2942},{"href":2940,"rel":2941},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fapps\u002Fdevelop\u002Fdata\u002Fstore-and-retrieve-app-data",[54],[2943],{"type":47,"value":2944},"Store and retrieve settings and other app data",{"type":34,"tag":84,"props":2946,"children":2947},{},[2948],{"type":34,"tag":50,"props":2949,"children":2952},{"href":2950,"rel":2951},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fmsix\u002Fdesktop\u002Fdesktop-to-uwp-behind-the-scenes",[54],[2953],{"type":47,"value":2954},"Understanding how packaged desktop apps run on Windows",{"title":26,"searchDepth":829,"depth":829,"links":2956},[2957,2958,2959,2960,2961,2962,2963,2964],{"id":2621,"depth":829,"text":2624},{"id":2642,"depth":829,"text":2645},{"id":2668,"depth":829,"text":2671},{"id":2744,"depth":829,"text":2747},{"id":2784,"depth":829,"text":2787},{"id":2807,"depth":829,"text":2810},{"id":2864,"depth":829,"text":2867},{"id":733,"depth":829,"text":736},"content:blog:understanding-package-identity-packaged-or-unpackaged-process.md","blog\u002Funderstanding-package-identity-packaged-or-unpackaged-process.md","blog\u002Funderstanding-package-identity-packaged-or-unpackaged-process",{"_path":2969,"_dir":24,"_draft":25,"_partial":25,"_locale":26,"title":2970,"description":2971,"date":2972,"categories":2973,"tags":2976,"image":2981,"tldr":2982,"author":26,"body":2983,"_type":844,"_id":3220,"_source":846,"_file":3221,"_stem":3222,"_extension":849},"\u002Fblog\u002Fthe-cloud-exit-paradox-why-the-best-plan-is-the-one-you-never-use","The Cloud Exit Paradox: Why the Best Plan Is the One You Never Use","A cloud exit strategy is not a retreat plan. It is the architecture discipline that preserves leverage, resilience, and infrastructure sovereignty.","2026-05-06",[9,2974,2975],"azure","architecture",[2977,2978,2145,2979,2980],"hybrid","multicloud","business-continuity","cloud-strategy","\u002Fimages\u002Fblog\u002F2025-2026\u002Fcloud-exit-paradox.jpg","Cloud exit planning is a governance discipline, not a retreat plan, distinct from BCP and resilience engineering. The recommended cloud-smart approach scopes exit planning to critical workloads only, then standardizes the control plane across hybrid and multicloud using Azure Arc, landing zones, Azure Monitor and Defender for Cloud, and prices lock-in honestly before adopting proprietary services. The lifecycle is iterative: plan, risk-assess, select strategy, define future state, migrate, test, update.",{"type":31,"children":2984,"toc":3209},[2985,2991,2996,3001,3007,3012,3017,3022,3040,3046,3051,3056,3094,3099,3104,3110,3115,3121,3126,3132,3137,3143,3148,3152,3157,3162,3166],{"type":34,"tag":35,"props":2986,"children":2987},{},[2988],{"type":34,"tag":39,"props":2989,"children":2990},{"alt":26,"src":2981},[],{"type":34,"tag":35,"props":2992,"children":2993},{},[2994],{"type":47,"value":2995},"A cloud exit strategy is often misunderstood. Good exit planning is not a sign that you expect failure. It is the governance discipline that proves you still control placement, risk, and commercial leverage in your estate.",{"type":34,"tag":35,"props":2997,"children":2998},{},[2999],{"type":47,"value":3000},"In 2026, that matters more because the old all-in cloud narrative has given way to a more selective operating model. Hybrid and multicloud are now practical responses to resilience, data sovereignty, performance, and workload fit rather than ideology.",{"type":34,"tag":110,"props":3002,"children":3004},{"id":3003},"from-cloud-first-to-cloud-smart",[3005],{"type":47,"value":3006},"From cloud-first to cloud-smart",{"type":34,"tag":35,"props":3008,"children":3009},{},[3010],{"type":47,"value":3011},"Microsoft's current hybrid and multicloud guidance is much closer to cloud-smart than cloud-first. The emphasis is on aligning workload placement to business goals, defining a deliberate cloud mix, and using Azure as a unifying management plane where that approach makes sense.",{"type":34,"tag":39,"props":3013,"children":3016},{"src":3014,"alt":3015,"width":240},"\u002Fimages\u002Fblog\u002F2025-2026\u002Fcloud-exit-paradox\u002Fcloud-smart.jpg","Shift from cloud-first to cloud-smart with a focus on infrastructure sovereignty.",[],{"type":34,"tag":35,"props":3018,"children":3019},{},[3020],{"type":47,"value":3021},"That shift changes the way exit planning should be discussed:",{"type":34,"tag":80,"props":3023,"children":3024},{},[3025,3030,3035],{"type":34,"tag":84,"props":3026,"children":3027},{},[3028],{"type":47,"value":3029},"An exit plan is not a promise to leave.",{"type":34,"tag":84,"props":3031,"children":3032},{},[3033],{"type":47,"value":3034},"An exit plan is a way to preserve optionality.",{"type":34,"tag":84,"props":3036,"children":3037},{},[3038],{"type":47,"value":3039},"The real objective is to avoid unmanaged concentration risk and unsupported dependency chains.",{"type":34,"tag":110,"props":3041,"children":3043},{"id":3042},"what-realistic-exit-planning-looks-like",[3044],{"type":47,"value":3045},"What realistic exit planning looks like",{"type":34,"tag":35,"props":3047,"children":3048},{},[3049],{"type":47,"value":3050},"Effective exit planning is narrower and more practical than most board slides suggest. It should focus first on critical services and the threat scenarios that would make a migration, fallback, or transition necessary.",{"type":34,"tag":35,"props":3052,"children":3053},{},[3054],{"type":47,"value":3055},"The lifecycle can be treated as a repeating operating discipline:",{"type":34,"tag":2707,"props":3057,"children":3058},{},[3059,3064,3069,3074,3079,3084,3089],{"type":34,"tag":84,"props":3060,"children":3061},{},[3062],{"type":47,"value":3063},"Planning and analysis.",{"type":34,"tag":84,"props":3065,"children":3066},{},[3067],{"type":47,"value":3068},"Risk assessment.",{"type":34,"tag":84,"props":3070,"children":3071},{},[3072],{"type":47,"value":3073},"Exit strategy selection.",{"type":34,"tag":84,"props":3075,"children":3076},{},[3077],{"type":47,"value":3078},"Future-state definition.",{"type":34,"tag":84,"props":3080,"children":3081},{},[3082],{"type":47,"value":3083},"Migration planning.",{"type":34,"tag":84,"props":3085,"children":3086},{},[3087],{"type":47,"value":3088},"Testing.",{"type":34,"tag":84,"props":3090,"children":3091},{},[3092],{"type":47,"value":3093},"Ongoing update.",{"type":34,"tag":39,"props":3095,"children":3098},{"src":3096,"alt":3097,"width":240},"\u002Fimages\u002Fblog\u002F2025-2026\u002Fcloud-exit-paradox\u002Finfographic.jpg","Seven-step exit planning lifecycle infographic.",[],{"type":34,"tag":35,"props":3100,"children":3101},{},[3102],{"type":47,"value":3103},"This is also the correction to the backup-plan narrative. Business continuity, resilience engineering, and exit planning are related, but they are not interchangeable. Resilience reduces the likelihood and impact of disruption. Exit planning addresses the harder scenario where the provider relationship itself becomes the problem.",{"type":34,"tag":110,"props":3105,"children":3107},{"id":3106},"where-the-value-lies-for-architects",[3108],{"type":47,"value":3109},"Where the value lies for architects",{"type":34,"tag":35,"props":3111,"children":3112},{},[3113],{"type":47,"value":3114},"If you want this to be useful in practice, three principles matter.",{"type":34,"tag":451,"props":3116,"children":3118},{"id":3117},"focus-on-critical-functions",[3119],{"type":47,"value":3120},"Focus on critical functions",{"type":34,"tag":35,"props":3122,"children":3123},{},[3124],{"type":47,"value":3125},"Do not waste time building heavyweight exit plans for everything. Start with the workloads that would materially affect revenue, service delivery, compliance, or customer trust.",{"type":34,"tag":451,"props":3127,"children":3129},{"id":3128},"standardize-the-control-plane",[3130],{"type":47,"value":3131},"Standardize the control plane",{"type":34,"tag":35,"props":3133,"children":3134},{},[3135],{"type":47,"value":3136},"If hybrid is part of your strategy, unify governance, observability, and policy across environments. Azure Arc, Azure landing zones, Azure Monitor, Defender for Cloud, and related services matter here because they reduce the operational friction of governing or relocating workloads outside a single-cloud boundary.",{"type":34,"tag":451,"props":3138,"children":3140},{"id":3139},"price-lock-in-honestly",[3141],{"type":47,"value":3142},"Price lock-in honestly",{"type":34,"tag":35,"props":3144,"children":3145},{},[3146],{"type":47,"value":3147},"The goal is not to ban every proprietary service. The goal is to understand the cost of changing direction before you are forced to change direction. Sometimes a cloud-native service is absolutely worth using. But the recovery path, data handling model, contract terms, and migration dependencies should be documented while the decision is still voluntary.",{"type":34,"tag":110,"props":3149,"children":3150},{"id":702},[3151],{"type":47,"value":705},{"type":34,"tag":35,"props":3153,"children":3154},{},[3155],{"type":47,"value":3156},"The best cloud exit plan is usually the one you never execute. But if it does not exist, your architecture is carrying hidden business risk whether or not anyone has named it yet.",{"type":34,"tag":35,"props":3158,"children":3159},{},[3160],{"type":47,"value":3161},"Cloud-smart organizations do not design only for adoption. They design for continued freedom of movement.",{"type":34,"tag":110,"props":3163,"children":3164},{"id":733},[3165],{"type":47,"value":736},{"type":34,"tag":80,"props":3167,"children":3168},{},[3169,3179,3189,3199],{"type":34,"tag":84,"props":3170,"children":3171},{},[3172],{"type":34,"tag":50,"props":3173,"children":3176},{"href":3174,"rel":3175},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fcloud-adoption-framework\u002Fscenarios\u002Fhybrid\u002Fstrategy",[54],[3177],{"type":47,"value":3178},"Unified hybrid and multicloud operations",{"type":34,"tag":84,"props":3180,"children":3181},{},[3182],{"type":34,"tag":50,"props":3183,"children":3186},{"href":3184,"rel":3185},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Fcloud-adoption-framework\u002Fscenarios\u002Fhybrid\u002Fenterprise-scale-landing-zone",[54],[3187],{"type":47,"value":3188},"Implement hybrid and multicloud adoption with Azure Arc and Azure landing zones",{"type":34,"tag":84,"props":3190,"children":3191},{},[3192],{"type":34,"tag":50,"props":3193,"children":3196},{"href":3194,"rel":3195},"https:\u002F\u002Flearn.microsoft.com\u002Fcompliance\u002Fassurance\u002Fassurance-fsi-resilience",[54],[3197],{"type":47,"value":3198},"Strengthening operational resilience and reducing concentration risk in financial services",{"type":34,"tag":84,"props":3200,"children":3201},{},[3202],{"type":34,"tag":50,"props":3203,"children":3206},{"href":3204,"rel":3205},"https:\u002F\u002Flearn.microsoft.com\u002Fazure\u002Farchitecture\u002Fguide\u002Ftechnology-choices\u002Fhybrid-considerations",[54],[3207],{"type":47,"value":3208},"Azure hybrid options",{"title":26,"searchDepth":829,"depth":829,"links":3210},[3211,3212,3213,3218,3219],{"id":3003,"depth":829,"text":3006},{"id":3042,"depth":829,"text":3045},{"id":3106,"depth":829,"text":3109,"children":3214},[3215,3216,3217],{"id":3117,"depth":838,"text":3120},{"id":3128,"depth":838,"text":3131},{"id":3139,"depth":838,"text":3142},{"id":702,"depth":829,"text":705},{"id":733,"depth":829,"text":736},"content:blog:the-cloud-exit-paradox-why-the-best-plan-is-the-one-you-never-use.md","blog\u002Fthe-cloud-exit-paradox-why-the-best-plan-is-the-one-you-never-use.md","blog\u002Fthe-cloud-exit-paradox-why-the-best-plan-is-the-one-you-never-use",[3224,3227,3230,3233,3236,3246,3257,3266,3276,3287,3295,3305,3316,3325,3334,3346,3354,3363,3369,3375,3381,3387,3399,3406,3416,3426,3438,3448,3459,3469,3478,3487,3500,3511,3519,3532,3540,3552,3560,3570,3580,3591,3600,3609,3618,3631,3640,3652,3663,3674,3686,3697,3707,3719,3729,3738,3748,3760,3769,3779,3795,3807,3817,3829,3840,3852,3865,3879,3888,3897,3905,3912,3919,3927,3934,3941,3953,3964,3976,3986,4000,4012,4023,4041,4057,4069,4083,4095,4107,4117,4134,4148,4161,4171,4184,4194,4205,4222,4231,4242,4250,4260,4273,4282,4292,4303,4312,4330,4348,4360,4372,4390,4409,4420,4438,4448,4461,4474,4492,4502,4511,4522,4533,4549,4558,4565,4576,4588,4601,4612,4621,4631,4641,4651,4660,4668,4680,4692,4704,4712,4719,4727,4739,4749,4760,4768,4777,4787,4795,4805,4813,4828,4837,4845,4856,4868,4880,4892,4900,4908,4916,4927,4936,4949,4963,4987],{"_path":23,"title":4,"description":5,"date":6,"categories":3225,"tags":3226,"image":21},[8,9,10,11],[10,13,14,15,16,17,18,19,20],{"_path":2133,"title":2134,"description":2135,"date":2136,"categories":3228,"tags":3229,"image":2148},[8,9,2138,2139],[2139,2141,2142,2143,2144,2145,2146,2147],{"_path":852,"title":853,"description":2594,"date":2136,"categories":3231,"tags":3232,"image":2599},[8,9,11],[2597,10,20,2598],{"_path":2969,"title":2970,"description":2971,"date":2972,"categories":3234,"tags":3235,"image":2981},[9,2974,2975],[2977,2978,2145,2979,2980],{"_path":3237,"title":3238,"description":3239,"date":3240,"categories":3241,"tags":3242,"image":3245},"\u002Fblog\u002Fstop-choosing-between-avd-and-windows-365-based-on-licensing","Stop Choosing Between AVD and Windows 365 Based on Licensing","AVD and Windows 365 solve different operating-model problems, so licensing should never be the first decision criterion.","2026-05-05",[8,9,2138],[2143,2139,3243,2147,3244],"frontline","fslogix","\u002Fimages\u002Fblog\u002F2025-2026\u002Favd-vs-windows-365-licensing.jpg",{"_path":3247,"title":3248,"description":3249,"date":3250,"categories":3251,"tags":3253,"image":3256},"\u002Fblog\u002Fai-in-end-user-computing-from-passive-chat-to-active-agency","Engineering the Proactive IT Architect: AI in End-User Computing","AI becomes valuable in EUC when it reduces discovery, packaging, triage, and cost-governance friction under controlled operational boundaries.","2026-05-03",[8,3252,9],"ai",[3252,3254,10,2143,3255],"euc","cost-management","\u002Fimages\u002Fblog\u002F2025-2026\u002Fai-in-end-user-computing.jpg",{"_path":3258,"title":3259,"description":3260,"date":3261,"categories":3262,"tags":3263,"image":3265},"\u002Fblog\u002Fazure-virtual-desktop-hybrid-on-premises-control-plane","Azure Virtual Desktop Hybrid: Rationalizing On-Premises Session Hosts with a Cloud Control Plane","Azure Virtual Desktop Hybrid brings Azure-managed brokering to on-premises session hosts, but the current preview has important boundaries.","2026-05-01",[8,9,2138],[2143,2138,2145,2977,3264],"on-premises","\u002Fimages\u002Fblog\u002F2025-2026\u002Fazure-virtual-desktop-hybrid.jpg",{"_path":3267,"title":3268,"description":3269,"date":3270,"categories":3271,"tags":3273,"image":3275},"\u002Fblog\u002Fwindows-365-reserve-for-business-continuity","Strategic Resilience: Implementing Windows 365 Reserve for Business Continuity","Windows 365 Reserve is designed for short-term disruption scenarios, not as a general-purpose replacement for Enterprise or Frontline.","2026-02-24",[8,9,3272],"windows365",[2139,3274,2979,2147],"reserve","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-reserve.jpg",{"_path":3277,"title":3278,"description":3279,"date":3280,"categories":3281,"tags":3282,"image":3286},"\u002Fblog\u002Fmsix-flexible-virtualization-on-windows-11","Strategic Modernization: Using Flexible Virtualization in MSIX","Flexible virtualization in MSIX is a selective interoperability feature, not a blanket compatibility switch.","2026-02-17",[8,9,11],[10,3283,3284,3285],"windows-11","virtualization","packaging","\u002Fimages\u002Fblog\u002F2025-2026\u002Fmsix-flexible-virtualization.jpg",{"_path":3288,"title":3289,"description":3290,"date":3291,"categories":3292,"tags":3293,"image":3294},"\u002Fblog\u002Fthe-architectural-case-for-msix","Modernizing the Enterprise Desktop: The Architectural Case for MSIX","MSIX matters because it separates app identity and app state from traditional installer sprawl.","2026-02-10",[8,9,11],[10,3285,11,20],"\u002Fimages\u002Fblog\u002F2025-2026\u002Fmsix-architectural-case.jpg",{"_path":3296,"title":3297,"description":3298,"date":3299,"categories":3300,"tags":3301,"image":3304},"\u002Fblog\u002Fapp-v-to-msix-planning-before-2026","Navigating the Transition from App-V to MSIX","With App-V support ending in April 2026, the move to MSIX needs application-by-application planning rather than blind conversion.","2026-02-03",[8,9,11],[3302,10,3285,3303],"app-v","modern-management","\u002Fimages\u002Fblog\u002F2025-2026\u002Fapp-v-to-msix-transition.jpg",{"_path":3306,"title":3307,"description":3308,"date":3309,"categories":3310,"tags":3311,"image":3315},"\u002Fblog\u002Frds-aad-auth-and-cloud-sso-for-windows-365","Understanding RDS AAD Auth for Windows 365 Cloud SSO","RDS AAD Auth gives Windows 365 a token-based SSO flow, but hybrid access still needs proper Kerberos trust design.","2026-01-20",[8,9,3272],[2139,3312,3313,3314],"entra-id","sso","authentication","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-rds-aad-auth.jpg",{"_path":3317,"title":3318,"description":3319,"date":3320,"categories":3321,"tags":3322,"image":3324},"\u002Fblog\u002Fwindows-365-frontline-for-shift-workers","Maximizing Shift Worker Productivity with Windows 365 Frontline","Windows 365 Frontline is about matching licensing and desktop persistence to how shift-based users actually work.","2026-01-13",[8,9,3272],[2139,3243,2147,3323],"shift-workers","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-frontline.jpg",{"_path":3326,"title":3327,"description":3328,"date":3329,"categories":3330,"tags":3331,"image":3333},"\u002Fblog\u002Fwindows-365-service-resilience-in-practice","Windows 365 Service Resilience in Practice","Windows 365 resilience is a mix of Microsoft-managed service design and customer-owned continuity decisions.","2026-01-06",[8,9,3272],[2139,3332,2979,2147],"resilience","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-resilience.jpg",{"_path":3335,"title":3336,"description":3337,"date":3338,"categories":3339,"tags":3341,"image":3345},"\u002Fblog\u002Fsecuring-cloud-pcs-with-windows-365","Securing Cloud PCs with Windows 365","Windows 365 security works best when identity, device, and data controls are designed together.","2025-12-16",[8,9,3340],"security",[2139,3342,3343,3344],"zero-trust","conditional-access","intune","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-security.jpg",{"_path":3347,"title":3348,"description":3349,"date":3350,"categories":3351,"tags":3352,"image":3353},"\u002Fblog\u002Fwindows-365-and-the-failure-domain","The VDI Density Trap: How Dedicated Cloud PCs Change the Failure Domain","Windows 365 changes the user failure domain, but that does not mean multi-session is obsolete.","2025-12-09",[8,9,3272],[2139,2147,2138,2975],"\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-failure-domain.jpg",{"_path":3355,"title":3356,"description":3357,"date":3358,"categories":3359,"tags":3360,"image":3362},"\u002Fblog\u002Fwindows-365-image-management-gallery-vs-custom-images","Windows 365 Image Management: When Gallery and Custom Images Make Sense","Windows 365 still uses images, but the right operating model is usually gallery-first and Intune-led.","2025-12-02",[8,9,3272],[2139,2147,3344,3361],"device-images","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-365-image-management.jpg",{"_path":3364,"title":3365,"description":3366,"date":3367,"image":3368},"\u002Fblog\u002Fai-an-accelerator-of-innovation-or-a-risky-proposition","AI: An Accelerator of Innovation or a Risky Proposition?","In the spectrum of AI, where do we land? Is AI a behemoth ready to take over the world, or is it a catalyst for increased productivity and an accelerator for innovation? After exploring and dissecting the vast landscape that AI encompasses, I propose it is more of the latter.","2023-07-07","\u002Fimages\u002Fblog\u002Fai\u002FAI-An-Accelerator-of-Innovation-or-a-Risky-Proposition.webp",{"_path":3370,"title":3371,"description":3372,"image":3373,"date":3374},"\u002Fblog\u002Fthe-it-industrys-skyward-journey-glimpsing-through-the-window-of-cloud-adoption","The IT Industry's Skyward Journey: Glimpsing through the Window of Cloud Adoption","Over the past decade, cloud services have steadily ascended to prominence in the Information Technology (IT) sector, often heralded as the pinnacle of organisational aspiration. Chief Information Officers (CIOs) ...","\u002Fimages\u002Fblog\u002Fai\u002Fthe-IT-Industrys-Skyward-Journey-Glimpsing-through-the-Window-of-Cloud-Adoption.webp","2023-06-07",{"_path":3376,"title":3377,"description":3378,"date":3379,"image":3380},"\u002Fblog\u002Fnavigating-the-fragmented-it-landscape","Navigating the Fragmented IT Landscape: The Rise of Point-Based Solutions","As we navigate the modern software landscape, one trend becomes increasingly evident. Software has traditionally been sold as a perpetual licence, with bundled suites of tools addressing a broad range of productivity needs.","2023-05-31","\u002Fimages\u002Fblog\u002Fai\u002Fnavigating-the-fragmented-it-landscape.webp",{"_path":3382,"title":3383,"description":3384,"date":3385,"image":3386},"\u002Fblog\u002Flegacy-applications-the-it-industry-headache-and-how-to-address-it","Legacy Applications: The IT Industry's Headache & How to Address It","Last year, I had the pleasure of contributing an article to the BCS, The Chartered Institute for IT where I explored the challenges legacy applications present to IT departments. The same piece was also featured in the BCS ITNow Magazine.","2023-05-26","\u002Fimages\u002Fblog\u002Fai\u002FLegacy-Applications-The-IT-Industry-Headache-and-How-to-Address-It.webp",{"_path":3388,"title":3389,"description":3390,"date":3391,"categories":3392,"tags":3393,"image":3398},"\u002Fblog\u002Fbuilding-a-custom-image-for-esxi-lab-maxtang-nuc","Building a custom image for ESXi Lab (Maxtang NUC)","Custom image creation for ESXI","2022-12-22",[9],[3394,3395,3396,3397],"esxi","esxi8","nic","vmware","\u002Fimages\u002Fblog\u002Fai\u002Fbuilding-a-custom-image-for-esxi-lab-maxtang-nuc.webp",{"_path":3400,"title":3401,"description":3402,"date":3403,"categories":3404,"image":3405},"\u002Fblog\u002Fenterprise-msix-app-attach-troubleshooting-made-easy","Enterprise MSIX app attach Troubleshooting made easy","Introducing the MSIXaa Troubleshooter, an Azure Log Analytics workbook that surfaces MSIX App Attach disk, CimFS and certificate issues across every session host in an Azure Virtual Desktop deployment, with ARM template deployment and cost capping guidance.","2022-10-06",[9],"\u002Fimages\u002Fblog\u002Fai\u002Fenterprise-msix-app-attach-troubleshooting-made-easy.webp",{"_path":3407,"title":3408,"description":3409,"date":3410,"categories":3411,"tags":3412,"image":3415},"\u002Fblog\u002Fmsix-app-attach-packaging-flow-chart","MSIX app attach Packaging Flow Chart","Flow chart summarising the native options for creating MSIX App Attach images using the Microsoft MSIXMGR tool across VHD, VHDX, and CIM formats, with notes on Windows 10 2004, Windows 11, and Server 2022 support.","2022-01-27",[9],[3413,10,3414],"app-packaging","msix-app-attach","\u002Fimages\u002Fblog\u002Fai\u002Fmsix-app-attach-packaging-flow-chart.webp",{"_path":3417,"title":3418,"description":3419,"date":3420,"categories":3421,"tags":3422,"image":3425},"\u002Fblog\u002Favd-quick-start-guide-on-to-start-vm-connect","AVD Quick Start Guide to Start VM on Connect","Quick guide to enabling Start VM on Connect for Azure Virtual Desktop using the current built-in RBAC role and host-pool setting.","2021-08-13",[9],[2138,2143,3423,3424],"power-on-vms","start-vm-on-connect","\u002Fimages\u002Fblog\u002Fai\u002Favd-quick-start-guide-on-to-start-vm-connect.webp",{"_path":3427,"title":3428,"description":3429,"date":3430,"categories":3431,"tags":3432,"image":3437},"\u002Fblog\u002Fwindows365-first-look-at-mimikatz","Windows365 - First look at Mimikatz","In this article, we look at how Mimikatz works and the exposure to Windows 365, Azure Virtual Desktop, and traditional MSTSC users. We then take a look at how we can reduce the risk of something called credential grabbing.","2021-08-10",[9],[2138,2143,3433,3434,3435,3340,3436,3272],"credential-grabbing","credgrabbing","mimikatz","w365","\u002Fimages\u002Fblog\u002Fwindows-365-first-look-at-mimikatz.png",{"_path":3439,"title":3440,"description":3441,"date":3442,"categories":3443,"tags":3444,"image":3447},"\u002Fblog\u002Fazure-virtual-desktop-quick-guide-to-the-getting-started-wizard","Azure Virtual Desktop Quick Guide to the Getting started Wizard","Archive walkthrough of the original Azure Virtual Desktop Getting Started wizard, with notes on the current Quickstart and deployment path.","2021-08-08",[8,9],[2138,2143,3445,3446],"getting-started","quickstart","\u002Fimages\u002Fblog\u002Fai\u002Fazure-virtual-desktop-quick-guide-to-the-getting-started-wizard.webp",{"_path":3449,"title":3450,"description":3451,"date":3452,"categories":3453,"tags":3454,"image":3458},"\u002Fblog\u002Fa-quick-start-to-enabling-mfa-for-windows365","A Quick start to Enabling MFA for Windows365","High level on enabling MFA for Windows 365 with Conditional Access.","2021-08-07",[9],[3455,3456,3343,3457,3272],"2fa","cloudpc","mfa","\u002Fimages\u002Fblog\u002Fai\u002Fa-quick-start-to-enabling-mfa-for-windows365.webp",{"_path":3460,"title":3461,"description":3462,"date":3463,"categories":3464,"tags":3466,"image":3468},"\u002Fblog\u002Fwindows365-performance-benchmarking","Windows365 Performance benchmarking","This article looks at the performance metrics of Windows 365, aka the cloud PC. The desired outcome of these tests was to understand the overall performance metrics, including limitations for a Cloud PC user....","2021-08-04",[9,3465],"virtualisation",[2138,3456,3467,3272],"win365","\u002Fimages\u002Fblog\u002Fwin365-performance-testing-2.png",{"_path":3470,"title":3471,"description":3472,"date":3473,"categories":3474,"tags":3475,"image":3477},"\u002Fblog\u002Fconfigure-vmware-workstation-16-for-windows-11","Configure VMware Workstation 16 for Windows 11","configuring Worksation 16 for Windows 11","2021-07-15",[9,3465,3397],[3476,3283],"vmware-workstation-16","\u002Fimages\u002Fblog\u002Fai\u002Fconfigure-vmware-workstation-16-for-windows-11.webp",{"_path":3479,"title":3480,"description":3481,"date":3473,"categories":3482,"tags":3484,"image":3486},"\u002Fblog\u002Fwindows365-what-we-know-so-far","Windows365 - What we know so far","Microsoft recently announced the Windows 365 Cloud PC. This article goes into the details of what we know so far.",[8,9,3483],"wvd",[2138,2143,3456,3485,3272],"desktop-streaming","\u002Fimages\u002Fblog\u002Fcloudpc1.png",{"_path":3488,"title":3489,"description":3490,"date":3491,"categories":3492,"tags":3493,"image":3499},"\u002Fblog\u002Fthe-pitfalls-of-using-a-type-two-hypervisor-for-running-older-apps-with-wvd","The pitfalls of using a Type Two Hypervisor for running older Apps with WVD","Hands-on look at running QEMU and Windows XP as a nested type two hypervisor on Windows Virtual Desktop session hosts, covering the security risks, lack of hardware acceleration in Azure nested virtualisation and the resulting VM session storm.","2021-04-27",[8,9,3483],[3494,3495,3496,3497,3498],"application-delivery","application-virtualisation","nested-virtualisation","type-2-hypervisor","windows-virtual-desktop","\u002Fimages\u002Fblog\u002Fai\u002Fthe-pitfalls-of-using-a-type-two-hypervisor-for-running-older-apps-with-wvd.webp",{"_path":3501,"title":3502,"description":3503,"date":3504,"categories":3505,"tags":3506,"image":3510},"\u002Fblog\u002Fwvd-msix-app-attach-event-logs-added-to-msix-log-tool","WVD MSIX App attach Event Logs added to MSIX Log Tool","To help with troubleshooting and diagnosing issues with MSIX app attach packages on WVD, I have added some features to my MSIX Event log tool which helps you review the events from the RDAgent on Windows Virtual Desktop specifically for MSIX app attach....","2021-04-03",[8],[10,3414,3507,3508,3498,3483,3509],"msix-app-attach-tooling","msixaa","wvdmsixaa","\u002Fimages\u002Fblog\u002Fmsix-app-attach-event-log-tool_update.png",{"_path":3512,"title":3513,"description":3514,"date":3515,"categories":3516,"tags":3517,"image":3518},"\u002Fblog\u002Ftroubleshooting-msix-app-attach-errors-using-the-msix-log-tool","Troubleshooting MSIX App attach Errors using the MSIX Log Tool","Community MSIX Event Log tool for Windows Virtual Desktop that exports and clears MSIX app attach logs, with a GUI viewer to diagnose missing certificates, already-registered packages and other staging or registration failures before production rollout.","2021-03-27",[8],[10,3414,3498,3483],"\u002Fimages\u002Fblog\u002Fai\u002Ftroubleshooting-msix-app-attach-errors-using-the-msix-log-tool.webp",{"_path":3520,"title":3521,"description":3522,"date":3523,"categories":3524,"tags":3525,"image":3531},"\u002Fblog\u002Fmsix-app-attach-how-to-manage-cimfs-file-sprawl-tips-and-tricks","MSIX app attach - How To Manage CIMFS File Sprawl - Tips and Tricks","CIMFS Sprawl","2021-02-11",[9],[3526,3527,3528,10,3414,3529,3530,3498,3483],"app-attach","cim","cimfs","msix-image","msix-image-management","\u002Fimages\u002Fblog\u002Fai\u002Fmsix-app-attach-how-to-manage-cimfs-file-sprawl-tips-and-tricks.webp",{"_path":3533,"title":3534,"description":3535,"date":3536,"categories":3537,"tags":3538,"image":3539},"\u002Fblog\u002Fidentifying-cimfs-mounted-images","Identifying CIMFS Mounted Images","Identifying CIMFS Mounted Images for MSIX App Attach","2021-02-10",[9],[3527,3528,10,3414,3498,3483],"\u002Fimages\u002Fblog\u002Fai\u002Fidentifying-cimfs-mounted-images.webp",{"_path":3541,"title":3542,"description":3543,"date":3544,"categories":3545,"tags":3546,"image":3551},"\u002Fblog\u002Fmsix-and-msix-app-attach-high-level-performance-testing","MSIX and MSIX app attach High-Level Performance Testing","Performance testing results comparing native installs, MSIX, and MSIX App Attach images across VHD, VHDX, and CIM formats, including the impact of the Package Support Framework on install, stage, register, and application launch timings.","2021-02-06",[8,9,3483],[3547,10,3414,3548,3549,3550],"appv","msix-ryan-mangan","package-support-framework","psf","\u002Fimages\u002Fblog\u002Fai\u002Fmsix-and-msix-app-attach-high-level-performance-testing.webp",{"_path":3553,"title":3554,"description":3555,"date":3556,"categories":3557,"tags":3558,"image":3559},"\u002Fblog\u002Funderstanding-whats-general-release-and-whats-supported-for-msix-and-msix-app-attach","Understanding what's General Release and what's Supported for MSIX and MSIX app attach","Clarification of which parts of MSIX and App Attach are generally available and what the current support line looks like.","2021-01-29",[8,9],[3547,10,3414,3483],"\u002Fimages\u002Fblog\u002Fmsix-and-msix-app-attach-afdesign.png",{"_path":3561,"title":3562,"description":3563,"date":3564,"categories":3565,"tags":3566,"image":3569},"\u002Fblog\u002Fmsix-app-attach-using-vmware-app-volumes-4-2009","MSIX app attach using VMware App Volumes 4 (2009)","MSIX using VMware app volumes 4 (2009)","2020-11-21",[8,3397],[3567,3414,3568],"app-volumes","vmware-msix-app-attach","\u002Fimages\u002Fblog\u002Fai\u002Fmsix-app-attach-using-vmware-app-volumes-4-2009.webp",{"_path":3571,"title":3572,"description":3573,"date":3574,"categories":3575,"tags":3576,"image":3579},"\u002Fblog\u002Ftesting-cimfs-composite-file-system-windows-virtual-desktop","Testing CimFS (Composite File System) - Azure Virtual Desktop","CIMFS testing AVD.","2020-10-16",[9],[3527,3528,3577,10,3414,3498,3483,3578],"composite-file-system","wvd-community","\u002Fimages\u002Fblog\u002Fai\u002Ftesting-cimfs-composite-file-system-windows-virtual-desktop.webp",{"_path":3581,"title":3582,"description":3583,"date":3584,"categories":3585,"tags":3586,"image":3590},"\u002Fblog\u002Fazure-files-sizing-calculator-for-windows-virtual-desktop","Sizing Azure Files for Azure Virtual Desktop and FSLogix","A remastered guide to sizing Azure Files for Azure Virtual Desktop and FSLogix, using current Microsoft guidance around concurrency, handles, storage tier, and login performance.","2020-09-11",[9,2138],[3587,3244,2143,3588,3589],"azure-files","profile-containers","storage","\u002Fimages\u002Fblog\u002Fai\u002Fazure-files-sizing-calculator-for-windows-virtual-desktop.webp",{"_path":3592,"title":3593,"description":3594,"date":3595,"categories":3596,"tags":3597,"image":3599},"\u002Fblog\u002Fa-deep-dive-into-msix-app-attach-windows-virtual-desktop","A Deep Dive into MSIX App Attach - Windows Virtual Desktop","This article introduces MSIX & a deep dive\u002Fwalkthrough on MSIX App Attach, Microsoft's layering solution for delivering applications to a modern workspace.","2020-08-20",[8,9],[3526,2974,3244,10,3414,3598,3498,3483],"msixmgr-applyacls","\u002Fimages\u002Fblog\u002Fai\u002Fa-deep-dive-into-msix-app-attach-windows-virtual-desktop.webp",{"_path":3601,"title":3602,"description":3603,"date":3604,"categories":3605,"tags":3606,"image":3608},"\u002Fblog\u002Fsizing-and-performance-benchmark-testing-windows-virtual-desktop","Sizing and Performance benchmark testing - Windows Virtual Desktop","Azure VM sizing research for Windows Virtual Desktop using PCMark 10 Express, comparing D-series and F-series instances against Microsoft's light, medium, heavy and power workload guidance to find the best price and user experience trade-off.","2020-08-14",[8,9],[3607,3498,3483],"euc-performance","\u002Fimages\u002Fblog\u002Fai\u002Fsizing-and-performance-benchmark-testing-windows-virtual-desktop.webp",{"_path":3610,"title":3611,"description":3612,"date":3613,"categories":3614,"tags":3615,"image":3617},"\u002Fblog\u002Fa-quick-guide-to-deploying-gpus-on-windows-virtual-desktop","A Quick Guide to Deploying GPU's on Windows Virtual Desktop","Step-by-step guide to enabling GPU acceleration on a Windows Virtual Desktop session host, covering the NV6 Azure VM resize, NVIDIA GPU Driver Extension install, and the Remote Desktop Services group policy settings needed for hardware encoding and H.264\u002FAVC.","2020-08-12",[8,9],[3616,3498,3483],"gpu","\u002Fimages\u002Fblog\u002Fai\u002Fa-quick-guide-to-deploying-gpus-on-windows-virtual-desktop.webp",{"_path":3619,"title":3620,"description":3621,"date":3622,"categories":3623,"tags":3624,"image":3630},"\u002Fblog\u002Fautomate-wvd-teams-deployment-including-webrtc","Automate Teams on AVD Session Hosts (New Teams + WebRTC)","PowerShell script for an Azure Custom Script Extension that prepares an AVD (formerly WVD) session host for Microsoft Teams. Sets the IsWVDEnvironment registry flag, installs the Visual C++ Redistributable, installs the Remote Desktop WebRTC Redirector Service, and provisions New Teams via the bootstrapper. Includes the original Teams Classic MSI path for older base images.","2020-08-07",[8,9],[3625,3626,3627,3628,2143,2138,3483,19,3629],"microsoft-teams","new-teams","teams","webrtc","custom-script-extension","\u002Fimages\u002Fblog\u002Fai\u002Fautomate-wvd-teams-deployment-including-webrtc.webp",{"_path":3632,"title":3633,"description":3634,"date":3622,"categories":3635,"tags":3636,"image":3639},"\u002Fblog\u002Fconfiguring-microsoft-teams-for-windows-virtual-desktop-wvd","Configuring Microsoft Teams for Windows Virtual Desktop (WVD)","Configuring Teams for Azure Virtual Desktop",[8,9],[3625,3637,3638,3627,3498,3483],"ms-teams","msteams","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-microsoft-teams-for-windows-virtual-desktop-wvd.webp",{"_path":3641,"title":3642,"description":3643,"date":3644,"categories":3645,"tags":3646,"image":3651},"\u002Fblog\u002Ffirewall-considerations-windows-virtual-desktop-wvd","Firewall Considerations - Windows Virtual Desktop (WVD)","Firewall and perimeter security considerations for Azure Virtual Desktop, comparing Azure Firewall and third-party appliances and highlighting the current required outbound endpoints.","2020-05-11",[9],[3647,3648,3649,3498,3483,3650],"azure-firewall","firewall-for-wvd","virtual-desktop","wvd-firewall","\u002Fimages\u002Fblog\u002Fai\u002Ffirewall-considerations-windows-virtual-desktop-wvd.webp",{"_path":3653,"title":3654,"description":3655,"date":3656,"categories":3657,"tags":3658,"image":3662},"\u002Fblog\u002Ftroubleshooting-performance-issues-in-windows-virtual-desktop-cdrn","Troubleshooting Azure Virtual Desktop Performance with the CDRN Method","A remastered Azure Virtual Desktop performance troubleshooting guide that uses the CDRN method across CPU, Disk, RAM, and Network, with current Azure Virtual Desktop Insights guidance.","2020-03-26",[9,2138],[2143,3659,3660,3244,3661],"performance","troubleshooting","host-pools","\u002Fimages\u002Fblog\u002F2025-2026\u002Ftroubleshooting-performance-issues-in-windows-virtual-desktop-cdrn-hero.svg",{"_path":3664,"title":3665,"description":3666,"date":3667,"categories":3668,"tags":3669,"image":3673},"\u002Fblog\u002Fmaximizing-the-use-of-mobile-data-when-working-from-home-and-avoiding-excessive-data-plan-overage-charges","Maximizing the use of Mobile Data when working from home and avoid excessive data plan overage charges.","Managing RDP Bandwidth and mobile data usage.","2020-03-25",[8,9],[3670,3671,3672],"home-working","mobile-data","remote-desktop-services","\u002Fimages\u002Fblog\u002Fai\u002Fmaximizing-the-use-of-mobile-data-when-working-from-home-and-avoiding-excessive-data-plan-overage-charges.webp",{"_path":3675,"title":3676,"description":3677,"date":3678,"categories":3679,"tags":3680,"image":3685},"\u002Fblog\u002Fquick-simple-remote-access-solution-using-ms-rd-gateway-12-16-19-versions-ready-to-use-within-the-hour","Quick and Simple Remote Access Solution using MS RD Gateway 12 \u002F 16 \u002F 19 versions  - ready to use within the hour","Simple RDP Solution","2020-03-23",[9],[3681,3682,3683,3684],"rd-gateway","rdp-vpn","remote-access","ssl-vpn","\u002Fimages\u002Fblog\u002Fai\u002Fquick-simple-remote-access-solution-using-ms-rd-gateway-12-16-19-versions-ready-to-use-within-the-hour.webp",{"_path":3687,"title":3688,"description":3689,"date":3690,"categories":3691,"tags":3692,"image":3696},"\u002Fblog\u002Fwvd-reverse-connect-the-fish-tank-analogy","AVD Reverse Connect - The Fish Tank Analogy","The concept of secure browser isolation and Hardware\\OS isolation has been raised a few times in relation to Windows Virtual Desktop (AVD). I thought it would be prudent to delve into a bit of detail on the security possibilities and to mention an analogy I came up with to assist with explaining how Reverse Connect works...","2020-01-24",[9],[2974,3693,3694,3498,3483,3695],"remote-desktop-gateway","secure-isolation","AVD","\u002Fimages\u002Fblog\u002Freverse-connect-the-fish-tank-analogy.png",{"_path":3698,"title":3699,"description":3700,"date":3701,"categories":3702,"tags":3703,"image":3706},"\u002Fblog\u002Funderstanding-load-balancing-windows-virtual-desktop-wvd","Understanding Azure Virtual Desktop Load Balancing and Scaling Plans","A remastered guide to Azure Virtual Desktop load balancing, explaining when to use breadth-first, depth-first, and scaling plans in modern pooled host pools.","2020-01-02",[9,2138],[2143,3498,3704,3705,3661],"load-balancing","scaling-plans","\u002Fimages\u002Fblog\u002F2025-2026\u002Funderstanding-load-balancing-windows-virtual-desktop-wvd-hero.svg",{"_path":3708,"title":3709,"description":3710,"date":3711,"categories":3712,"tags":3713,"image":3718},"\u002Fblog\u002Fparallels-ras-v17-1-provisioning-virtual-desktops-in-microsoft-azure","Parallels RAS V17.1 - Provisioning Virtual Desktops in Microsoft Azure","Walkthrough of the new Azure Cloud Connector in Parallels RAS 17.1, showing how to provision virtual desktops and RD Session Hosts in Microsoft Azure from the RAS console, with use cases for GPU workloads and hybrid migration.","2019-12-10",[8,9,3465],[2974,3714,3715,3716,3717],"paralllels-ras","pras","pras7-1","ras","\u002Fimages\u002Fblog\u002Fai\u002Fparallels-ras-v17-1-provisioning-virtual-desktops-in-microsoft-azure.webp",{"_path":3720,"title":3721,"description":3722,"date":3723,"categories":3724,"tags":3725,"image":3728},"\u002Fblog\u002Fwindows-virtual-desktop-gpu-setup-and-testing","Azure Virtual Desktop GPU Session Hosts: Setup, Policy, and Testing","A remastered guide to choosing, enabling, and validating GPU acceleration on Azure Virtual Desktop session hosts with current VM, driver, and RDP graphics guidance.","2019-11-21",[9,2138],[2143,3616,3726,3727,3659],"graphics","session-hosts","\u002Fimages\u002Fblog\u002F2025-2026\u002Fwindows-virtual-desktop-gpu-setup-and-testing-hero.svg",{"_path":3730,"title":3731,"description":3732,"date":3733,"categories":3734,"tags":3735,"image":3737},"\u002Fblog\u002Fdelegated-access-windows-virtual-desktop","Delegated Access - Windows Virtual Desktop","Historical look at delegated access in the original Windows Virtual Desktop release, with notes on the current Azure Virtual Desktop RBAC model.","2019-11-14",[9],[2974,3498,3483,3736],"wvd-management","\u002Fimages\u002Fblog\u002Fai\u002Fdelegated-access-windows-virtual-desktop.webp",{"_path":3739,"title":3740,"description":3741,"date":3733,"categories":3742,"tags":3743,"image":3747},"\u002Fblog\u002Fwindows-virtual-desktop-configuring-the-rdp-feed","Windows Virtual Desktop - Configuring the RDP Feed","Historical walkthrough for configuring the original Windows Virtual Desktop feed, with notes on the current Azure Virtual Desktop client approach.",[9],[2974,3744,3745,3498,3483,3746],"rdp","rdp-feed","wvd-azure","\u002Fimages\u002Fblog\u002Frdp-feed.png",{"_path":3749,"title":3750,"description":3751,"date":3752,"categories":3753,"tags":3754,"image":3759},"\u002Fblog\u002Fa-deep-dive-in-to-windows-virtual-desktop-reverse-connect","A Deep Dive In to Windows Virtual Desktop - Reverse Connect","Historical deep dive into reverse connect in the original Windows Virtual Desktop release, updated with the current Azure Virtual Desktop transport story.","2019-11-09",[9],[3755,3756,3681,3757,3758,3498,3483],"azure-windows-virtual-desktop","azure-wvd","rds","reverse-connect","\u002Fimages\u002Fblog\u002Fai\u002Fa-deep-dive-in-to-windows-virtual-desktop-reverse-connect.webp",{"_path":3761,"title":3762,"description":3763,"date":3764,"categories":3765,"tags":3766,"image":3768},"\u002Fblog\u002Fgetting-started-with-windows-virtual-desktop-wvd-in-azure","Getting Started with Windows Virtual Desktop in Azure, Then and Now","A remastered version of the original 2019 Windows Virtual Desktop getting-started guide, updated to explain the modern Azure Virtual Desktop deployment model.","2019-10-29",[9,2138],[2143,3498,3483,2138,3244,3767],"windows-app","\u002Fimages\u002Fblog\u002Fai\u002Fgetting-started-with-windows-virtual-desktop-wvd-in-azure.webp",{"_path":3770,"title":3771,"description":3772,"date":3773,"categories":3774,"tags":3776,"image":3778},"\u002Fblog\u002Fnetwork-prerequisites-for-deploying-kemps-vlm-on-vmware-vsphere-6-7","Network Prerequisites for deploying KEMP’s VLM on VMware vSphere 6.7","Network prerequisites for deploying a Kemp Virtual LoadMaster on VMware vSphere 6.7, covering dedicated load balancer port groups, forged transmits, suppressing RARP notifications, and pinning a static MAC to avoid licensing issues.","2018-10-22",[3775,3397],"kemp-tech",[3777],"vmware-esx","\u002Fimages\u002Fblog\u002Fai\u002Fnetwork-prerequisites-for-deploying-kemps-vlm-on-vmware-vsphere-6-7.webp",{"_path":3780,"title":3781,"description":3782,"date":3783,"categories":3784,"tags":3788,"image":3794},"\u002Fblog\u002Fconfiguring-active-directory-for-rds-2012-vdi-collection","Configuring Active Directory for RDS 2012 VDI Collection","Configuring Active Directory for RDS","2016-02-22",[3785,9,3786,3465,3787],"hyper-v","rds-2012","windows-server-2012",[3789,3672,3790,3791,3792,3793],"active-directory","remote-desktop-services-2012","vdi","vdi-configuration","vdi-setup","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-active-directory-for-rds-2012-vdi-collection.webp",{"_path":3796,"title":3797,"description":3798,"date":3799,"categories":3800,"tags":3802,"image":3806},"\u002Fblog\u002Fthe-battle-of-renaming-the-rds-server-10-steps-of-troubleshooting","The Battle of Renaming the RDS Server - 10 Steps of Troubleshooting","I have received a number of messages regarding what to do when you want to change the name of a RDS server. In particular the Connection Broker as it...","2016-02-21",[9,3786,3801,3465],"sql",[3803,3804,3805],"rd-connection-broker","server-2012","server-2012-r2","\u002Fimages\u002Fblog\u002Fai\u002Fthe-battle-of-renaming-the-rds-server-10-steps-of-troubleshooting.webp",{"_path":3808,"title":3809,"description":3810,"date":3811,"categories":3812,"tags":3813,"image":3816},"\u002Fblog\u002Fthe-difference-between-application-virtualisation-layering","The Difference between Application Virtualisation and Layering","Explanation of how application layering with VHD or VMDK virtual disks differs from container-based application virtualisation, with notes on update versioning, hypervisor formats and the practical trade-offs for VDI and RDS estates.","2016-02-19",[3785,9,3786,3465,3397],[3495,3814,3815,3791],"layering","unidesk","\u002Fimages\u002Fblog\u002Fai\u002Fthe-difference-between-application-virtualisation-layering.webp",{"_path":3818,"title":3819,"description":3820,"date":3821,"categories":3822,"tags":3823,"image":3828},"\u002Fblog\u002Fvsphere-integrated-containers-and-photon-platform-vmworld-2015","vSphere Integrated Containers and Photon Platform - VMworld 2015","vSphere Integrated Containers and the new Photon Platform","2015-10-13",[3465,3397],[3824,3825,3826,3827],"photon","vmworld","vmworld-europe","vsphere-integrated-containers","\u002Fimages\u002Fblog\u002Fimg_0088-e1444732670888.png",{"_path":3830,"title":3831,"description":3832,"date":3833,"categories":3834,"tags":3835,"image":3839},"\u002Fblog\u002Fdeploying-rds-2012-r2-on-a-domain-controller-the-walk-through-guide","Deploying RDS 2012 R2 On a Domain Controller - the Walk through Guide","This blog post will show you how to deploy RDS on a Domain Controller, I have received a lot of messages over the past months on this saying that it's not...","2015-02-22",[3786],[3836,3837,3757,3838],"deploy-rds","domain-controller","rds-2012-r2","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-rds-2012-r2-on-a-domain-controller-the-walk-through-guide.webp",{"_path":3841,"title":3842,"description":3843,"date":3844,"categories":3845,"tags":3846,"image":3851},"\u002Fblog\u002Fnetwork-issues-on-centos-after-cloning-vmware-guest","Network issues on Centos After Cloning VMware guest","blog to show how to address Network issues on Centos After Cloning VMware guest","2015-01-28",[3465,3397],[3847,3848,3849,3850],"centos","clone","network-card","virtual-network","\u002Fimages\u002Fblog\u002Fai\u002Fnetwork-issues-on-centos-after-cloning-vmware-guest.webp",{"_path":3853,"title":3854,"description":3855,"date":3856,"categories":3857,"tags":3858,"image":3864},"\u002Fblog\u002Fa-more-detailed-view-of-a-virtual-machine-snapshot-removal-vmware","A more detailed view of a Virtual Machine Snapshot Removal - VMware","VMware snapshot removal","2014-12-18",[9,3465,3397],[3394,3859,3860,3861,3862,3863],"shell","snapshot","snapshots","troubleshooting-issues","vim-cmd","\u002Fimages\u002Fblog\u002Fai\u002Fa-more-detailed-view-of-a-virtual-machine-snapshot-removal-vmware.webp",{"_path":3866,"title":3867,"description":3868,"date":3869,"categories":3870,"tags":3871,"image":3878},"\u002Fblog\u002Fload-balance-rds-2012-r2-rd-gateway-and-rdweb-roles-configured-on-the-same-server","Load Balance RDS 2012 R2 - RD Gateway and RDWEB Roles configured on the same Server","This post will show you how to configure both RDWEB and Gateway roles on a KEMP Load Master.","2014-10-21",[3775,9,3786,3465],[3872,3873,3874,3875,3876,3877],"kemp","kemp-load-balancers","kemp-technologies","rdgateway","rds2012","rdweb","\u002Fimages\u002Fblog\u002Fai\u002Fload-balance-rds-2012-r2-rd-gateway-and-rdweb-roles-configured-on-the-same-server.webp",{"_path":3880,"title":3881,"description":3882,"date":3883,"categories":3884,"tags":3885,"image":3887},"\u002Fblog\u002Fvmware-evo-rail-challange-my-experience","VMware EVO RAIL Challange - My Experience","Hands-on report of taking the VMware EVO:RAIL challenge and deploying four hyper-converged nodes in under 20 minutes, with the 2U appliance hardware specs, the bundled vSphere, vCenter, Virtual SAN and Log Insight stack and typical VDI capacity.","2014-10-15",[9],[3397,3886],"vmware-vsphere","\u002Fimages\u002Fblog\u002Fvmw-logo-evo-rail-108.png",{"_path":3889,"title":3890,"description":3891,"date":3892,"categories":3893,"tags":3894,"image":3896},"\u002Fblog\u002Fvrealize-log-insight-2-5-internal-load-balancer-can-you-still-use-a-third-party-solution","vRealize Log Insight 2.5 Internal Load Balancer - Can you still use a third Party Solution","VMware announced the release of vRealize Log Insight 2.5 today","2014-10-14",[3775,3397],[3872,3873,3895],"log-insight","\u002Fimages\u002Fblog\u002Fintroducing-vmware-vrealize-suite-purpose-built-for-the-hybrid-cloud-1-638.jpg",{"_path":3898,"title":3899,"description":3900,"date":3901,"categories":3902,"tags":3903,"image":3904},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-4-forward-log-events-to-log-insight-using-esxcli","Load Balancing VMware Log Insight With KEMP's LoadMaster Part 4 - Forward Log Events to Log Insight Using ESXCLI","Part 4 of the Kemp LoadMaster and VMware Log Insight series, forwarding ESXi 5.5 syslog events to the Log Insight cluster via the LoadMaster UDP virtual service using esxcli, including the firewall ruleset and syslog reload commands needed for the change to take effect.","2014-10-11",[3465,3397],[3872,3777,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-4-forward-log-events-to-log-insight-using-esxcli.webp",{"_path":3906,"title":3907,"description":3908,"date":3901,"categories":3909,"tags":3910,"image":3911},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-5-forward-log-events-to-log-insight-vsphere-client","Load Balancing VMware Log Insight With KEMP's LoadMaster Part 5 - Forward Log Events to Log Insight vSphere Client","Part 5 of the Kemp LoadMaster and VMware Log Insight series, configuring an ESXi host to forward syslogs to Log Insight from the vSphere Client by setting Syslog.global.logHost to the Kemp UDP virtual service and enabling the outbound syslog firewall rule.",[3465,3397],[3873,3874,3895,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-5-forward-log-events-to-log-insight-vsphere-client.webp",{"_path":3913,"title":3914,"description":3915,"date":3901,"categories":3916,"tags":3917,"image":3918},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-6-forward-log-events-using-vsphere-intergation","Load Balancing VMware Log Insight With KEMP’s LoadMaster Part 6 – Forward Log Events Using vSphere Integration","Final part of the Kemp LoadMaster and VMware Log Insight series, using the built-in vSphere integration on the Log Insight master node to authenticate against vCenter and forward vCenter events through the Kemp virtual service to the Log Insight cluster.",[3465,3397],[3872,3873,3874,3895,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-6-forward-log-events-using-vsphere-intergation.webp",{"_path":3920,"title":3921,"description":3922,"date":3923,"categories":3924,"tags":3925,"image":3926},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-1-deploying-the-master-node","Load Balancing VMware Log Insight With KEMP's LoadMaster Part 1- Deploying the Master Node.","Part 1 of the Kemp LoadMaster and VMware Log Insight series, covering the deployment of the Log Insight 2.0 master node from the OVF appliance, initial IP configuration, and an overview of the scale-out architecture for syslog ingestion over UDP, TCP, TCP\u002FSSL and API.","2014-10-10",[3465,3397],[3873,3874,3895,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-1-deploying-the-master-node.webp",{"_path":3928,"title":3929,"description":3930,"date":3923,"categories":3931,"tags":3932,"image":3933},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-2-deploying-the-worker-nodes","Load Balancing VMware Log Insight With KEMP's LoadMaster Part 2 - Deploying the Worker Nodes","Part 2 of the Kemp LoadMaster and VMware Log Insight series, walking through adding worker nodes to an existing Log Insight master to form a cluster for linear ingestion scaling, faster queries, and high availability across the appliances.",[3465,3397],[3777,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-2-deploying-the-worker-nodes.webp",{"_path":3935,"title":3936,"description":3937,"date":3923,"categories":3938,"tags":3939,"image":3940},"\u002Fblog\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-3-load-balancing-log-insight-with-kemp","Load Balancing VMware Log Insight With KEMP's LoadMaster Part 3 - Load Balancing Log Insight with KEMP","Part 3 of the Kemp LoadMaster and VMware Log Insight series, covering installation of the Log Insight add-on pack and templates on the LoadMaster, plus configuration of the message split interval to distribute syslog connections evenly across the master and worker nodes.",[3775,3397],[3872,3873,3874,3895,3777,3886],"\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-vmware-log-insight-with-kemps-loadmaster-part-3-load-balancing-log-insight-with-kemp.webp",{"_path":3942,"title":3943,"description":3944,"image":3945,"date":3946,"categories":3947,"tags":3948},"\u002Fblog\u002Fdeploying-rds-2012-wild-card-certificate-using-powershell","Deploying an RDS 2012 Wildcard Certificate with PowerShell","Apply a single wildcard PFX certificate to every Remote Desktop Services 2012 role (RD Publishing, RD Web Access, RD Connection Broker \u002F Redirector, and RD Gateway) from one PowerShell script. Run on the Connection Broker, point it at the PFX, supply the password as a SecureString, and the script idempotently rolls the certificate to all selected roles.","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-rds-2012-wild-card-certificate-using-powershell.webp","2014-06-17",[9,3786],[3757,3949,3672,19,3950,3951,3952],"rds-roles","wildcard-certificate","set-rdcertificate","pfx",{"_path":3954,"title":3955,"description":3956,"image":3957,"date":3946,"categories":3958,"tags":3959},"\u002Fblog\u002Frds-2012-security-hardening-guide","RDS 2012 Security Hardening Guide","I recently came across the server 2012 Secuity guide apart of the \"Secuirty Compliance Manager\" which covers the Secuity Hardening of RDS 2012.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-security-hardening-guide.webp",[9,3786,3787],[3960,3961,3757,3962,3790,3963,3804],"compliance-manager","microsoft-security-compliance-manager","rds-security","security-compliance-manager",{"_path":3965,"title":3966,"description":3967,"image":3968,"date":3969,"categories":3970,"tags":3971},"\u002Fblog\u002Fupgrading-vmware-tools-in-batch-using-powercli","Upgrading VMware Tools in Batch using PowerCLI","PowerCLI script that reads a CSV of virtual machine names and runs Update-Tools with NoReboot against a target vCenter cluster, then emails a report of upgraded VMs once the batch VMware Tools update is complete.","\u002Fimages\u002Fblog\u002Fai\u002Fupgrading-vmware-tools-in-batch-using-powercli.webp","2014-06-04",[3465,3397],[3972,3973,3974,3975],"powercli","upgrade-vmware-tools","virtual-environment","vmware-tools",{"_path":3977,"title":3978,"description":3979,"image":3980,"date":3981,"categories":3982,"tags":3983},"\u002Fblog\u002Fperformance-tuning-for-remote-desktop-services-2012-r2","Performance Tuning for Remote Desktop Services 2012 R2","Microsoft produced \"Performance Tuning Guidelines for Windows Server 2012 in April 12 2013 which contains information on performance tuning in RDS 2012....","\u002Fimages\u002Fblog\u002Fai\u002Fperformance-tuning-for-remote-desktop-services-2012-r2.webp","2014-05-29",[9,3786,3787],[3984,3744,3757,3876,3985,3790],"performance-tuning","remote-desktop",{"_path":3987,"title":3988,"description":3989,"image":3990,"date":3991,"categories":3992,"tags":3993},"\u002Fblog\u002Frds-2012-rdsh-certificate-deployment-script","RDS 2012 RDSH Certificate Deployment Script","Replace the self-signed RDP listener certificate on a Windows Server 2012 \u002F 2012 R2 Remote Desktop Session Host with a trusted PFX. The script imports the PFX into the local machine store, captures the thumbprint, and binds it to the RDP-Tcp listener via the Win32_TSGeneralSetting WMI \u002F CIM class so users stop seeing certificate warnings on connect.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-rdsh-certificate-deployment-script.webp","2014-05-20",[9,3786],[3994,3757,3995,3996,3997,3998,19,3999],"pfx-certificate","rds-certificate","rds-certificate-deployment","rdsh-certificate","rdsh-rdp-certificate","wmi",{"_path":4001,"title":4002,"description":4003,"image":4004,"date":4005,"categories":4006,"tags":4007},"\u002Fblog\u002Fvmware-esxi-5-x-host-experiences-a-purple-diagnostic-screen-workarounds","VMware ESXi 5.x host experiences a purple diagnostic screen Workarounds","Workarounds for the VMware KB2059053 ESXi 5.x purple diagnostic screen caused by the E1000 virtual network adapter, including switching guests to VMXNET3, disabling Receive-Side Scaling and a PowerCLI script that lists affected VMs on a host.","\u002Fimages\u002Fblog\u002Fai\u002Fvmware-esxi-5-x-host-experiences-a-purple-diagnostic-screen-workarounds.webp","2014-04-17",[3397],[4008,3394,4009,4010,4011],"esx5-x","esxi-5-1","virtual-machines","virtual-network-adapter",{"_path":4013,"title":4014,"description":4015,"image":4016,"date":4017,"categories":4018,"tags":4019},"\u002Fblog\u002Fcreate-domain-admins-group-on-esxi5-1-host","Grant an AD Group Admin on an ESXi Host with PowerCLI","PowerCLI script that joins a standalone ESXi host to Active Directory and grants a specified AD group the built-in Admin role, so administrators can sign in to the host with domain credentials instead of root.","\u002Fimages\u002Fblog\u002Fai\u002Fcreate-domain-admins-group-on-esxi5-1-host.webp","2014-04-16",[9,3465,3397],[4020,3394,3972,3789,4021,19,4022],"domain-group","vmware-esxi","vsphere",{"_path":4024,"title":4025,"description":4026,"image":4027,"date":4028,"categories":4029,"tags":4030},"\u002Fblog\u002Fload-balancing-the-rd-connection-brokers-with-kemp","Load Balancing the RD Connection Brokers with KEMP","This post will show you how to configure the load balancing of RDS 2012 Connection brokers. For the configuration of RD Connection broker high Availability...","\u002Fimages\u002Fblog\u002Fai\u002Fload-balancing-the-rd-connection-brokers-with-kemp.webp","2014-04-10",[3775,9,3786],[4031,4032,3872,4033,4034,4035,4036,4037,4038,3757,4039,4040],"connection-broker","dns-round-robin-round-robin-dns","kemp-loadmaster","load-balancing-connection-brokers","load-balancing-rdcb-ha","network-load-balancing","rdcb","rdcbha","round-robin-dns","rrdns",{"_path":4042,"title":4043,"description":4044,"image":4045,"date":4046,"categories":4047,"tags":4048},"\u002Fblog\u002Frds-2012-r2-apps-and-sessions-using-upd-issue","RDS 2012 R2 Apps and Session's using UPD Issue","A few months ago I published an article showing readers how enable Remote Desktops and Remote Apps in the same collection. So when a user logins into RDweb...","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-r2-apps-and-sessions-using-upd-issue.webp","2014-04-09",[3786],[4049,4050,3757,3876,3877,4051,4052,4053,4054,4055,4056],"session","desktop","remote-desktops","remoteapp","remoteapps","session-host","upd","user-profile-disk",{"_path":4058,"title":4059,"description":4060,"image":4061,"date":4062,"categories":4063,"tags":4064},"\u002Fblog\u002Fcustomisation-of-rdsh-2012-start-screen","Customising the RDSH 2012 Start Screen with PowerShell","Capture a template user's Windows Server 2012 Metro Start screen layout and apply it to the default profile so every new RDSH session inherits the same pinned tiles. Includes a parameterised PowerShell function for Server 2012 and the modern Export-StartLayout \u002F Import-StartLayout equivalent for Server 2012 R2 and later.","\u002Fimages\u002Fblog\u002Fai\u002Fcustomisation-of-rdsh-2012-start-screen.webp","2014-03-27",[9,3786,3787],[4065,3876,4066,3790,4067,19,4068],"metro-menu","rdsh","start-menu","default-profile",{"_path":4070,"title":4071,"description":4072,"image":4073,"date":4074,"categories":4075,"tags":4076},"\u002Fblog\u002Fremote-connection-profiles-in-sccm-2012-r2","Remote Connection Profiles in SCCM 2012 R2","Guide to the Remote Connection Profiles feature in SCCM 2012 R2, covering the RD Gateway, Group Policy, firewall, and Windows Intune prerequisites needed to deploy remote desktop settings to user-owned and off-domain devices.","\u002Fimages\u002Fblog\u002Fai\u002Fremote-connection-profiles-in-sccm-2012-r2.webp","2014-02-26",[9,3786,3787],[3681,4077,4078,4079,3985,4080,4081,4082],"remote-connection","remote-connection-profile","remote-connection-profiles","sccm","sccm-2012","sccm-2012-r2",{"_path":4084,"title":4085,"description":4086,"image":4087,"date":4088,"categories":4089,"tags":4090},"\u002Fblog\u002Frds-2012-sql-alwayson-considerations","RDS 2012 SQL AlwaysOn Considerations","I have had a few questions on RDCB HA recently so I have provided some useful information on deployments and best practices when using SQL 2012 AlwaysOn...","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-sql-alwayson-considerations.webp","2014-02-24",[9,3786,3787],[4091,3803,4037,3757,4092,3876,3985,4093,3672,3790,3801,4094],"alwayson-availbility-group","rds12","remote-desktop-connection-broker-ha","sql-always-on-conneciton-brokers",{"_path":4096,"title":4097,"description":4098,"image":4099,"date":4100,"categories":4101,"tags":4102},"\u002Fblog\u002Fmigrating-rds-2012-to-server-2012-r2","Migrating RDS 2012 Over To Server 2012 R2","This post will show you how to Migrate RDS 2012 to Server 2012 R2 using the in place upgrade method.","\u002Fimages\u002Fblog\u002Fai\u002Fmigrating-rds-2012-to-server-2012-r2.webp","2014-01-23",[9,3786,3787],[4031,4103,4104,3744,3757,3876,4105,3672,4106],"microsoft-windows","operating-system","remote-desktop-protocol","windows-powershell",{"_path":4108,"title":4109,"description":4110,"image":4111,"date":4100,"categories":4112,"tags":4113},"\u002Fblog\u002Fshadowing-rds-2012-sessions","Shadowing RDS 2012 Sessions","Historical guide to session shadowing in Windows Server 2012 R2, covering the GUI, command-line syntax, and the policy setting that controls consent behaviour.","\u002Fimages\u002Fblog\u002Fai\u002Fshadowing-rds-2012-sessions.webp",[3786],[9,4103,3744,3757,4092,3876,3985,4114,4105,3672,3790,3804,4115,4116,3787],"remote-desktop-connection","shadowing","windows-server-2008-r2",{"_path":4118,"title":4119,"description":4120,"image":4121,"date":4122,"categories":4123,"tags":4124},"\u002Fblog\u002Fdeciding-on-how-many-vcpus-should-a-virtual-machine-be-allocated","Deciding On How Many vCPU's Should A Virtual Machine Be Allocated ?","how to correctly size Virtual Machines compute resource.","\u002Fimages\u002Fblog\u002Fai\u002Fdeciding-on-how-many-vcpus-should-a-virtual-machine-be-allocated.webp","2014-01-18",[3397],[4125,4126,4127,4128,4129,4130,4010,4131,4132,4133],"cpu","cpu-scheduling","pcpu","recommended-number-of-cpus","vcpu","virtual-machine","vmware-cpu-allocation","vmware-cpu-scheduling","vmwares-cpu-scheduler",{"_path":4135,"title":4136,"description":4137,"image":4138,"date":4139,"categories":4140,"tags":4141},"\u002Fblog\u002Ffailover-cluster-crashes-2012-a-weak-event-was-created-and-it-lives-on-the-wrong-object","Failover Cluster Crashes 2012 - A weak event was created and it lives on the wrong object","Diagnosis and fix for the recurring Windows Server 2012 failover cluster error \"A weak event was created and it lives on the wrong object\", with a reference to the Microsoft Knowledge Base hotfix that resolves the cluster crash.","\u002Fimages\u002Fblog\u002Fai\u002Ffailover-cluster-crashes-2012-a-weak-event-was-created-and-it-lives-on-the-wrong-object.webp","2014-01-16",[9,3787],[4142,4143,4144,4145,4146,4147],"failover","failover-cluster","server","server-2012-fail-over-cluster","server2012","sever-2012",{"_path":4149,"title":4150,"description":4151,"image":4152,"date":4153,"categories":4154,"tags":4155},"\u002Fblog\u002Frds-2012-licencing-server-users-cannot-connect-when-licencing-is-applied","RDS 2012 Licencing Server - Users cannot connect when licencing is applied","I have recently come across an issue where users cannot connect to a Session Host due to a licensing issue.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-licencing-server-users-cannot-connect-when-licencing-is-applied.webp","2014-01-14",[9,3786],[4156,4157,4158,3757,4159,4160,3876,3790,4054],"licence-type","licencing","rd-licencing-diagnoser","rds-licensing","rds-session-host",{"_path":4162,"title":4163,"description":4164,"image":4165,"date":4166,"categories":4167,"tags":4168},"\u002Fblog\u002Fdeploying-a-rdsh-2008-r2-server-to-a-rds-2012-r2-environment","Deploying A RDSH 2008 R2 Server to a RDS 2012 R2 Environment","Deploy RDS Session hosts (2008) in a RDS 2012 Environment","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-a-rdsh-2008-r2-server-to-a-rds-2012-r2-environment.webp","2014-01-05",[9,3786],[3757,4092,3876,4066,3985,4169,4105,3672,4170],"remote-desktop-2012","remote-desktop-session",{"_path":4172,"title":4173,"description":4174,"image":4175,"date":4166,"categories":4176,"tags":4177},"\u002Fblog\u002Fenable-disk-counter-in-task-manager-server-2012","Enable Disk Counter in Task Manager - Server 2012","enable Task Manager's Disk Counter","\u002Fimages\u002Fblog\u002Fai\u002Fenable-disk-counter-in-task-manager-server-2012.webp",[9,3787],[4178,4179,4180,4181,4182,3805,4147,4183],"2012","default-disk","disk-performance","diskperf","performance-implications","task-manager",{"_path":4185,"title":4186,"description":4187,"image":4188,"date":4166,"categories":4189,"tags":4190},"\u002Fblog\u002Fpublish-rds-2008r2-desktop-on-rds-2012","Publish RDS 2008R2 Desktop on RDS 2012","This post will show you how to publish a 2008 R2 Remote Desktop Session in Remote Desktop Services 2012 (R2).","\u002Fimages\u002Fblog\u002Fai\u002Fpublish-rds-2008r2-desktop-on-rds-2012.webp",[9,3786],[4191,4192,3757,4092,4193,3985,4114,3672,3790,4170],"desktop-session","rd-session-host-server-tab","rds2008-r2",{"_path":4195,"title":4196,"description":4197,"image":4198,"date":4199,"categories":4200,"tags":4201},"\u002Fblog\u002Fpublish-remote-desktop-session-in-a-remote-app-session-collection","Publish Remote Desktop Session in a Remote App Session Collection","Remote Desktop Services 2012 allows you to publish two types of Session collection on a Remote Desktop Session Host. This can be either a Remote Desktop...","\u002Fimages\u002Fblog\u002Fai\u002Fpublish-remote-desktop-session-in-a-remote-app-session-collection.webp","2014-01-04",[9,3786],[4202,4092,4203,3985,3672,3790,4170,4204,4054],"app-session","remote-app","session-collection",{"_path":4206,"title":4207,"description":4208,"image":4209,"date":4210,"categories":4211,"tags":4214},"\u002Fblog\u002Funable-to-connect-to-mss-management-pack-catalog-scom2012r2","Unable to connect to MS's Management Pack Catalog SCOM2012R2","insights into Unable to connect to MS's Management Pack Catalog ","\u002Fimages\u002Fblog\u002Fai\u002Funable-to-connect-to-mss-management-pack-catalog-scom2012r2.webp","2014-01-02",[4212,4213,3787],"scom","system-center-2012",[4215,9,4216,4217,4218,4219,4220,4221],"mangement-pack","microsoft-servers","microsoft-system-center","microsoft-system-center-2012","operations-manager","proxy","scom-2012",{"_path":4223,"title":4224,"description":4225,"image":4226,"date":4227,"categories":4228,"tags":4229},"\u002Fblog\u002Fvmware-image-customization-is-in-progress-on-vm-reboot-server-2012","VMware image customization is in progress on VM Reboot Server 2012","post on the topic VMware image customization is in progress on VM Reboot Server 2012","\u002Fimages\u002Fblog\u002Fai\u002Fvmware-image-customization-is-in-progress-on-vm-reboot-server-2012.webp","2013-12-23",[9,3465,3397],[4130,3777,4230,3886],"vmware-player",{"_path":4232,"title":4233,"description":4234,"image":4235,"date":4236,"categories":4237,"tags":4238},"\u002Fblog\u002Frds-2012-remote-desktop-services-diagnosis-tool","RDS 2012 -  Remote Desktop Services Diagnosis Tool","Microsoft have released a Remote Desktop Services Diagnosis tool to assist with the troubleshooting of issues with RDS configurations.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-remote-desktop-services-diagnosis-tool.webp","2013-11-01",[9,3786],[4103,3757,4105,3672,4239,4240,4241,3787],"remote-desktop-services-diagnostic-tool","technical-support","windows-server-2008",{"_path":4243,"title":4244,"description":4245,"image":4246,"date":4247,"categories":4248,"tags":4249},"\u002Fblog\u002Fremotefx-h-264-codec-improvements-in-windows-8-1-and-windows-server-2012-r2","RemoteFX H.264 Codec Improvements in Windows 8.1 and Windows Server 2012 R2","Summary of the RemoteFX AVC\u002FH.264 codec improvements introduced with RDP 8.1 in Windows 8.1 and Windows Server 2012 R2, including the extended use of hardware decoders to deliver a better remoting experience on resource-constrained clients.","\u002Fimages\u002Fblog\u002Fai\u002Fremotefx-h-264-codec-improvements-in-windows-8-1-and-windows-server-2012-r2.webp","2013-10-31",[9],[3757,3786,3672],{"_path":4251,"title":4252,"description":4253,"image":4254,"date":4255,"categories":4256,"tags":4257},"\u002Fblog\u002Fdeploy-vdi-pools-faster-in-server-2012-r2","Deploy VDI Pools Faster in Server 2012 R2","Accelerate VDI Pool deployment times in Remote Desktop Services","\u002Fimages\u002Fblog\u002Fai\u002Fdeploy-vdi-pools-faster-in-server-2012-r2.webp","2013-10-30",[3786],[4258,3785,9,4103,4259,3757,3672,4106,3787],"data-deduplication","powershell-command",{"_path":4261,"title":4262,"description":4263,"image":4264,"date":4255,"categories":4265,"tags":4266},"\u002Fblog\u002Fdeploying-a-rdsh-server-in-a-workgroup-rds-2012-r2","Deploying a RDSH Server in a Workgroup - RDS 2012 R2","RDS in a workgroup, not on a domain","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-a-rdsh-server-in-a-workgroup-rds-2012-r2.webp",[9,3786,3787],[4267,4268,4103,4066,3985,3672,3805,4269,4270,4271,4272,4106],"fully-qualified-domain-name","group-policy","servers","user-computing","windows-domain","windows-management-instrumentation",{"_path":4274,"title":4275,"description":4276,"image":4277,"date":4278,"categories":4279,"tags":4280},"\u002Fblog\u002Frds-2012-changing-the-connection-broker-dns-alias","RDS 2012 - Changing the Connection Broker DNS Alias","I have had a few questions recently around changing the Connection Broker DNS name (alias).","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-changing-the-connection-broker-dns-alias.webp","2013-10-17",[9,3786],[4031,4281,4037,3744,3757,3876,3672,3790],"dns",{"_path":4283,"title":4284,"description":4285,"image":4286,"date":4287,"categories":4288,"tags":4289},"\u002Fblog\u002Frdsh-install-mode-for-adding-applications","RDSH Install Mode for adding Applications","When installing applications on RDSH servers you need to make sure that you are in the appropriate mode to ensure that the server captures all the bits...","\u002Fimages\u002Fblog\u002Fai\u002Frdsh-install-mode-for-adding-applications.webp","2013-10-15",[3786,3465,3787],[4290,4291,4066],"application-installation-mode","applications",{"_path":4293,"title":4294,"description":4295,"image":4296,"date":4297,"categories":4298,"tags":4299},"\u002Fblog\u002Fmicrosoft-publish-windows-desktop-hosting-reference","Microsoft Publish Windows Desktop Hosting Reference","Notes on the Microsoft reference architecture for Windows Azure desktop hosting on Server 2012, covering the SPLA-eligible building blocks hosting providers can use to deliver multitenant Windows desktops and applications to up to 1,500 users.","\u002Fimages\u002Fblog\u002Fai\u002Fmicrosoft-publish-windows-desktop-hosting-reference.webp","2013-09-27",[3785,9,3786,3787],[4103,3672,20,4300,4301,4302],"windows-7","windows-8","windows-azure",{"_path":4304,"title":4305,"description":4306,"image":4307,"date":4308,"categories":4309,"tags":4310},"\u002Fblog\u002Fupgrading-esxi5-1-to-5-5-the-shell-way","Upgrading ESXI 5.1 to 5.5 - The Shell Way","Shell-based upgrade from VMware ESXi 5.1 to 5.5 using esxcli software profile update against the VMware online depot, with the httpClient firewall ruleset, SAN disconnect precaution and esxupdate log tailing for progress.","\u002Fimages\u002Fblog\u002Fai\u002Fupgrading-esxi5-1-to-5-5-the-shell-way.webp","2013-09-25",[9,3465,3397],[3340,3859,4311,4130,3777,3886],"upgrade",{"_path":4313,"title":4314,"description":4315,"image":4316,"date":4317,"categories":4318,"tags":4319},"\u002Fblog\u002Fbest-practices-for-deploying-kemps-vlm-on-vmware-esx","Best Practices for Deploying KEMP's VLM on VMware ESX","best practice guidence for deploying KEMP's VLM on VMware ESX.","\u002Fimages\u002Fblog\u002Fai\u002Fbest-practices-for-deploying-kemps-vlm-on-vmware-esx.webp","2013-09-23",[3775,9,3465,3397],[4320,4321,4322,3872,3873,3874,4323,3704,4036,4324,4325,4326,4130,4327,4328,3975,4329],"domain-name-system","http-secure","ip-address","load-balancer","port-group","production-lb","software","virtual-service","vmkernel","vswitch",{"_path":4331,"title":4332,"description":4333,"image":4334,"date":4335,"categories":4336,"tags":4338},"\u002Fblog\u002Fload-balance-afds-and-adfs-proxy-in-windows-azure-with-kemp","Load Balance AFDS and ADFS Proxy in Windows Azure with KEMP","Load balance an Office 365 ADFS and ADFS Proxy farm running in Windows Azure using two Kemp Azure Virtual LoadMasters, covering site-to-site VPN topology, DirSync, split-brain DNS, certificate import and the virtual service configuration for both internal and public-facing tiers.","\u002Fimages\u002Fblog\u002Fai\u002Fload-balance-afds-and-adfs-proxy-in-windows-azure-with-kemp.webp","2013-09-18",[3775,4337,3465,3787],"office-365",[3789,4339,4340,4341,4342,4320,4343,4344,4322,3872,3704,4345,4346,4347,4302],"adfs","afds","afds-proxy","dirsync","federated-services","hypertext-transfer-protocol","microsoft-office-365","on-premise","proxy-server",{"_path":4349,"title":4350,"description":4351,"image":4352,"date":4353,"categories":4354,"tags":4355},"\u002Fblog\u002Fload-balance-rds2012-rdwa-and-rdgw-using-sub-interfaces-on-kemps-loadmaster","Load Balance RDS2012 RDWA and RDGW Using Sub Interfaces on KEMP's LoadMaster","For all those who have separate Remote Desktop Web Farms and Gateway Farms, why not use KEMP's LoadMaster to load balance\") both services over a single...","\u002Fimages\u002Fblog\u002Fai\u002Fload-balance-rds2012-rdwa-and-rdgw-using-sub-interfaces-on-kemps-loadmaster.webp","2013-09-05",[3775,9,3786],[4321,4344,4356,3872,3874,3704,4357,3790,4144,4358,4327,4359],"internet-protocol","loadmaster","transport-layer-security","web-service",{"_path":4361,"title":4362,"description":4363,"image":4364,"date":4365,"categories":4366,"tags":4367},"\u002Fblog\u002Fredirect-rds-2012-web-http-traffic-to-https-using-kemps-loadmaster","Redirect RDS 2012 Web HTTP Traffic to HTTPS using KEMP's LoadMaster","Just a quick post to show you how to redirect HTTP (port 80) traffic to HTTPS (port 443) when load balancing RDS 2012 RDWEB.","\u002Fimages\u002Fblog\u002Fai\u002Fredirect-rds-2012-web-http-traffic-to-https-using-kemps-loadmaster.webp","2013-09-04",[3775,9,3786],[4368,4321,4344,3872,3704,4369,3790,4370,4371],"http","proxying-and-filtering","web-portal","website",{"_path":4373,"title":4374,"description":4375,"image":4376,"date":4377,"categories":4378,"tags":4380},"\u002Fblog\u002Fhints-and-tips-for-configuring-kemp-esp-on-ms-exchange-2010","Hints and Tips for configuring KEMP ESP on MS Exchange 2010","Tips for configuring KEMP ESP on MS Exchange 2010","\u002Fimages\u002Fblog\u002Fai\u002Fhints-and-tips-for-configuring-kemp-esp-on-ms-exchange-2010.webp","2013-09-03",[4379,3775,9],"exchange-2010",[4381,4382,4383,4321,3872,3874,4384,4385,4386,4387,4388,4389,4358,4327,4106],"activesync","documentation-templates","email","microsoft-exchange","microsoft-exchange-server","microsoft-outlook","microsoft-server","outlook-web-app","server-authentication",{"_path":4391,"title":4392,"description":4393,"image":4394,"date":4395,"categories":4396,"tags":4397},"\u002Fblog\u002Fload-balance-a-sharepoint-2013-farm-in-azure-using-kemp","Load Balance a SharePoint 2013 Farm in Azure using KEMP","Load balance a three-tier SharePoint 2013 farm in Windows Azure with the Kemp Virtual LoadMaster, covering cloud service placement, web server endpoint configuration, the new virtual service on port 80, and the layer 7 transparency setting that breaks pass-through authentication.","\u002Fimages\u002Fblog\u002Fai\u002Fload-balance-a-sharepoint-2013-farm-in-azure-using-kemp.webp","2013-08-27",[3775,9],[4398,2974,4399,4400,4320,4344,4322,3872,3704,4401,4402,4403,4404,4405,4406,4407,4408,4302],"application-server","cloud-computing","deployment-guide","load-balancing-solution","microsoft-sharepoint","microsoft-sql-server","sharepoint","sharepoint-2013","sharepoint-server","toyota","web-server",{"_path":4410,"title":4411,"description":4412,"image":4413,"date":4414,"categories":4415,"tags":4417},"\u002Fblog\u002Fkemp-loadmaster-in-windows-azure","KEMP LoadMaster in Windows Azure","Walkthrough of deploying the Kemp Virtual LoadMaster for Windows Azure, including importing the VHD with PowerShell, creating the cloud service and endpoints, and unlocking layer 7 features such as content switching, caching and compression beyond the native round robin balancer.","\u002Fimages\u002Fblog\u002Fai\u002Fkemp-loadmaster-in-windows-azure.webp","2013-08-24",[3775,9,4416,3465],"network-storage",[2974,3785,3872,3873,3874,4418,3704,4216,4103,4036,4130,4301,4302,4419],"linux","windows-server",{"_path":4421,"title":4422,"description":4423,"image":4424,"date":4425,"categories":4426,"tags":4427},"\u002Fblog\u002Fwhats-new-in-rds-2012-r2","Whats new in RDS 2012 R2","new features coming with RDS 2012 R2.","\u002Fimages\u002Fblog\u002Frds\u002Fwhats-new-in-rds-2012-r2.jpg","2013-08-05",[9,3786],[4428,4258,4429,4430,4431,3785,4432,3672,4433,4434,4435,4436,3791,3787,4437],"clickonce","desktop-virtualization","experience-improvements","hardware-acceleration","personal-desktops","remotefx","server-message-block","storage-spaces","this-reduces-costs","windows-store",{"_path":4439,"title":4440,"description":4441,"image":4442,"date":4443,"categories":4444,"tags":4445},"\u002Fblog\u002Fconfiguring-vmware-switch-for-nlb","Configuring VMware Switch for NLB","Steps to setup a VMware switch for Network Load balancing","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-vmware-switch-for-nlb.webp","2013-07-17",[3397],[3704,4446,4447,4130,3886],"nl","nlb",{"_path":4449,"title":4450,"description":4451,"image":4452,"date":4443,"categories":4453,"tags":4454},"\u002Fblog\u002Fenable-vmware-guest-copy-and-paste","Enable VMware Guest Copy and Paste","Enable copy and paste between a VMware vSphere guest and the host by setting isolation.tools.copy.disable and isolation.tools.paste.disable to false, either through the VM configuration parameters or by editing \u002Fetc\u002Fvmware\u002Fconfig from the ESXi shell.","\u002Fimages\u002Fblog\u002Fai\u002Fenable-vmware-guest-copy-and-paste.webp",[3397],[4455,4456,4457,4458,4459,3859,4326,4460,4130,3886],"configuration-parameters","copy","copy-paste","isolation","paste","technology",{"_path":4462,"title":4463,"description":4464,"image":4465,"date":4466,"categories":4467,"tags":4468},"\u002Fblog\u002Fenabling-rdms-ui-tracing-rds-2012-for-troubleshooting","Enabling RDMS UI Tracing RDS 2012 for troubleshooting","Open regedit and create the following:","\u002Fimages\u002Fblog\u002Fai\u002Fenabling-rdms-ui-tracing-rds-2012-for-troubleshooting.webp","2013-07-07",[3786],[4469,9,4470,3757,3876,3672,4471,4460,4472,4473],"hkey-local-machine-software","open-regedit","site-management","temp-folder","windows-registry",{"_path":4475,"title":4476,"description":4477,"image":4478,"date":4466,"categories":4479,"tags":4481},"\u002Fblog\u002Frds-session-depolyment-powershell-script-for-rds-2012","RDS 2012 Session Deployment PowerShell Scripts","Automate an RDS 2012 session-based deployment end to end. Two PowerShell scripts: one for a single-server deployment that hosts RDCB, RDWA and RDSH on the same box, and one for a multi-server deployment with separate broker, web access, and session host. Each script ends by creating a session collection and publishing notepad.exe as a smoke test.","\u002Fimages\u002Fblog\u002Fai\u002Frds-session-depolyment-powershell-script-for-rds-2012.webp",[3786,9,4480],"automation",[4482,4483,4484,9,4103,4104,19,4485,3876,3985,3672,4486,4487,4269,4054,4488,4489,4106,4490,4491],"access-server","deployment-office","member-server","powershell-scripts","scripts","server-deployment","target-server","web-access","new-rdsessiondeployment","new-rdsessioncollection",{"_path":4493,"title":4494,"description":4495,"image":4496,"date":4497,"categories":4498,"tags":4499},"\u002Fblog\u002Fcreate-a-msa-group-using-powershell-server-2012","Create A MSA Group Using PowerShell - Server 2012","Some guidence on how to create a MSA group using PowerShell","\u002Fimages\u002Fblog\u002Fai\u002Fcreate-a-msa-group-using-powershell-server-2012.webp","2013-05-28",[9,3787],[4500,4403,4501,3804],"microsoft-service-account","msa",{"_path":4503,"title":4504,"description":4505,"image":4506,"date":4497,"categories":4507,"tags":4508},"\u002Fblog\u002Fusing-powershell-help","Using PowerShell Help","Quick reference for the Get-Help cmdlet with the detailed switch, showing how to surface PowerShell cmdlet syntax, parameter descriptions and worked examples directly from the console.","\u002Fimages\u002Fblog\u002Fai\u002Fusing-powershell-help.webp",[9,4213],[4509,4510,4106],"command-prompt","scripting-language",{"_path":4512,"title":4513,"description":4514,"image":4515,"date":4516,"categories":4517,"tags":4518},"\u002Fblog\u002Fcloning-a-domain-controller-server-2012-hyper-v","Cloning a Domain Controller Server 2012: Hyper-V","Steps to clone a Domain Controller.","\u002Fimages\u002Fblog\u002Fai\u002Fcloning-a-domain-controller-server-2012-hyper-v.webp","2013-05-26",[3785,9,3787],[3789,4519,3837,4320,4103,4520,4130,4521],"configuration-file","protocols","vm",{"_path":4523,"title":4524,"description":4525,"image":4526,"date":4516,"categories":4527,"tags":4528},"\u002Fblog\u002Fuseful-cmds-for-troubleshooting-iscsi-on-esxi-shell","Useful cmds for troubleshooting ISCSI on ESXI Shell","Help troubleshooting ISCSI on ESXI Shell","\u002Fimages\u002Fblog\u002Fai\u002Fuseful-cmds-for-troubleshooting-iscsi-on-esxi-shell.webp",[3397],[4529,4530,4531,4532,3777],"hardware","iscsi","logical-unit-number","usb",{"_path":4534,"title":4535,"description":4536,"image":4537,"date":4538,"categories":4539,"tags":4540},"\u002Fblog\u002Fconfiguring-esxi-host-using-shell","Networking Configuration on a ESXI Host using Shell","basic networking commands on ESXI Shell.","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-esxi-host-using-shell.webp","2013-05-25",[3397],[4541,4320,4542,4543,4544,4545,4546,4520,4547,4269,4548,4130,4521,3777],"command-line-interface","esxi-shell","ip-interface","jumbo-frames","mtu","name-server","search-domains","virtual-lan",{"_path":4550,"title":4551,"description":4552,"image":4553,"date":4538,"categories":4554,"tags":4555},"\u002Fblog\u002Fconfiguring-routing-on-esxi-shell","Configuring Routing on ESXI Shell","Configure Routing on ESXI via Shell","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-routing-on-esxi-shell.webp",[3397],[4556,4557,4130,3777,3886],"arp-table","default-gateway",{"_path":4559,"title":4560,"description":4561,"image":4562,"date":4538,"categories":4563,"tags":4564},"\u002Fblog\u002Frestarting-esxi-host-services-using-shell","Restarting ESXI host Services using Shell","Quick reference for restarting management services on a VMware ESXi host with the services.sh restart command, a useful recovery step when the vSphere client or host web console becomes unresponsive.","\u002Fimages\u002Fblog\u002Fai\u002Frestarting-esxi-host-services-using-shell.webp",[3397],[4104,4269,3859,3777,3886],{"_path":4566,"title":4567,"description":4568,"image":4569,"date":4570,"categories":4571,"tags":4572},"\u002Fblog\u002Finvestigating-a-locked-vm-using-esxi-shell","Investigating a locked VM using ESXI Shell.","Unlocking a VM using ESXI Shell","\u002Fimages\u002Fblog\u002Fai\u002Finvestigating-a-locked-vm-using-esxi-shell.webp","2013-05-24",[3397],[4573,4104,4574,4130,3777,4575],"intel-x86-architecture","shell-session","vmx",{"_path":4577,"title":4578,"description":4579,"image":4580,"date":4570,"categories":4581,"tags":4582},"\u002Fblog\u002Fpowering-off-a-vmware-virtual-machine-in-esxi-shell","Powering off a VMware Virtual Machine in ESXI Shell","Operational steps to force a stuck VMware virtual machine to power off from the ESXi shell using esxcli vm process list and esxcli vm process kill, useful when the vSphere client and host web console are unresponsive.","\u002Fimages\u002Fblog\u002Fai\u002Fpowering-off-a-vmware-virtual-machine-in-esxi-shell.webp",[3397],[4519,4583,4584,4585,4586,4130,4010,4521,4587,3777],"process-id","putty","secure-shell","virtual","vm-operating-system",{"_path":4589,"title":4590,"description":4591,"image":4592,"date":4593,"categories":4594,"tags":4595},"\u002Fblog\u002Fconfiguring-rds-2012-on-windows-azure","Configuring RDS 2012 on Windows Azure","This article originally documented the classic Azure deployment model, back when virtual machines lived behind cloudapp.net endpoints and RDS was commonly hosted as a single server in an Azure VM. That architecture is now part of the archive. The post still has value as a record of how administrators bridged on-premises identity and early Azure IaaS, but it is no longer current deployment guidance.","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-rds-2012-on-windows-azure.webp","2013-05-16",[9,3786],[2974,4399,3837,4320,4596,4597,4103,4104,4598,4130,4010,3850,4599,4600,20,4302],"endpoints","microsoft-azure","rds-web","virtual-private-network","vms",{"_path":4602,"title":4603,"description":4604,"image":4605,"date":4593,"categories":4606,"tags":4607},"\u002Fblog\u002Fuseful-group-policies-for-rds-2012","Useful Group Policies for RDS 2012","Useful list of Group Policies for RDS 2012 ","\u002Fimages\u002Fblog\u002Frds\u002Fuseful-group-policies-for-rds-2012.jpg",[3786],[4031,4608,4429,4609,4268,4322,3704,9,4610,4611,4103,4104,3672,3790,4433,3804,4473],"desktop-connections","gateway-rd","microsoft-certified-professional","microsoft-deployment-toolkit",{"_path":4613,"title":4614,"description":4615,"image":4616,"date":4617,"categories":4618,"tags":4619},"\u002Fblog\u002Fconfiguring-vsphere-ha-isolation-responces-5-1","Configuring vSphere HA Isolation Responces 5.1","VSPhere HA ISolation responces 5.1","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-vsphere-ha-isolation-responces-5-1.webp","2013-05-02",[3465,3397],[4269,4620,4130,3777,3886],"vcenter",{"_path":4622,"title":4623,"description":4624,"image":4625,"date":4626,"tags":4627},"\u002Fblog\u002Fpowershell-script-for-sql-firewall-rules","PowerShell Script for SQL Firewall rules","Ready-to-use PowerShell script that replaces the deprecated netsh firewall commands with New-NetFirewallRule entries for the standard Microsoft SQL Server engine, Analysis Services, Service Broker, and management ports.","\u002Fimages\u002Fblog\u002Fai\u002Fpowershell-script-for-sql-firewall-rules.webp","2013-05-01",[4628,4322,4403,3801,4629,4630],"database","transmission-control-protocol","windows-firewall",{"_path":4632,"title":4633,"description":4634,"image":4635,"date":4636,"categories":4637,"tags":4638},"\u002Fblog\u002Fvcenter-5-1-not-starting-on-server-2012","Vcenter 5.1 not starting on server 2012","Registry fix for vCenter Server 5.1 failing to start on Windows Server 2012, by removing ProtectedStorage from the DependOnService value under HKLM CurrentControlSet Services vpxd and rebooting the host.","\u002Fimages\u002Fblog\u002Fai\u002Fvcenter-5-1-not-starting-on-server-2012.webp","2013-04-24",[3465,3397,3787],[4639,4640,4269,4620,4130,3777,3886],"dependonservice","protectedstorage",{"_path":4642,"title":4643,"description":4644,"image":4645,"date":4646,"categories":4647,"tags":4648},"\u002Fblog\u002Frds-2012-connection-broker-role-not-supported-on-dc","RDS 2012 Connection Broker Role not supported on DC","Anyone who wishes to deploy RDS on the Domain Controller needs to be aware that the Connection Broker role cannot be installed on the DC.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-connection-broker-role-not-supported-on-dc.webp","2013-04-16",[9,3786],[4649,3837,3757,3985,3790,4269,4650],"dc","technet-microsoft",{"_path":4652,"title":4653,"description":4654,"image":4655,"date":4656,"categories":4657,"tags":4658},"\u002Fblog\u002Fdeploying-rd-connection-broker-high-availability-in-windows-server-2012","Deploying RD Connection Broker High Availability in Windows Server 2012","How to deploy RD Connection Broker high availability in Windows Server 2012 using SQL Server, DNS round robin, and updated RDS certificates.","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-rd-connection-broker-high-availability-in-windows-server-2012.webp","2013-04-14",[9,3786],[4659],"RDS",{"_path":4661,"title":4662,"description":4663,"image":4664,"date":4656,"categories":4665,"tags":4666},"\u002Fblog\u002Frds-2012-rd-licensing-role","RDS 2012 - RD Licensing Role","Right Click on RD Licensing and add server","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-rd-licensing-role.webp",[3786],[4031,4667,9,4103,3672,4144,4650,4106,3787],"high-availability",{"_path":4669,"title":4670,"description":4671,"image":4672,"date":4656,"categories":4673,"tags":4674},"\u002Fblog\u002Ftroubles-with-removing-rd-connection-broker-high-availability","Troubles with Removing RD Connection Broker High Availability","I thought it would be a good Idea to include a post that provides information on the troubles caused by removing a RD Connection Broker Availability...","\u002Fimages\u002Fblog\u002Fai\u002Ftroubles-with-removing-rd-connection-broker-high-availability.webp",[9],[4031,4628,4667,4675,4403,4103,4676,4677,3757,3672,4144,3801,4678,4679],"internal-windows-database","named-pipe","rd-connection-broker-availability","sql-server-management-studio","windows-internal-database",{"_path":4681,"title":4682,"description":4683,"image":4684,"date":4685,"categories":4686,"tags":4687},"\u002Fblog\u002Frds-2012-configuring-a-rd-gateway-farm","RDS 2012 - Configuring a RD Gateway Farm","To configure a RD Gateway Farm, you would need to install the Gateway server Role on two or more servers.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-configuring-a-rd-gateway-farm.webp","2013-03-31",[9,3786],[4031,4688,4689,4690,3672,4144,4691],"gateway","gateway-farm","gateway-servers","server-farm",{"_path":4693,"title":4694,"description":4695,"image":4696,"date":4697,"categories":4698,"tags":4699},"\u002Fblog\u002Fconfigure-rdsh-farm-using-a-load-balancer-kemp-virtual-loadmaster-vlm-1000","Configure RDSH Farm using a KEMP LoadMaster","Using KEMP to load balance a RDSH Farm.","\u002Fimages\u002Fblog\u002Fai\u002Fconfigure-rdsh-farm-using-a-load-balancer-kemp-virtual-loadmaster-vlm-1000.webp","2013-03-30",[3786],[4320,4322,4323,4700,4520,4105,3672,3790,4701,4702,4703],"port-3389","udp","user-datagram-protocol","virtual-services",{"_path":4705,"title":4706,"description":4707,"image":4708,"date":4697,"categories":4709,"tags":4710},"\u002Fblog\u002Fconfigure-sql-for-rds-2012","Configure SQL for RDS 2012","high level - Configure SQL for RDS 2012","\u002Fimages\u002Fblog\u002Fai\u002Fconfigure-sql-for-rds-2012.webp",[3786],[4403,3790,3801,4711],"sql-server-configuration",{"_path":4713,"title":4714,"description":4714,"image":4715,"date":4697,"categories":4716,"tags":4717},"\u002Fblog\u002Fcreate-a-rdsh-farm-rds-2012-using-dns-round-robin","Create a RDSH FARM RDS 2012 using DNS Round Robin","\u002Fimages\u002Fblog\u002Fai\u002Fcreate-a-rdsh-farm-rds-2012-using-dns-round-robin.webp",[9,3786],[4718,4066,3672,3804],"dns-round-robin",{"_path":4720,"title":4721,"description":4722,"image":4723,"date":4697,"categories":4724,"tags":4725},"\u002Fblog\u002Fcreating-a-remote-desktop-session-collection-rds-2012","Creating a Remote Desktop Session Collection RDS 2012","Creating and configuring a remote desktop Session collection for Remote Desktop Services","\u002Fimages\u002Fblog\u002Fai\u002Fcreating-a-remote-desktop-session-collection-rds-2012.webp",[9],[4726,3786,3790],"create-a-collection",{"_path":4728,"title":4729,"description":4730,"image":4731,"date":4732,"categories":4733,"tags":4734},"\u002Fblog\u002Fdeploying-remote-desktop-gateway-rds-2012","Deploying Remote Desktop Gateway RDS 2012","A Remote Desktop Gateway Server enables users to connect to remote computers on a corporate network from any external computer. The RD Gateway uses the...","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-remote-desktop-gateway-rds-2012.webp","2013-03-27",[9,3786],[4688,4321,4735,3681,4114,3693,4105,3672,4736,3804,4737,4599,4738],"https","secure-sockets-layer","ssl","vpn",{"_path":4740,"title":4741,"description":4742,"image":4743,"date":4744,"categories":4745,"tags":4746},"\u002Fblog\u002Fconverting-a-lazy-zeroed-disk-to-eagerly","Converting a Lazy Zeroed disk to Eagerly","Converting a VMDK from Lazy Zeroed to Eagerly Zeroed","\u002Fimages\u002Fblog\u002Fai\u002Fconverting-a-lazy-zeroed-disk-to-eagerly.webp","2013-03-19",[3465,3397],[4104,4130,4747,4748,3777],"vmdk","vmfstools",{"_path":4750,"title":4751,"description":4752,"image":4753,"date":4754,"categories":4755,"tags":4756},"\u002Fblog\u002Fhow-to-assign-a-rdworkspace-name-in-rds-2012","How to assign a RDWorkspace Name in RDS 2012","assign a RDWorkspace Name in RDS 2012","\u002Fimages\u002Fblog\u002Fai\u002Fhow-to-assign-a-rdworkspace-name-in-rds-2012.webp","2013-03-16",[9,3786],[4757,3757,4092,3876,3672,4758,4106,4759],"rd-workspace","remotedesktop","workspace-connectionbroker",{"_path":4761,"title":4762,"description":4763,"image":4764,"date":4754,"categories":4765,"tags":4766},"\u002Fblog\u002Frds-2012-publishing-a-remoteapp","RDS 2012 Publishing a RemoteApp","This is a quick Post to show how to publish a RemoteApp on RDS 2012.","\u002Fimages\u002Fblog\u002Fai\u002Frds-2012-publishing-a-remoteapp.webp",[9,3786],[4767,3672,4052],"publishing",{"_path":4769,"title":4770,"description":4771,"image":4772,"date":4773,"categories":4774,"tags":4775},"\u002Fblog\u002Fdeploying-rds-2012-using-standard-deployment","Deploying RDS 2012 using Standard Deployment","Basic RDS 2012 deployment","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-rds-2012-using-standard-deployment.webp","2013-03-15",[9,3786],[4031,4776,3757,3672,4144,4054,4130],"rd-web-access",{"_path":4778,"title":4779,"description":4780,"image":4781,"date":4782,"categories":4783,"tags":4784},"\u002Fblog\u002Fadd-password-reset-feature-to-remote-desktop-web-access-2012","Adding the Password Reset feature to Remote Desktop Web Access 2012","Example on how to add the Password Reset feature to Remote Desktop Web Access 2012","\u002Fimages\u002Fblog\u002Fai\u002Fadd-password-reset-feature-to-remote-desktop-web-access-2012.webp","2013-03-11",[9,3786],[4785,4103,4786,3757,3877,20],"iis","password",{"_path":4788,"title":4789,"description":4790,"image":4791,"date":4782,"categories":4792,"tags":4793},"\u002Fblog\u002Fconnection-broker-redirection-rds-2012","Connection Broker Redirection - RDS 2012","Historical note on how RD Connection Broker redirection worked in Windows Server 2012 VDI deployments and why direct RDP behaviour changed once the broker was tied to a virtual desktop pool.","\u002Fimages\u002Fblog\u002Fai\u002Fconnection-broker-redirection-rds-2012.webp",[9,3786,3465,3787],[4031,3757,4794,3672,4144],"redirection",{"_path":4796,"title":4797,"description":4798,"image":4799,"date":4782,"categories":4800,"tags":4801},"\u002Fblog\u002Fcreating-a-san-certificate-for-rds-2012","Creating a SAN Certificate for Use With RDS 2012","Create a SAN Certificate for RDS","\u002Fimages\u002Fblog\u002Fai\u002Fcreating-a-san-certificate-for-rds-2012.webp",[9,3786,3465],[4802,4803,4804,3790,4389],"computer-certificates","custom-request","enrollment-policy",{"_path":4806,"title":4807,"description":4808,"image":4809,"date":4782,"categories":4810,"tags":4811},"\u002Fblog\u002Fdeploying-rds-2012-single-server-session-based-deployment","Deploying RDS 2012 Single Server - Session Based deployment","This guide will show you how to deploy RDS 2012 on a single 2012 Server enabling the use of Remote Desktop Sessions and RemoteApps.","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-rds-2012-single-server-session-based-deployment.webp",[3786,3465,3787],[3789,4429,9,4103,4812,3876,3672,4052,3649],"personal-pool",{"_path":4814,"title":4815,"description":4816,"image":4817,"date":4818,"categories":4819,"tags":4820},"\u002Fblog\u002Fconfiguring-rds-2012-certificates-and-sso","Configuring RDS 2012 Certificates and SSO","Configure certificates and SSO for RDS","\u002Fimages\u002Fblog\u002Fai\u002Fconfiguring-rds-2012-certificates-and-sso.webp","2013-03-10",[9,3786,3465],[4821,4822,4268,4823,4824,3757,3672,3790,4825,4826,4827],"certificate-authority","gateway-farms","internal-servers","public-key-certificate","server-certificates","single-sign","wild-card",{"_path":4829,"title":4830,"description":4831,"image":4832,"date":4833,"categories":4834,"tags":4835},"\u002Fblog\u002Fvmware-host-cluster-vm-memory-balancing-script-implementation","Poor Man's DRS: Memory Balancing for vSphere Standard Clusters","A PowerCLI scheduled task that balances VM memory across hosts in a vSphere cluster that is not licensed for DRS. Calculates the cluster's average host memory utilisation, finds hosts more than a configurable threshold above the average, and vMotions one VM per hot host to the coldest host in the cluster.","\u002Fimages\u002Fblog\u002Fai\u002Fvmware-host-cluster-vm-memory-balancing-script-implementation.webp","2013-03-08",[9,3465,3397],[3704,4620,4130,3777,3972,19,4836,4022],"windows-task-scheduler",{"_path":4838,"title":4839,"description":4840,"image":4841,"date":4842,"categories":4843,"tags":4844},"\u002Fblog\u002Fremoving-old-nics-from-ms-virtual-machine-vmware","Removing old Nics from MS Virtual machine Vmware","Removing old Nics from MS Virtual machine VMware","\u002Fimages\u002Fblog\u002Fai\u002Fremoving-old-nics-from-ms-virtual-machine-vmware.webp","2013-03-04",[3397,3787],[4130],{"_path":4846,"title":4847,"description":4848,"image":4849,"date":4850,"categories":4851,"tags":4852},"\u002Fblog\u002Faskham-bryan-college-implement-microsoft-remote-desktop-2012","Askham Bryan College implement Microsoft Remote Desktop 2012","Askham Bryan College is one of the fastest growing land based colleges in the country. The college needed to provide its staff with a Virtual Desktop...","\u002Fimages\u002Fblog\u002Fai\u002Faskham-bryan-college-implement-microsoft-remote-desktop-2012.webp","2013-01-23",[9,3786],[4853,4854,4429,4855,4103,3672,4460,3791,3397],"askham-bryan","askham-bryan-college","microsoft-remote-desktop",{"_path":4857,"title":4858,"description":4859,"image":4860,"date":4861,"categories":4862,"tags":4863},"\u002Fblog\u002Fmssql-firewall-script","MSSQL Firewall Script: PowerShell and netsh","Drop-in firewall scripts that open the common Microsoft SQL Server, Analysis Services, and Service Broker ports. PowerShell (recommended) and netsh advfirewall versions, plus the original 2013 batch script for reference.","\u002Fimages\u002Fblog\u002Fai\u002Fmssql-firewall-script.webp","2013-01-11",[9,4480],[4864,4865,19,4866,4867],"firewall","sql-server","netsh","server-ports",{"_path":4869,"title":4870,"description":4871,"image":4872,"date":4873,"categories":4874,"tags":4875},"\u002Fblog\u002Fbackup-esxi-5-0-configuration-using-vma","backup ESXi 5.0 configuration using VMA","Back up and restore ESXi 5.0 host configuration using the vSphere Management Assistant (VMA), including the vicfg-cfgbackup commands for capturing datastore, virtual switch, multipath, and licensing settings to speed up new host deployments and recovery.","\u002Fimages\u002Fblog\u002Fai\u002Fbackup-esxi-5-0-configuration-using-vma.webp","2013-01-07",[3397],[4876,4877,4878,4879],"backup","hostname","vmware-vma","vsphere-management-assistant",{"_path":4881,"title":4882,"description":4883,"image":4884,"date":4885,"categories":4886,"tags":4887},"\u002Fblog\u002Fthe-management-group-configuration-could-not-be-saved-error-system-center-service-manager-sp1","The Management Group Configuration Could Not Be Saved in System Center Service Manager 2012 SP1","Historical fix for the Service Manager 2012 SP1 error that blocks Operations Manager settings from being added when stale HealthService registry keys already exist.","\u002Fimages\u002Fblog\u002Fai\u002Fthe-management-group-configuration-could-not-be-saved-error-system-center-service-manager-sp1.webp","2013-01-06",[9,4213],[4103,4212,4888,4889,4890,4891,4473],"scsm","service-pack","system-center-2012-sp1","system-center-operations-manager",{"_path":4893,"title":4894,"description":4895,"image":4896,"date":4897,"categories":4898,"tags":4899},"\u002Fblog\u002Fremote-desktop-services-2012-single-sign-on-sso","Remote Desktop Services 2012 Single Sign on (SSO)","Hi,","\u002Fimages\u002Fblog\u002Fai\u002Fremote-desktop-services-2012-single-sign-on-sso.webp","2012-12-27",[3786],[9,4103,3672,3790,4826,3313,20],{"_path":4901,"title":4902,"description":4903,"image":4904,"date":4905,"categories":4906,"tags":4907},"\u002Fblog\u002Fsql-server-configuration-manager-2008-r2-cannot-connect-to-wmi-provider-invalid-class-0x80041010","SQL Server Configuration Manager 2008 R2 – Cannot connect to WMI provider – Invalid class [0x80041010","Fix for the SQL Server 2008 R2 Configuration Manager error Cannot connect to WMI provider, Invalid class 0x80041010, by re-registering the SQL management MOF file with mofcomp after a System Center cluster restart.","\u002Fimages\u002Fblog\u002Fai\u002Fsql-server-configuration-manager-2008-r2-cannot-connect-to-wmi-provider-invalid-class-0x80041010.webp","2012-10-29",[9],[4403],{"_path":4909,"title":4910,"description":4911,"image":4912,"date":4913,"categories":4914,"tags":4915},"\u002Fblog\u002Fvmware-fix-for-server-2012-virtual-machines-running-on-esxi-5-0","Vmware Fix for Server 2012 Virtual machines running on ESXI 5.0","2012 fix for Server 2012 Virtual Machines","\u002Fimages\u002Fblog\u002Fai\u002Fvmware-fix-for-server-2012-virtual-machines-running-on-esxi-5-0.webp","2012-09-17",[9,3465,3397],[3777,4301,4419,4116,3787],{"_path":4917,"title":4918,"description":4919,"image":4920,"date":4921,"categories":4922,"tags":4923},"\u002Fblog\u002Fchanging-the-product-key-in-server-2012-using-powershell","Changing the Product Key in Server 2012 using PowerShell","Changing the product key using slmgr.","\u002Fimages\u002Fblog\u002Fai\u002Fchanging-the-product-key-in-server-2012-using-powershell.webp","2012-09-04",[9,3787],[4924,4925,4103,4926,3804],"activation","key","product-key",{"_path":4928,"title":4929,"description":4930,"image":4931,"date":4932,"categories":4933,"tags":4934},"\u002Fblog\u002Fdisabling-ssh-configuration-issues-warning-in-5-0","Disabling SSH configuration issues warning in ESXI 5.0","Suppress the SSH and ESXi shell warning banner in vSphere 5.0 by setting UserVars.SuppressShellWarning to 1 in the host Advanced Settings, useful when keeping SSH enabled on hosts in a private and secured management network.","\u002Fimages\u002Fblog\u002Fai\u002Fdisabling-ssh-configuration-issues-warning-in-5-0.webp","2012-08-04",[3465,3397],[4585,4935,3777],"ssh",{"_path":4937,"title":4938,"description":4939,"image":4940,"date":4941,"categories":4942,"tags":4943},"\u002Fblog\u002Fdata-deduplication-in-windows-server-2012","Data Deduplication in Windows Server 2012","Deduplication insights in Windows 2012","\u002Fimages\u002Fblog\u002Fai\u002Fdata-deduplication-in-windows-server-2012.webp","2012-08-03",[9,3787],[4876,4944,4945,4258,4946,4947,4948,4104,4269],"business","cluster-shared-volumes","data-storage-device","disaster-recovery","file-management",{"_path":4950,"title":4951,"description":4952,"image":4953,"date":4941,"categories":4954,"tags":4956},"\u002Fblog\u002Fdeploying-system-center-2012-data-protection-manager","Deploying System Center 2012 Data Protection Manager","Historical guide for deploying System Center 2012 Data Protection Manager on Windows Server 2008 R2, focusing on planning, prerequisites, storage-pool handling, and the deployment pitfalls that mattered most.","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-system-center-2012-data-protection-manager.webp",[9,4955,4213],"scdpm",[4957,4958,4959,3837,4960,4216,4403,4103,3801,4865,4961,4130,4962,4106,4419],"net-framework","data-loss","data-recovery","dpm","system-center-data-protection-manager","windows-installer",{"_path":4964,"title":4965,"description":4966,"image":4967,"date":4968,"categories":4969,"tags":4970},"\u002Fblog\u002Fdeploying-operations-manager-scom","Deploying System Center 2012 Operations Manager","Historical walkthrough for a single-server System Center 2012 Operations Manager deployment on Windows Server 2008 R2, covering prerequisites, service accounts, SQL choices, agent connectivity, and the post-install tasks that made the platform usable.","\u002Fimages\u002Fblog\u002Fai\u002Fdeploying-operations-manager-scom.webp","2012-07-31",[9,4213],[4957,4971,4972,4973,4974,4344,4785,4975,4976,4977,4978,4216,4218,4979,4980,4981,4219,4982,4983,4212,4984,4269,4985,4986,4408,4419],"deploy-scom","deploying-operations-manager","deploying-scom","deployment","installing-operations-manager","internet-server-application-programming-interface","list-of-http-status-codes","management-pack","monitoring","om","operations-management","opsmgr","sc2012","scom12","sql-server-reporting-services","system-center-virtual-machine-manager",{"_path":4988,"title":4989,"description":4990,"image":4991,"date":4992,"categories":4993,"tags":4994},"\u002Fblog\u002Fscvmm-depoyment","Deploying System Center 2012 Virtual Machine Manager","Historical walkthrough for deploying System Center 2012 Virtual Machine Manager on Windows Server 2008 R2, covering the prerequisites, SQL layout, fabric onboarding, and the main limitations that mattered at the time.","\u002Fimages\u002Fblog\u002Fai\u002Fscvmm-depoyment.webp","2012-07-26",[4213],[4995,4785,4996,9,4218,4997,4998,4999,4986,4130,5000,5001,5002,4408,5003,4116,5004],"deploy-scvmm","internet-information-services","scvmm","scvmm-deployment","system-center-2012-virtual-machine-manager","virtual-machine-manager","vmm","waik","windows-automated-installation-kit","windows-server-2008r2",1779919014065]