Sample questions

AZ-802 practice questions, with full explanations

75 sample AZ-802 (Administering Windows Server) questions, each with the correct answer, a breakdown of why every other option is wrong, a memory hook, and the Microsoft Learn reference. Work the questions by topic; each topic names the book behind it.

The books

The AZ-802 bookshelf

The AZ-802 exam set

Each has a sample on its Amazon page.

Work the 75 questions, one topic at a time

Each topic opens to its questions with the full explanation, the memory hook and the Microsoft Learn page behind it.

Cover of AZ-802 Administering Windows Server Complete Exam Guide
Topic 1 of 7

Deploy and manage AD DS (15 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 15 questions and explanations

Litware is deploying two Windows Server 2025 virtual machines in Azure as additional domain controllers for its on-premises domain, which it reaches over a site-to-site VPN. Before promotion, the administrator must decide where each virtual machine will hold the AD DS database (NTDS.dit), its log files and SYSVOL. Which storage configuration should the administrator use?

Correct answer: D. A separate persistent data disk with its host caching set to None

The Azure reference architecture for AD DS says to store NTDS.dit, the logs and SYSVOL on a separate persistent data disk, not on the operating system disk, and to set Host Cache Preference on that data disk to None. The ESE database engine behind AD DS manages its own write ordering, and host caching could interfere with database consistency. The same guidance calls for persistent managed OS disks and rules out ephemeral OS disks for domain controllers.

Why the other options are wrong:

  • A. An ephemeral OS disk that keeps the files on the host's local storage Learn says not to use ephemeral OS disks for domain controllers; a persistent disk lets a domain controller recover from host maintenance without being promoted again.
  • B. A separate persistent data disk with its host caching set to Read-only The separate data disk is right, but Learn calls for None rather than Read-only, because host caching can interfere with how the ESE engine orders its writes.
  • C. The OS disk of the virtual machine, with its host caching set to Read/write Learn says not to keep the database, logs or SYSVOL on the same disk as the operating system, and it wants host caching off for the disk that holds them.

Memory hook: Azure DC: NTDS.dit, logs and SYSVOL on their own data disk with host caching None.

Microsoft Learn: Adds extend domain

Inside Contoso's HQ site, an identity provisioning tool writes changes to DC1 and then reads them from other HQ domain controllers. Testers see each change arrive about 15 seconds or more after it was written. The architect wants to view, and possibly shorten, how long DC1 waits before it notifies its same-site partners about changes to the domain partition. Which tool should you use?

Correct answer: C. repadmin /notifyopt against DC1 for the domain directory partition

Learn's article on modifying the intra-site replication interval: after a domain controller writes a change, it waits 15 seconds by default before notifying its first intra-site partner, then pauses 3 seconds between further partners. The delays are the msDS-Replication-Notify-First-DSA-Delay and msDS-Replication-Notify-Subsequent-DSA-Delay attributes on the partition's crossRef object, and repadmin /notifyopt shows them and sets them with /first and /sub.

Why the other options are wrong:

  • A. repadmin /kcc on DC1 to rebuild its intrasite connection objects The KCC builds the intrasite connection objects; rebuilding them leaves the notification delays unchanged.
  • B. The options attribute of the site link that includes the HQ site The options attribute of a site link turns on change notification across that link between sites; inside a site, changes already trigger notification.
  • D. Set-ADReplicationSiteLink with the -ReplicationFrequencyInMinutes parameter ReplicationFrequencyInMinutes is the site link interval, which governs replication between sites, not notification between domain controllers inside HQ.

Memory hook: Inside a site: notify after 15 seconds, then 3 seconds per further partner; repadmin /notifyopt reads and changes it.

Microsoft Learn: Modify default intra site DC replication interval

In contoso.com, a domain in a forest that also contains eu.contoso.com, the global group Auditors contains contoso.com user accounts and the Internal-Audit global group. Auditors is a member of the Compliance-Staff global group and is granted Read on several contoso.com file shares. An administrator tries to change Auditors to universal scope so it can include eu.contoso.com users, and the change is refused. What blocks it?

Correct answer: B. Auditors is a member of Compliance-Staff, which is another global group.

The scope conversion rule in the Active Directory security groups article is that a global group can be converted to universal scope only if it isn't a member of any other global group. Auditors belongs to Compliance-Staff, so the change is refused. Its own members don't block it, because a universal group can contain accounts and global groups from any domain in the same forest.

Why the other options are wrong:

  • A. Auditors contains Internal-Audit, which is another global group. Containing a global group isn't a problem, because a universal group can have global groups from any domain in the forest as members. The rule is about what Auditors belongs to, not what it contains.
  • C. Auditors is granted permissions in the ACLs of contoso.com file shares. The documented scope conversion conditions all concern group membership, not ACLs, so using the group in permissions doesn't stop the conversion.
  • D. Auditors contains user accounts, which must be removed before a scope change. A universal group can contain accounts from any domain in the same forest, so the existing contoso.com users can stay.

Memory hook: Global to universal only works when the group isn't a member of another global group.

Microsoft Learn: Understand security groups

Contoso and Fabrikam have a two-way forest trust. The contoso.com domain local group Proj-Readers contains several Fabrikam users. Last month Fabrikam deleted one of those user accounts. Now, on a contoso.com domain controller, Get-ADGroupMember -Identity Proj-Readers fails with "An unspecified error has occurred." What should the administrator do?

Correct answer: C. Delete the deleted account's foreign security principal from the ForeignSecurityPrincipals container in contoso.com.

A member from another forest is represented in the local domain by a foreign security principal. The Get-ADGroupMember troubleshooting article explains that when the source account is deleted, the foreign security principal isn't updated or removed, and the SID that no longer resolves makes the cmdlet fail on the domain local group. Because the original account no longer exists, you can safely delete that foreign security principal, which also removes it from every group it belongs to.

Why the other options are wrong:

  • A. Use Active Directory Users and Computers instead, because Get-ADGroupMember can't list group members from another forest. The snap-in is suggested only as a workaround when a one-way trust is involved. With a two-way trust the failure comes from the orphaned foreign security principal, which the snap-in doesn't remove.
  • B. Restore the deleted account from the contoso.com AD Recycle Bin, and then remove it from Proj-Readers. The account lived in fabrikam.com, so the contoso.com Recycle Bin never held it; the object left behind in contoso.com is the foreign security principal.
  • D. Wait for the tombstone lifetime to pass so that garbage collection removes the deleted account's entry. The foreign security principal isn't updated or removed when the source account is deleted, so waiting changes nothing; it has to be removed manually.

Memory hook: Deleted in their forest, orphaned in yours: remove the foreign security principal by hand.

Microsoft Learn: Get adgroupmember error remote forest members

Contoso has a two-way forest trust with Fabrikam. After Fabrikam acquired Tailspin Toys, Fabrikam also created a two-way forest trust with the Tailspin Toys forest. Contoso engineers now need to open file shares on servers in the Tailspin Toys forest, but authentication from Contoso accounts to those servers fails. What should you do?

Correct answer: C. Create a forest trust between the Contoso and Tailspin Toys forest root domains

Learn's How trust relationships work for forests in Active Directory states that forest trusts can only be created between two forests and can't be implicitly extended to a third: with trusts between Forest 1 and Forest 2 and between Forest 2 and Forest 3, Forest 1 has no trust with Forest 3, and those two forests need a trust of their own. Create a forest trust between the Contoso and Tailspin Toys root domains, at least one-way with Tailspin Toys trusting Contoso, in Active Directory Domains and Trusts, since netdom trust can't create a forest trust.

Why the other options are wrong:

  • A. Run netdom trust with /transitive:yes on the trust between Fabrikam and Tailspin Toys The netdom trust /transitive switch applies only to non-Windows Kerberos realm trusts, and no setting extends a forest trust to a third forest.
  • B. Create a shortcut trust between the Contoso and Tailspin Toys forest root domains Shortcut trusts shorten the path between domains inside one forest. Contoso and Tailspin Toys are separate forests with no trust path to shorten.
  • D. Enable the Tailspin Toys suffixes on Name Suffix Routing for the Contoso trust with Fabrikam A forest trust collects only its partner forest's namespaces, so the Contoso trust with Fabrikam has no Tailspin Toys suffixes to route; routing doesn't chain through Fabrikam.

Memory hook: Forest trusts don't chain: 1 with 2 plus 2 with 3 gives 1 nothing in 3. Trust 1 and 3 directly.

Microsoft Learn: Concepts forest trust

Adatum links a GPO named Baseline-Security to the adatum.com domain. Administrators of the Research OU enabled Block Inheritance on that OU so that domain-linked GPOs stop reaching their computers. The security team now requires Baseline-Security to apply to every computer in the domain, including Research, while Research keeps blocking the other domain-linked GPOs. What should you do?

Correct answer: A. Set the Baseline-Security link on the domain to Enforced.

The Group Policy processing article calls Enforced a link property and Block Inheritance a container property, and it says the enforced link takes precedence. An enforced link on the domain therefore still reaches computers in the Research OU, while the OU's Block Inheritance keeps stopping every domain-linked GPO that isn't enforced. Nothing about the Research OU has to change, which is what the requirement asks for.

Why the other options are wrong:

  • B. Link Baseline-Security to the site that holds the Research computers. Block Inheritance on an OU stops GPOs linked to sites as well as to the domain, so a site link is blocked the same way.
  • C. Clear Block Inheritance on the Research OU and keep the existing links. Clearing the block delivers Baseline-Security, but every other domain-linked GPO would reach Research again, which breaks the requirement.
  • D. Move the Baseline-Security link to link order 1 on the domain. Link order only ranks GPOs linked to the same container, where link order 1 wins. It doesn't carry a domain-linked GPO past Block Inheritance on a child OU.

Memory hook: Enforced lives on the link, Block Inheritance on the container, and the link wins.

Microsoft Learn: Group policy processing

Someone stole RNO-RODC1 from Woodgrove Bank's Reno branch. Its Allowed list held the Reno-Staff group. Last month the administrator prepopulated passwords for three new hires who haven't signed in yet, and two employees who later moved to Seattle were removed from Reno-Staff after their passwords had been cached. Which accounts must have their passwords reset?

Correct answer: C. Every user and computer account on the Revealed list of RNO-RODC1, the accounts whose passwords it stores.

Learn's Password Replication Policy guidance says that if an RODC is stolen you must reset the passwords of all users and computers whose passwords are cached on it, and that nothing erases a cached password; only a reset makes the stolen copy useless. The Revealed list records exactly those accounts, including prepopulated new hires who never signed in and staff removed from the Allowed group after caching. Get-ADDomainControllerPasswordReplicationPolicyUsage -RevealedAccounts lists them.

Why the other options are wrong:

  • A. Every account on the Authenticated to list of RNO-RODC1, the accounts that the RODC has authenticated so far. This list records accounts the RODC authenticated, cached or not, and it misses the prepopulated new hires, who never authenticated there.
  • B. Every current member of Reno-Staff, the group that sits on the Allowed list of RNO-RODC1. Membership shows who may be cached, not who is; the two employees removed from Reno-Staff still have cached passwords, because removal erases nothing.
  • D. The domain krbtgt account, reset twice so that tickets issued by RNO-RODC1 stop working. The domain krbtgt account is in the Denied RODC Password Replication Group by default and never caches on an RODC, which has its own krbtgt account; resetting it protects no cached user or computer password.

Memory hook: Stolen RODC: reset everything on its Revealed list; allowed isn't cached, and removal erases nothing.

Microsoft Learn: Cc730883(v=ws 10)

Woodgrove Bank created a site named Branch7 and its subnet object, but the branch domain controller won't ship for a month. Branch7 belongs to two site links: Branch7-HQ with cost 100 and Branch7-East with cost 300. HQ and East both host writable domain controllers for the domain, and no DC Locator settings have been changed. Until the branch domain controller arrives, how will Branch7 clients find a domain controller?

Correct answer: D. A domain controller in HQ registers site-specific SRV records for Branch7, because HQ has the lowest-cost connection to it

Learn's Site functions page describes client affinity: a domain controller works out the client's site from its IP address, and the client then queries site-specific SRV records. If no domain controller is located in the client's site, a domain controller with the lowest-cost connection relative to the other connected sites registers site-specific SRV records in that site, so every site has a preferred domain controller. The subnet places clients in Branch7, and HQ, at cost 100 against East's 300, covers Branch7.

Why the other options are wrong:

  • A. Domain controllers in both HQ and East register site-specific SRV records for Branch7, because each shares a site link with it Coverage goes to the site with the lowest-cost connection, not to every site that shares a link; East at cost 300 loses to HQ at cost 100.
  • B. Branch7 clients get no site name, so they query only the domain-wide SRV records until a domain controller is installed The subnet object maps the clients to Branch7, so a domain controller returns Branch7 as their site, and Branch7's site-specific records exist through coverage.
  • C. Branch7 clients are placed in Default-First-Site-Name and use its domain controllers until a domain controller is installed Clients belong to the site whose subnet object contains their address, here Branch7; Default-First-Site-Name plays no part.

Memory hook: A site with no domain controller is covered by domain controllers from the lowest-cost connected site (automatic site coverage).

Microsoft Learn: Site functions

Contoso runs a gMSA named WebFarm whose PrincipalsAllowedToRetrieveManagedPassword lists the WebHosts group. An administrator adds the computer account of a new server, WEB04, to WebHosts and confirms the change has replicated to every domain controller. On WEB04, Test-ADServiceAccount -Identity WebFarm returns False. The three existing servers return True and must keep working. What should the administrator do next?

Correct answer: A. Restart WEB04 so that it gets a Kerberos ticket that reflects its new group membership.

A Kerberos ticket lists the groups a computer belonged to when the ticket was issued, so a host added to an authorized group can't retrieve the gMSA password until it gets a new ticket. The gMSA troubleshooting guidance for domain-joined hosts says that if the host belongs to an authorized group but Test-ADServiceAccount still fails, restart it to obtain a ticket that reflects its current group memberships. Purging the computer's tickets with klist purge -li 0x3e7 has the same effect.

Why the other options are wrong:

  • B. Run Install-ADServiceAccount -Identity WebFarm on a domain controller instead of on WEB04. Install-ADServiceAccount installs the account on the computer where it runs, so it belongs on each host that runs the service, not on a domain controller.
  • C. Run Set-ADServiceAccount -Identity WebFarm -PrincipalsAllowedToRetrieveManagedPassword WEB04$. PrincipalsAllowedToRetrieveManagedPassword is a complete list of authorized principals, so setting it to WEB04$ alone replaces WebHosts and cuts off the three servers that must keep working.
  • D. Run Reset-ADServiceAccountPassword -Identity WebFarm on WEB04 to fetch a new password. Reset-ADServiceAccountPassword is for standalone MSAs only; its reference states that reset isn't supported for group managed service accounts.

Memory hook: New host in the gMSA group but Test-ADServiceAccount says False: give it a fresh Kerberos ticket.

Microsoft Learn: Gmsa troubleshooting

In Fabrikam's single-domain forest, AUS-RODC1 is the Austin branch's RODC, global catalog and DNS server. Its Allowed list holds the Austin-Staff group, which contains every Austin user and workstation account, and those passwords were prepopulated. During a WAN outage, Austin users signed in but couldn't open shares on the branch file server AUS-FS1, whose computer account isn't on the Allowed list. What should the administrator do?

Correct answer: C. Add the AUS-FS1 computer account to the Austin-Staff group, then prepopulate its password on AUS-RODC1.

Learn's Password Replication Policy guidance says the policy must include the appropriate user, computer and service accounts for an RODC to satisfy authentication and service ticket requests locally; when only users are allowed, the RODC relies on a writable domain controller for service tickets, which leads to an outage while the WAN is down. AUS-FS1's password isn't cached, so the RODC can't serve requests for it offline until its account is allowed and its password cached.

Why the other options are wrong:

  • A. Prepopulate the Austin-Staff passwords again by running Sync-ADObject with -PasswordOnly and AUS-RODC1 as the destination. The users' passwords are already cached, so prepopulating them again changes nothing; the missing secret belongs to AUS-FS1.
  • B. Enable universal group membership caching for the Austin site so that AUS-RODC1 can complete requests while offline. Universal group membership caching lets a site without a global catalog complete sign-ins; AUS-RODC1 is already a global catalog, and users did sign in.
  • D. Add the Austin users to the Allowed RODC Password Replication Group so that every RODC can authenticate them. The users are already allowed through Austin-Staff, so this caches nothing for AUS-FS1, and the built-in group widens caching to every RODC in the domain.

Memory hook: An offline branch needs every secret cached: users, workstations and the servers they use.

Microsoft Learn: Cc730883(v=ws 10)

Contoso's single-domain forest has four Windows Server 2025 domain controllers. DC1 and DC2 were upgraded in place from Windows Server 2022; DC3 and DC4 were newly installed and promoted over the network. Both functional levels are Windows Server 2016. Replication is healthy, and the backup software passed a lab test with 32k-page databases. Before enabling the Database 32k pages optional feature, what else must the administrator do?

Correct answer: A. Replace DC1 and DC2 with newly promoted Windows Server 2025 domain controllers, then raise the domain and forest functional levels to Windows Server 2025.

The Database 32k pages article lists two requirements this forest doesn't meet yet: every domain controller must run Windows Server 2025 with a 32k page capable database, and both the domain and forest functional levels must be Windows Server 2025. Domain controllers upgraded in place keep their 8k page database, while one promoted over the network gets a 32k page capable database, so DC1 and DC2 must be replaced by fresh promotions, and both levels raised, before the feature can be enabled. Enabling the feature can't be undone.

Why the other options are wrong:

  • B. Back up DC1 and DC2 with Windows Server Backup and restore them from those backups so that their databases are rewritten in the 32k page format. A backup preserves the page size of the database it holds, so restoring DC1 and DC2 from their own backups brings back 8k page databases.
  • C. Raise only the forest functional level to Windows Server 2025, because enabling 32k pages is a forest-wide operation that ignores the domain level. Learn requires both the domain and the forest functional level at Windows Server 2025, and a domain level can't sit below the forest level in any case.
  • D. Raise the domain and forest functional levels to Windows Server 2025; DC1 and DC2 convert their databases to the 32k page format when the levels change. Raising the levels converts nothing: Learn says in-place upgraded domain controllers continue with their 8k page database, so the requirement that every domain controller be 32k page capable still fails.

Memory hook: 32k pages: every DC promoted fresh on Windows Server 2025, both levels at 2025, and no way back.

Microsoft Learn: 32k pages optional feature

Adatum's single-domain forest has two domain controllers on Windows Server 2012 R2 and two on Windows Server 2019. Both functional levels are Windows Server 2012 R2, and SYSVOL already replicates with DFS Replication. The administrator must add Windows Server 2025 domain controllers, keep the 2019 ones and retire the 2012 R2 ones. What should the administrator do before promoting the first Windows Server 2025 domain controller?

Correct answer: A. Demote the two Windows Server 2012 R2 domain controllers, then raise the domain and forest functional levels to Windows Server 2016.

Learn's functional level matrix supports a Windows Server 2025 domain controller at the Windows Server 2016 and 2025 levels but not at the Windows Server 2012 R2 level, and the 2016 level supports domain controllers from Windows Server 2016 through 2025. The levels can't move to 2016 while 2012 R2 domain controllers remain, so demote those first and then raise both levels. The 2016 level's other requirement, DFS Replication for SYSVOL, is already met.

Why the other options are wrong:

  • B. Run adprep /forestprep and adprep /domainprep from the Windows Server 2025 media, then promote the Windows Server 2025 servers. Adprep prepares the schema and the domain and runs automatically during promotion when it's needed; it doesn't change the functional level, which is what rules out a Windows Server 2025 domain controller.
  • C. Raise the domain and forest functional levels to Windows Server 2025 first, then promote the new Windows Server 2025 servers into the domain. The Windows Server 2025 functional level accepts only Windows Server 2025 domain controllers, so it can't be raised while the 2012 R2 and 2019 domain controllers exist, and 2016 is already enough.
  • D. Promote the Windows Server 2025 servers with -SkipPreChecks, then demote the Windows Server 2012 R2 domain controllers afterward. Skipping the additional prerequisite checks doesn't make the combination supported; the interoperability matrix marks Windows Server 2025 domain controllers as not supported at the 2012 R2 level.

Memory hook: Windows Server 2025 DCs need the 2016 functional level or higher; the 2025 level admits only 2025 DCs.

Microsoft Learn: Active directory functional levels

Fabrikam's single-domain forest has writable hub domain controllers that run Windows Server 2025 and are global catalog and DNS servers. A new Windows Server 2025 member server in a branch office must become an additional writable domain controller, but the branch reaches the hub over a slow, busy WAN link and the directory database is large. How should the administrator promote the server to keep replication over the link as low as possible?

Correct answer: B. On a hub domain controller, use ntdsutil's ifm menu to create media that includes SYSVOL, copy it to the branch, and promote with -InstallationMediaPath.

Install from media seeds the new domain controller's database from local media, so only the objects changed since the media was created replicate over the network; Learn's IFM guidance presents this as the way to avoid replicating the entire directory over a WAN link. Build the media with ntdsutil's ifm menu or Windows Server Backup on a domain controller running the same operating system version, because IFM doesn't work across versions and can't create a domain's first domain controller.

Why the other options are wrong:

  • A. Promote the branch server with Install-ADDSDomainController and set -ReplicationSourceDC to the hub domain controller that has the fewest replication partners. A named replication source only decides which partner supplies the data; the whole directory still replicates across the WAN link during promotion.
  • C. Promote the branch server with Install-ADDSDomainController -CriticalReplicationOnly so that only the critical part of the directory crosses the WAN link. This switch only postpones the noncritical, lengthy part of replication until after the restart, so the full directory still crosses the link.
  • D. Copy NTDS.dit and the SYSVOL folder from a hub domain controller to the branch server, then promote with -DatabasePath and -SysvolPath set to the copies. These parameters only set where the new database and SYSVOL are created; a copy of a live NTDS.dit isn't installation media, which ntdsutil or Windows Server Backup must produce.

Memory hook: Slow link and a big database: IFM media from ntdsutil on a same-version DC, then -InstallationMediaPath.

Microsoft Learn: Cc816722(v=ws 10)

Adatum's forest has three domains: adatum.com, na.adatum.com and eu.adatum.com. Six account administrators, four with accounts in na.adatum.com and two in eu.adatum.com, must manage user objects in the Sales OU of all three domains. You want one group that contains all six administrators and is granted the delegated permissions in every domain. Which group should you create?

Correct answer: A. A universal security group

The guidance on delegating administration of account OUs says that when the data administrators who receive control come from multiple domains, you must use a universal group, because universal groups can contain users from different domains and can be used to delegate control in multiple domains. A universal security group holds accounts from any domain in the forest and can be granted permissions in any domain of the forest, which covers all three Sales OUs.

Why the other options are wrong:

  • B. A domain local security group in adatum.com A domain local group can hold accounts from any domain, but it can be granted permissions only within its own domain, so it can't carry the delegation in na.adatum.com or eu.adatum.com.
  • C. A global security group in na.adatum.com A global group can contain only accounts from its own domain, so a na.adatum.com global group can't hold the two eu.adatum.com administrators.
  • D. A universal distribution group The scope is right but the type isn't: distribution groups aren't security enabled and can't be included in DACLs, so they can't receive delegated permissions.

Memory hook: Administrators from several domains managing several domains: one universal security group.

Microsoft Learn: Delegating administration of account ous and resource ous

Tailspin Toys has a forest with two domains. A branch office with 60 users has one writable domain controller that isn't a global catalog, and a slow, busy WAN link to the hub site, which hosts global catalog servers. The branch runs no applications that need a global catalog. Users there report slow sign-ins, and management won't let the branch domain controller replicate a partial copy of every domain in the forest. What should you configure?

Correct answer: D. Enable universal group membership caching for the branch site.

In a multi-domain forest, sign-ins need universal group membership from a global catalog. The global catalog placement guidance says that for a remote site with a limited WAN link, fewer than 100 users and no applications that require a global catalog, you can enable universal group membership caching in that site. The branch domain controller then caches users' universal group memberships, so sign-ins don't always cross the WAN to a hub global catalog.

Why the other options are wrong:

  • A. Enable universal group membership caching for the hub site. Caching belongs on the site whose domain controllers lack a global catalog. The hub already hosts global catalog servers, so caching there does nothing for branch sign-ins.
  • B. Add the global catalog role to the branch domain controller. A global catalog stores a partial, read-only replica of every other domain in the forest, which is exactly the replication that management ruled out.
  • C. Make the branch domain controller a preferred bridgehead server. Bridgehead servers carry replication between sites; they don't supply universal group membership at sign-in, and Microsoft recommends not defining preferred bridgeheads.

Memory hook: Small branch, slow link, no global catalog: cache universal group membership in the branch site.

Microsoft Learn: Planning global catalog server placement

Topic 2 of 7

Manage Windows Server instances and workloads in a hybrid environment (9 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 9 questions and explanations

Woodgrove Bank administrators use Remote Desktop Connection on domain-joined admin workstations to connect directly to APP12, a member server in the same domain, and during each session they open \\FS03\Reports as their own accounts. A new rule says their credentials must never be sent to APP12. APP12 already allows delegation of nonexportable credentials, and Kerberos works end to end. What should they use?

Correct answer: B. Remote Credential Guard, by connecting with mstsc /remoteGuard

Remote Credential Guard redirects Kerberos requests back to the connecting device, so credentials and their derivatives are never passed to APP12, and the session keeps single sign-on to other systems such as FS03 as the signed-in user. It needs Kerberos, a direct connection and a remote host that allows delegation of nonexportable credentials, all of which the scenario meets.

Why the other options are wrong:

  • A. Network Level Authentication, required in APP12's Remote settings Network Level Authentication only makes users authenticate before a session is built; without Remote Credential Guard or Restricted Admin, Remote Desktop still sends credentials to the host and stores them there.
  • C. An RD Gateway whose RD CAP requires multifactor authentication An RD Gateway controls who reaches which hosts and doesn't stop credential delegation; Remote Credential Guard isn't supported through an RD Gateway at all.
  • D. Restricted Admin mode, by connecting with mstsc /restrictedAdmin Restricted Admin also keeps credentials off APP12, but the session reaches other resources as APP12's own identity, so the administrators can't open \\FS03\Reports as themselves.

Memory hook: Keep credentials home and still hop as yourself: /remoteGuard. Hop as the server: /restrictedAdmin.

Microsoft Learn: Remote credential guard

At Adatum, three administrators sometimes need Remote Desktop sessions open on MGMT02, a Windows Server 2025 member server, at the same time. Whenever two are already connected, the third can't get a session. No Remote Desktop Services role services are installed. What should you do so that all three can stay connected at once?

Correct answer: C. Install the Remote Desktop Session Host role service and license it with RDS CALs

Without Remote Desktop Services role services, Windows Server allows two concurrent remote connections for administration, and those need no RDS CALs. Microsoft's article on troubleshooting Remote Desktop disconnected errors says that to allow more than two administrative connections, you must install the RD Session Host role and have appropriate RDS CALs, so the third concurrent administrator needs a licensed Session Host.

Why the other options are wrong:

  • A. Add the three administrators to the Remote Desktop Users group on MGMT02 Group membership decides who may sign in, not how many sessions run at once, and administrators can connect without being listed in Remote Desktop Users.
  • B. Install the Remote Desktop Gateway role service and route the sessions through it RD Gateway controls how connections reach internal hosts; it doesn't raise the two-connection limit on MGMT02 itself.
  • D. Install the Remote Desktop Licensing role service on MGMT02 and activate it A license server issues RDS CALs, but without the RD Session Host role, MGMT02 stays at two administrative connections.

Memory hook: Two admin RDP sessions come included; a third needs RD Session Host plus RDS CALs.

Microsoft Learn: Troubleshoot remote desktop disconnected errors

Contoso wants Azure Update Manager to check every Arc-enabled Windows server in subscription Sub1, including servers onboarded later, for missing updates every 24 hours. Contoso doesn't want Update Manager to install anything yet. What should you do?

Correct answer: D. Assign the policy Configure periodic checking for missing system updates on Azure Arc-enabled servers to Sub1 for Windows, with a remediation task.

Periodic assessment makes Update Manager check a machine for missing updates every 24 hours without installing anything. For Arc-enabled servers, the built-in policy Configure periodic checking for missing system updates on Azure Arc-enabled servers turns the setting on; Windows and Linux need separate assignments, the Create a remediation task option covers servers that already exist, and the assignment keeps applying to servers that join the scope later.

Why the other options are wrong:

  • A. Create a maintenance configuration with a daily recurrence and a dynamic scope that selects every Arc-enabled Windows server in the subscription Sub1. A maintenance configuration schedules update installation, which Contoso doesn't want yet, and it doesn't enable the 24-hour periodic assessment setting.
  • B. Assign the policy Configure periodic checking for missing system updates on Azure virtual machines to Sub1 for Windows, with a remediation task. That definition targets Azure virtual machines; Arc-enabled servers have their own Configure periodic checking definition.
  • C. Assign the policy Machines should be configured to periodically check for missing system updates to Sub1 and review its compliance results. That policy only monitors whether periodic assessment is enabled and reports compliance; it doesn't turn the setting on.

Memory hook: Assessment at scale: the Configure periodic checking policy for Arc servers, one assignment per OS, with remediation.

Microsoft Learn: Periodic assessment at scale

Woodgrove Bank's payment servers are Arc-enabled. Security requires that only the Azure Monitor Agent and Microsoft Defender for Endpoint extensions can ever be installed on them, that extensions Microsoft publishes later are blocked automatically, and that no one in Azure, including subscription Owners, can install any other extension. What should you do?

Correct answer: C. On each server, run azcmagent config set extensions.allowlist with the publisher and type of the two extensions.

Allow lists and block lists are set locally on each server with azcmagent config, so nobody in Azure, not even an Owner or Global Administrator, can get past them by installing an unauthorized extension. An allow list is exclusive: only the listed publisher and type pairs install, and anything else, including extensions released later, is blocked. The extensions security article also advises turning off guest configuration on such locked-down servers, because a custom machine configuration policy could change the agent settings.

Why the other options are wrong:

  • A. On each server, run azcmagent config set config.mode monitor so that only monitoring and security extensions install. Monitor mode applies a Microsoft-managed allow list that includes other monitoring and security extensions and grows as Microsoft adds more, and you can't edit lists while it's on.
  • B. Assign an Azure Policy definition that denies every extension except the two approved types on the resource group. Azure Policy can restrict extensions, but anyone allowed to change policy assignments, such as a subscription Owner, can override or remove that protection.
  • D. On each server, run azcmagent config set extensions.blocklist with every extension type that can run scripts. A block list allows everything not listed, so extensions released later would install; Microsoft prefers allow lists because they block future extensions.

Memory hook: Owner-proof extension control lives on the server: an azcmagent allowlist.

Microsoft Learn: Security extensions

Adatum needs an Azure Automation runbook that runs on a Hybrid Runbook Worker group to check an import folder every 15 minutes, around the clock. Adatum wants to use only Azure Automation features, with no other Azure service. What should you do?

Correct answer: C. Create four hourly schedules whose start times are 15 minutes apart, and link all four to the runbook.

The Azure Automation schedules article puts the most frequent interval a schedule can be configured for at one hour, and the portal's recurrence choices start at hours. The schedule API also lists a Minute frequency with a 15-minute minimum, but no option here uses it. The article gives two ways to run more often: create four hourly schedules that start within 15 minutes of each other, or call a webhook from Azure Logic Apps. Because Adatum rules out other Azure services, four staggered hourly schedules linked to the same runbook start it every 15 minutes, and each link can still send the job to the worker group.

Why the other options are wrong:

  • A. Create a webhook for the runbook and have an Azure Logic Apps workflow call the webhook every 15 minutes. The schedules article documents this pattern too, but it depends on Azure Logic Apps, which Adatum ruled out.
  • B. Create one schedule with New-AzAutomationSchedule and an HourInterval of 0.25 so that it recurs every 15 minutes. New-AzAutomationSchedule takes HourInterval as a Byte, a whole number of hours, and the schedules article puts the most frequent interval at one hour, so 0.25 can't produce a 15-minute recurrence.
  • D. Link one hourly schedule to the runbook and to three copies of it, so that four jobs start every hour. A schedule starts every runbook linked to it at the same moment, so the four jobs would run together once an hour instead of 15 minutes apart.

Memory hook: Schedules article: hourly at most, so four staggered hourly schedules make 15 minutes.

Microsoft Learn: Shared resources: Schedules

A Woodgrove Bank administrator's script runs Invoke-Command -ComputerName SRV22 with a script block that assigns recent System log events to $events, then runs a second Invoke-Command -ComputerName SRV22 whose script block filters $events. The second script block always finds $events empty. The administrator wants both script blocks to work with the same data on SRV22. What should the script do?

Correct answer: A. Create one session with New-PSSession and pass it to both calls with -Session

With -ComputerName, Invoke-Command creates a temporary session for each call and closes it as soon as the command completes, so $events vanishes with the first session. The about_PSSessions topic says to use a PSSession when commands need to share data such as variable values: create it once with New-PSSession, then run both script blocks in it with -Session.

Why the other options are wrong:

  • B. Add -ThrottleLimit 1 to both Invoke-Command calls ThrottleLimit only limits how many remote operations run at the same time; each call still gets its own temporary session that closes when the command finishes.
  • C. Pass a session option with a longer IdleTimeout to both calls with -SessionOption IdleTimeout sets how long an idle PSSession survives; a temporary session closes as soon as its command completes, so a longer timeout preserves nothing.
  • D. Reference the variable as $Using:events in the second script block $Using: copies a value from the local session into a remote command; $events was assigned inside the first remote script block on SRV22, not locally, so there's nothing local for it to copy.

Memory hook: -ComputerName is a one-shot session; New-PSSession plus -Session keeps state.

Microsoft Learn: about_PSSessions

Litware assigns a built-in machine configuration audit policy to a resource group that holds 30 Arc-enabled servers and 20 Azure VMs, all running Windows Server 2022 in one subscription. A day later, Azure Policy shows machine configuration results for every Arc-enabled server but none for the Azure VMs. What should you do so that the Azure VMs report?

Correct answer: C. Assign the Deploy prerequisites to enable Guest Configuration policies on virtual machines initiative to the group, with a remediation task.

Azure VMs need the machine configuration extension and a system-assigned managed identity before any assignment can run. Arc-enabled servers need no extension, because the client ships inside the Connected Machine agent, and every Arc server already has a system-assigned identity, which is why only the Arc servers report. The Deploy prerequisites to enable Guest Configuration policies on virtual machines initiative adds the extension and a system-assigned identity, and a remediation task applies it to the VMs that already exist.

Why the other options are wrong:

  • A. Install the Azure Connected Machine agent on each Azure VM so that it uses the same machine configuration client as the Arc-enabled servers. Azure Arc isn't meant for VMs hosted in Azure, and its installer detects an Azure VM and stops; Azure VMs get the client through the extension instead.
  • B. Add a user-assigned managed identity to each Azure VM and grant that identity the Guest Configuration Resource Contributor role on the group. Machine configuration authenticates Azure VMs with a system-assigned identity, and the extension would still be missing, so a user-assigned identity doesn't close the gap.
  • D. Register the Microsoft.GuestConfiguration resource provider in the subscription, and then start an on-demand Azure Policy evaluation. The provider is already registered, because the Arc-enabled servers in the same subscription report results, so the missing pieces are on the VMs themselves.

Memory hook: Arc servers carry the machine configuration client; Azure VMs need the extension plus a system-assigned identity.

Microsoft Learn: 02 setup prerequisites

Tailspin Toys needs an Azure Automation runbook that clears a staging folder and restarts a service on FS01 every night. FS01 is an Arc-enabled Windows Server 2022 file server in the company datacenter, and it accepts no inbound connections from the internet. What should you do?

Correct answer: D. Add FS01 to a Hybrid Runbook Worker group, which deploys the Hybrid Worker extension, and run the runbook on that group.

A runbook in the Azure sandbox runs on the Azure platform and may not reach resources in an on-premises datacenter. The extension-based Hybrid Runbook Worker runs jobs directly on the machine that hosts it, against local resources, and on a non-Azure server it needs the Connected Machine agent and a system-assigned identity. Adding FS01 to a worker group installs the extension, and the Run on setting sends the job to that group.

Why the other options are wrong:

  • A. Deploy the Hybrid Worker extension to DC01, a domain controller in the same datacenter, and manage FS01 remotely from it. Microsoft strongly recommends never installing the Hybrid Worker extension on a domain controller, because Automation jobs would expose it to added attack paths.
  • B. Install the Log Analytics agent on FS01, link its workspace to the Automation account, and register FS01 as a Hybrid Runbook Worker. The agent-based worker that relied on the Log Analytics agent retired on August 31, 2024, and jobs on agent-based workers stopped on April 1, 2025.
  • C. Run the runbook in the Azure sandbox and have it connect to FS01 with Invoke-Command by using the server's FQDN. Sandbox jobs run in Azure, and FS01 accepts no inbound connections from the internet, so the remoting session can't be established.

Memory hook: Local work on an on-premises server: an extension-based Hybrid Runbook Worker on that server.

Microsoft Learn: Extension based hybrid runbook worker install

Contoso's new Azure Automation account runs a cloud runbook that stops development VMs every evening. The runbook must sign in to Azure without any stored secret or certificate, and its identity must be deleted automatically if the Automation account is deleted. What should you do?

Correct answer: A. Use the account's system-assigned managed identity: grant it a role on the VMs and call Connect-AzAccount -Identity.

Run As accounts retired on September 30, 2023, and a new Automation account gets a system-assigned managed identity enabled. Once that identity holds a role on the target VMs, the runbook signs in with Connect-AzAccount -Identity, with no credential to store or rotate. A system-assigned identity shares the account's lifecycle, so Azure deletes it along with the account, which doesn't happen to a user-assigned identity.

Why the other options are wrong:

  • B. Create a Run As account for the Automation account and sign in with its certificate from the runbook. Run As accounts retired on September 30, 2023, and they depended on a certificate that had to be renewed.
  • C. Register an app in Microsoft Entra ID, store its client secret in a credential asset and sign in with it. A client secret stored in an asset is exactly the kind of secret the requirement rules out, and it must be rotated before it expires.
  • D. Create a user-assigned managed identity, attach it to the account and call Connect-AzAccount -Identity with its client ID. A user-assigned identity can authenticate the runbook, but it's a standalone resource with its own lifecycle, so it survives the account's deletion.

Memory hook: Runbook sign-in today: Connect-AzAccount -Identity with the account's own system-assigned identity.

Microsoft Learn: Enable managed identity for automation

Topic 3 of 7

Manage virtual machines (9 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 9 questions and explanations

Adatum runs PRINT01, a clustered VM on a three-node Windows Server 2025 Hyper-V failover cluster. Twice this month the Print Spooler service inside PRINT01 stopped while the guest operating system kept running, and the cluster took no action. You need the cluster to watch that service and respond according to the VM resource's failover settings, for example by restarting the VM. What should you run?

Correct answer: C. Add-ClusterVMMonitoredItem -VirtualMachine PRINT01 -Service Spooler

Add-ClusterVMMonitoredItem configures monitoring for a service, or for an Event Tracing for Windows event, on a virtual machine. When the monitored service fails, the cluster responds with the action set in the failover configuration for the VM resource, such as restarting the VM. Clustering PRINT01 already protects it against a node failure; monitoring the Spooler service adds a response to a failure inside the guest, which is the gap in this scenario.

Why the other options are wrong:

  • A. Set-VMNetworkAdapter -VMName PRINT01 -NotMonitoredInCluster $false This setting controls whether the cluster monitors the VM's network adapter, which it does by default for clustered VMs. It has nothing to do with a service stopping inside the guest.
  • B. Add-ClusterVirtualMachineRole -VMName PRINT01 This cmdlet makes a VM a clustered role that fails over when its node fails or needs maintenance. PRINT01 is already clustered, and the role on its own doesn't watch services inside the guest.
  • D. Add-ClusterGenericServiceRole -ServiceName Spooler A generic service role makes a service highly available on the cluster nodes themselves: the cluster starts it and queries the Service Controller on a node. It doesn't watch the Spooler service running inside PRINT01.

Memory hook: A service failing inside a clustered VM: Add-ClusterVMMonitoredItem, not a generic service role on the nodes.

Microsoft Learn: Add-ClusterVMMonitoredItem

Tailspin Toys is setting up GPU partitioning on a two-node Windows Server 2025 Datacenter failover cluster. Both nodes have identical NVIDIA L4 GPUs with the vendor's GPU partitioning driver installed. In Windows Admin Center, the GPUs extension shows Paravirtualization in the Assigned status column for every GPU, and none shows Partitioned. What should the administrator do next?

Correct answer: D. Enable SR-IOV and virtualization support in each node's BIOS

In Windows Admin Center's GPUs extension, Learn defines Paravirtualization as a GPU that has the partitioning driver capability installed while SR-IOV on the server isn't enabled, and says to continue the GPU partitioning workflow only when every GPU shows Partitioned. The host prerequisites in Partition and assign GPUs to a virtual machine include enabling virtualization support and SR-IOV in each server's BIOS, so that is the next step on both nodes.

Why the other options are wrong:

  • A. Run Set-VMHostPartitionableGpu with a partition count on each node Partition counts come later. Learn says to proceed only when every GPU shows Partitioned, and setting a count doesn't turn on SR-IOV.
  • B. Install the GPU vendor's driver inside each VM that needs a partition Guest drivers are a VM prerequisite for using a partition, but they don't change the host-side status that shows SR-IOV is off.
  • C. Run Dismount-VMHostAssignableDevice for each GPU on both nodes Dismounting is the DDA path, and a physical GPU can be assigned with DDA or partitioned, never both.

Memory hook: GPUs extension shows Paravirtualization: the driver is there, SR-IOV isn't. Fix the BIOS before partitioning.

Microsoft Learn: Partition assign VM gpu

Contoso's VM SQL05 runs on a Windows Server 2025 Hyper-V host with dynamic memory set to startup RAM 8 GB, minimum RAM 4 GB and maximum RAM 16 GB. During month-end processing, SQL05's memory demand reaches the 16 GB ceiling while the host still has spare memory. SQL05 can't be restarted until next week. Which change should the administrator make now?

Correct answer: B. Raise SQL05's maximum RAM to 24 GB while it runs

The Hyper-V Dynamic Memory overview lists the dynamic memory changes Hyper-V accepts while a VM is running: increase the maximum memory and decrease the minimum memory. SQL05 is pinned at its 16 GB maximum and the host has spare memory, so raising maximum RAM lets Hyper-V assign more as demand grows, with no restart. Startup RAM only sets the memory the VM needs to start, so it matters at the next boot, not during month-end.

Why the other options are wrong:

  • A. Raise SQL05's minimum RAM to 12 GB while it runs Learn allows only lowering the minimum while the VM runs. The minimum is the floor after startup, so raising it wouldn't let SQL05 go past 16 GB.
  • C. Raise SQL05's memory weight to the highest setting while it runs Memory weight only decides which VMs get memory first when the host can't satisfy them all. The host has spare memory, and the 16 GB ceiling stays where it is.
  • D. Raise SQL05's startup RAM to 16 GB while it runs Startup RAM is the memory the VM needs to start. It isn't one of the two running changes Learn lists, and it doesn't lift the 16 GB ceiling.

Memory hook: Dynamic memory VM pinned at its ceiling: raise Maximum RAM while it runs. Running changes: maximum up, minimum down.

Microsoft Learn: Dynamic memory

Tailspin Toys delegates Hyper-V work on HV03, a Windows Server 2025 host, without granting local Administrators rights. Operator Kai signs in to HV03 and runs Enter-PSSession -VMName WEB03 with valid credentials for WEB03, a running Windows Server 2025 VM on HV03. It fails with "The input VMName parameter doesn't resolve to any virtual machine." On HV03, Kai is a standard user and a member of Remote Management Users. What should a senior administrator do?

Correct answer: B. Add Kai's account to the Hyper-V Administrators group on HV03

PowerShell Direct requires the user to be signed in to the host as a Hyper-V administrator and to supply valid credentials for the guest. Learn's troubleshooting lists two causes for this VMName error: the user isn't a Hyper-V Administrator, or the VM doesn't exist. WEB03 is running on HV03 and Kai holds working guest credentials, so the missing piece is host-side Hyper-V rights. The Hyper-V Administrators group grants complete access to Hyper-V features without making Kai a local administrator.

Why the other options are wrong:

  • A. Run Enable-PSRemoting inside WEB03 to turn on WinRM remoting PowerShell Direct works regardless of the guest's network configuration or remote management settings, so WinRM inside WEB03 isn't involved.
  • C. Enable the Guest Service Interface integration service for WEB03 Guest Service Interface carries Copy-VMFile transfers. PowerShell Direct uses the Hyper-V PowerShell Direct Service, and the failure here is on the host side.
  • D. Add Kai's account to the local Administrators group inside WEB03 Guest group membership doesn't help Kai's session find the VM on the host. Kai already has valid WEB03 credentials; the error comes from missing Hyper-V rights on HV03.

Memory hook: PowerShell Direct needs two identities: a Hyper-V administrator on the host and valid credentials in the guest.

Microsoft Learn: PowerShell direct

Contoso's training team needs 20 lab VMs on one Windows Server 2025 Hyper-V host. Every VM must start from the same sysprepped image, BASE.vhdx, the image must stay unchanged whatever students do in their VMs, and the lab must use as little host storage as possible. What should you create for each VM?

Correct answer: A. A differencing disk whose parent is BASE.vhdx

A differencing disk is created from an existing parent disk, and changes made to it don't affect the parent, so BASE.vhdx stays a clean base image whatever students do. The Hyper-V storage I/O performance guide adds that a differencing file allocates space only for blocks written to it and reads every other block from the parent, so 20 children store far less than 20 full copies of the image would. New-VHD creates one with the -Differencing switch and -ParentPath naming the parent.

Why the other options are wrong:

  • B. A fixed-size copy of BASE.vhdx A fixed-size disk allocates its full size when it's created, so 20 fixed copies take far more host storage than 20 differencing disks, even though each one leaves BASE.vhdx untouched.
  • C. A pass-through disk on a dedicated physical disk A pass-through disk gives a VM direct access to a physical disk, bypassing the virtual hard disk layer; it can't share one image among 20 VMs and needs a physical disk for each of them.
  • D. A dynamically expanding copy of BASE.vhdx A dynamically expanding disk grows only as data is written, which sounds economical, but every copy already contains all of the image's data, so the image is stored 20 times.

Memory hook: One golden image, many VMs, least storage: differencing disks on a parent that never changes.

Microsoft Learn: Features terminology

Woodgrove Bank wants VM RENDER01 on standalone host HV06, which runs Windows Server 2025, to own an entire NVIDIA GPU through Discrete Device Assignment. The GPU vendor supplies no security mitigation driver. RENDER01 is shut down, uses static memory and already has enough MMIO space. $loc holds the GPU's PCIe location path and $id its PnP instance ID. Which sequence should the administrator run on HV06?

Correct answer: C. Set-VM -Name RENDER01 -AutomaticStopAction TurnOff, then Disable-PnpDevice -InstanceId $id, then Dismount-VMHostAssignableDevice -Force -LocationPath $loc, then Add-VMAssignableDevice -LocationPath $loc -VMName RENDER01

Learn's article on deploying graphics devices with DDA sets the order: configure the VM's automatic stop action to TurnOff, because a VM with an assigned device loses save and restore; disable the device in the host; dismount it with Dismount-VMHostAssignableDevice; then assign it with Add-VMAssignableDevice, naming the location path and the VM. With no vendor security mitigation driver, the dismount must include -Force to bypass the security warning, which changes the host's security profile, so DDA belongs with trusted tenants.

Why the other options are wrong:

  • A. Set-VM -Name RENDER01 -AutomaticStopAction Save, then Disable-PnpDevice -InstanceId $id, then Dismount-VMHostAssignableDevice -Force -LocationPath $loc, then Add-VMAssignableDevice -LocationPath $loc -VMName RENDER01 Save isn't available while a device is assigned, since DDA removes save and restore from the VM; that's why Learn sets the automatic stop action to TurnOff.
  • B. Set-VM -Name RENDER01 -AutomaticStopAction TurnOff, then Dismount-VMHostAssignableDevice -Force -LocationPath $loc, then Disable-PnpDevice -InstanceId $id, then Add-VMAssignableDevice -LocationPath $loc -VMName RENDER01 Learn's procedure disables the device in the host before Dismount-VMHostAssignableDevice runs. Dismounting first reverses that documented order.
  • D. Set-VM -Name RENDER01 -AutomaticStopAction TurnOff, then Disable-PnpDevice -InstanceId $id, then Dismount-VMHostAssignableDevice -LocationPath $loc, then Add-VMAssignableDevice -LocationPath $loc -VMName RENDER01 Learn says that without a mitigation driver the dismount must use -Force to bypass the security warning, so this sequence stops at the dismount.

Memory hook: DDA order: stop action TurnOff, disable the device, dismount it (with -Force when there's no mitigation driver), then Add-VMAssignableDevice.

Microsoft Learn: Deploying graphics devices using dda

Tailspin Toys deploys four Windows Server 2025 VMs with no public IP addresses into a subnet whose Default outbound access setting is disabled. The VMs reach each other but fail Windows activation and Windows Update. All outbound internet traffic from the subnet must leave from a single public IP address resource in Tailspin's subscription so a partner can allow-list it. What should you do?

Correct answer: A. Create a NAT gateway that uses one public IP address, and then associate the NAT gateway with the subnet.

Learn's article on default outbound access says VMs in a private subnet need an explicit outbound method to reach public endpoints, and names Windows activation and Windows Update among the services that fail without one. Associating a NAT gateway with the subnet is the method Learn recommends for most scenarios. With one public IP address resource on the gateway, the subnet's outbound flows leave from that address, which Tailspin controls and the partner can allow-list.

Why the other options are wrong:

  • B. Associate a route table with the subnet that sends 0.0.0.0/0 to the next hop type Internet. Learn notes that routes with next hop type Internet break in a private subnet, because no explicit outbound method stands behind them.
  • C. Set the subnet's Default outbound access setting to enabled, and then stop, deallocate and start each VM. Re-enabling default outbound access restores connectivity, but the default outbound IP is owned by Microsoft and can change without notice, so it can't meet the allow-list requirement.
  • D. Add an outbound rule to the subnet's NSG that allows the Internet service tag on TCP ports 80 and 443. An NSG rule only filters traffic and doesn't create an outbound path; outbound internet traffic is already allowed by the default AllowInternetOutBound rule.

Memory hook: Private subnet with no way out: attach a NAT gateway to the subnet for explicit, predictable egress.

Microsoft Learn: Default outbound access

An administrator at Fabrikam turned on the Guest Service Interface integration service for VM FILE09 in Hyper-V Manager, then ran Copy-VMFile on the host to push a configuration file into FILE09, but the copy still fails. Inside FILE09, a hardening baseline had set the Hyper-V Guest Service Interface service's startup type to Disabled. What should the administrator do?

Correct answer: B. Inside FILE09, change the Guest Service Interface service from Disabled and start it

Learn's Manage Hyper-V Integration Services page says each service must be enabled in both the host and the guest to work. Turning a service on in Hyper-V normally starts its guest service, and Hyper-V restarts one that's merely stopped, but if the service is disabled in the guest, Hyper-V is unable to start it. The host side is already on, so the fix is inside FILE09: clear the Disabled startup type on vmicguestinterface and start it, and Copy-VMFile can then deliver the file.

Why the other options are wrong:

  • A. Run Enable-VMIntegrationService for FILE09 again so Hyper-V starts the guest service The host side is already enabled. Learn says Hyper-V can't start an integration service that's disabled in the guest, so repeating the host command changes nothing.
  • C. Inside FILE09, restart the Hyper-V PowerShell Direct Service (vmicvmsession) vmicvmsession carries PowerShell Direct sessions, not Copy-VMFile transfers, and restarting it leaves the disabled Guest Service Interface service as it was.
  • D. Enable the Key-Value Pair Exchange integration service for FILE09 in Hyper-V Manager Data Exchange shares small string key-value pairs between host and guest; Copy-VMFile depends on Guest Service Interface.

Memory hook: Integration services need both sides: enabled in Hyper-V and not disabled in the guest. Disabled in the guest wins.

Microsoft Learn: Manage hyper v integration services

PKI02, Contoso's offline root certification authority, is a Generation 2 Windows Server 2025 VM on Hyper-V host HV01, which also runs Windows Server 2025. PKI02 is disconnected from every network, and Remote Desktop is enabled inside it. Signed in at HV01, an administrator must sign in to PKI02 with a smart card in a USB reader attached to HV01, but VMConnect opens only a basic session and offers no local resources. What should the administrator do first?

Correct answer: A. Turn on Enhanced Session Mode Policy and Enhanced Session Mode in HV01's Hyper-V Settings

Enhanced Session Mode reconnects VMConnect to the VM over RDP through the Hyper-V host, so a smart card, drive or USB device on the VMConnect computer can be used inside a VM that has no network path. Learn's requirements for using local resources: the host must have the Enhanced Session Mode Policy (under Server) and Enhanced Session Mode (under User) settings turned on, and the VM must run a recent Windows version with Remote Desktop Services enabled. PKI02, on Windows Server 2025 with Remote Desktop on, already meets the guest side, so the host settings come first; then Show Options, Local Resources and More expose smart cards.

Why the other options are wrong:

  • B. Dismount the smart card reader from HV01 and assign it to PKI02 with Discrete Device Assignment DDA passes whole PCIe devices, and Microsoft supports it for two device classes, graphics adapters and NVMe storage. A USB smart card reader is neither, and Hyper-V doesn't natively pass USB devices through; Enhanced Session Mode redirects them instead.
  • C. Enable the Guest Service Interface integration service for PKI02 and reconnect VMConnect Guest Service Interface lets the host push files into the guest with Copy-VMFile. It redirects no devices and doesn't turn a basic VMConnect session into an enhanced one.
  • D. Open Remote Desktop Connection to PKI02 and redirect smart cards under Local Resources Remote Desktop Connection needs a network path to PKI02, which is kept off every network. Enhanced Session Mode is how RDP reaches a VM through the host instead.

Memory hook: Devices in a VM with no network: turn on Enhanced Session Mode Policy and Enhanced Session Mode on the host, then pick them under Local Resources.

Microsoft Learn: Use local resources virtual machine connection

Topic 4 of 7

Implement and manage an on-premises and hybrid networking infrastructure (9 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 9 questions and explanations

Six weeks ago, an Adatum administrator selected Scavenge stale resource records in the Aging properties of the Active Directory-integrated zone corp.adatum.com, keeping the default 7-day intervals. DC1 (10.0.0.10) hosts the zone, and no other aging or scavenging setting has changed on any DNS server. Records for laptops retired two months ago are still in the zone. What should the administrator do so that stale records are removed automatically?

Correct answer: D. Run Set-DnsServerScavenging -ScavengingState $true -ScavengingInterval 7.00:00:00 on DC1

Learn's DNS aging and scavenging article says both features are disabled by default and must both be enabled: scavenging deletes a record only when scavenging is on at the DNS server, aging is on for the zone, the record has a nonzero timestamp, and its timestamp plus the no-refresh and refresh intervals is earlier than the server time. The zone half is done, but no server runs scavenging passes. A ScavengingInterval above zero turns on server-level scavenging on DC1, one server per zone as Learn recommends, and completes the pair.

Why the other options are wrong:

  • A. Run Set-DnsServerZoneAging -Name corp.adatum.com -ScavengeServers 10.0.0.10 on DC1 By default every DNS server that hosts the zone may scavenge it. Naming a scavenging server only limits which servers may scavenge; it doesn't turn scavenging on.
  • B. Run Set-DnsServerZoneAging -Name corp.adatum.com -NoRefreshInterval 12:00:00 -RefreshInterval 12:00:00 Shorter intervals don't enable server-level scavenging, and a no-refresh plus refresh total under 24 hours can delete records of statically addressed servers, which re-register once a day.
  • C. Run Set-DnsServerResourceRecordAging -ZoneName corp.adatum.com -Recurse on DC1 This cmdlet sets the timestamps of the zone's records to the current time, which restarts the aging clock on the retired laptops' records. Server-level scavenging, which does the deleting, stays off.

Memory hook: Aging on the zone stamps the clock; scavenging on the server does the deleting. You need both.

Microsoft Learn: Aging scavenging

Fabrikam is moving six Windows Server 2025 VMs from an on-premises /29 network, where they used host addresses .1 through .6, to a dedicated subnet in an Azure virtual network. Each VM gets one NIC with a static private IP address, and the network team wants the smallest subnet that holds all six. Which subnet size and host addresses should the administrator use?

Correct answer: D. A /28 subnet, assigning the VMs host addresses .4 through .9

The Azure Virtual Network FAQ says Azure reserves five addresses in every subnet: the network address, the next address for the default gateway, two more to map Azure DNS, and the last address for broadcast. The smallest supported IPv4 subnet, a /29, therefore leaves only three usable addresses. A /28 has 16 addresses and 11 usable ones, starting at .4, so .4 through .9 holds all six VMs in the smallest subnet that fits.

Why the other options are wrong:

  • A. A /29 subnet, assigning the VMs host addresses .1 through .6 Azure reserves five of a /29's eight addresses, which leaves only .4 through .6, and .1 belongs to Azure's default gateway.
  • B. A /28 subnet, assigning the VMs host addresses .1 through .6 The size fits, but .1, .2 and .3 are reserved for the default gateway and Azure DNS mapping, so they can't go to the VMs' NICs.
  • C. A /27 subnet, assigning the VMs host addresses .4 through .9 A /27 works, but it isn't the smallest subnet that fits, because a /28 already offers 11 usable addresses.

Memory hook: Azure subnet math: Azure keeps each subnet's first four addresses and its last, so usable equals total minus 5 and the first usable host is the network address plus 4.

Microsoft Learn: Virtual networks FAQ

Woodgrove Bank's DHCP scope for 10.10.2.0/24 leases 10.10.2.1 through 10.10.2.254. The network team keeps 10.10.2.1 through 10.10.2.30 for servers and printers whose static addresses are typed into each device, and it assigns new static devices from that block. Users now see duplicate address warnings. The devices must keep their static settings. What should the administrator do?

Correct answer: A. Add an exclusion range for 10.10.2.1 through 10.10.2.30 to the existing scope

Learn's DHCP scopes article describes this conflict: when devices are configured by hand with addresses from a scope's range, you and the DHCP server can assign the same address to different devices. An exclusion range is a contiguous range within the scope that the server isn't allowed to use, and Learn says to use exclusions for all devices configured with a static IP address and to leave placeholder addresses for growth. Excluding 10.10.2.1 through 10.10.2.30 ends the overlap for today's static devices and the ones added later, while they keep their settings.

Why the other options are wrong:

  • B. Create a second scope on the subnet that leases only 10.10.2.31 through 10.10.2.254 Each subnet can have only one DHCP scope with one continuous range. To keep part of a subnet out of DHCP, define the full range and exclude the static addresses.
  • C. Create a reservation in the scope for each of the statically addressed devices Learn says a device must support DHCP to use a reservation and recommends exclusions for statically configured devices. A reservation per existing device also leaves the block's unused addresses in the pool, so the next static device can conflict again.
  • D. Shorten the scope's lease duration so that conflicting leases expire sooner A shorter lease changes how long clients keep addresses, not which addresses the server offers, so it keeps handing out 10.10.2.1 through 10.10.2.30.

Memory hook: Static devices inside a scope's range: exclude their addresses; reservations are only for devices that use DHCP.

Microsoft Learn: Dhcp scopes

Contoso's virtual network VNet-Prod uses 10.1.0.0/16 and has a route-based VpnGw2AZ gateway. Contoso acquired Litware, whose datacenter also uses 10.1.0.0/16, and needs a site-to-site VPN over which Litware servers and Azure VMs can each start connections to the other. Neither network can be re-addressed this year. What should the administrator configure on the VPN gateway?

Correct answer: D. Static IngressSNAT and EgressSNAT rules, both linked to the Litware connection

Learn's NAT overview for Azure VPN Gateway says NAT connects on-premises networks to a virtual network with overlapping addresses, on VpnGw2 to VpnGw5 and VpnGw2AZ to VpnGw5AZ, and for IPsec site-to-site connections only. Its FAQ says a connection needs both ingress and egress rules when the on-premises space overlaps the virtual network's space. Dynamic NAT traffic must start from the internal mapping side, so letting both sides start connections calls for static 1:1 rules.

Why the other options are wrong:

  • A. Dynamic IngressSNAT and EgressSNAT rules, both linked to the Litware connection Learn says dynamic NAT traffic is unidirectional: connections must start from the side in the rule's internal mapping, so traffic arriving at an external mapping fails. Two-way initiation needs static rules.
  • B. BGP on the Litware connection, with route translation on and no NAT rules created Route translation converts routes only on connections that have NAT rules. Without rules, the two 10.1.0.0/16 spaces still overlap, and Learn says overlapping spaces make communication fail.
  • C. A static IngressSNAT rule for Litware's prefix only, linked to the Litware connection An ingress rule translates only Litware's side. Learn requires an EgressSNAT rule too whenever the on-premises space overlaps the virtual network's own address space.

Memory hook: Overlap that both sides must be able to initiate: static IngressSNAT plus EgressSNAT on the connection, VpnGw2 or higher.

Microsoft Learn: Nat overview

Contoso moved DHCP for its branch clients to DHCP-AZ1, a Windows Server VM in an Azure virtual network reached over VPN. Following Microsoft's documented design, a Microsoft Loopback Adapter on DHCP-AZ1 has the static address 10.0.0.100, weak host send and receive and forwarding are enabled, and DHCP listens on 10.0.0.100. Branch relay agents forward to 10.0.0.100, but clients still get 169.254.x.x addresses. What should the administrator do?

Correct answer: C. Add 10.0.0.100 as a static secondary IP configuration on DHCP-AZ1's Azure network interface

Learn's article on deploying a DHCP server in an Azure VM says that after you set the loopback adapter's address in Windows, you must add the same address as a secondary IP configuration on the VM's Azure network interface, a critical step that lets Azure route the unicast DHCP requests from the relay to the server. Every other step of that design is in place, so the missing NIC configuration is why relayed requests never arrive and clients fall back to APIPA.

Why the other options are wrong:

  • A. Create a load balance failover relationship between DHCP-AZ1 and a second DHCP VM in Azure A second server adds redundancy, but relayed requests still can't reach DHCP-AZ1 until its NIC carries 10.0.0.100, and the new VM would need the same setup.
  • B. Add 10.0.0.100 to DHCP-AZ1's primary Ethernet adapter inside Windows as well Learn's design needs the address on the Azure NIC so that Azure can route requests to it. Adding it to another adapter inside Windows still leaves the NIC without an IP configuration for 10.0.0.100.
  • D. Point the branch relay agents at 10.0.0.255, the broadcast address of DHCP-AZ1's Azure subnet The Azure Virtual Network FAQ says broadcast isn't supported in virtual networks, and Learn says direct broadcasts to a DHCP server don't work there by design. Relays must unicast to the server's address.

Memory hook: DHCP server in an Azure VM: the loopback address must also be a secondary IP configuration on the Azure NIC.

Microsoft Learn: Dhcp Azure

DC1 and DC2 host the Active Directory-integrated zone contoso.com. The research department now runs research.contoso.com on its own DNS servers, 10.5.0.10 and 10.5.0.11, and manages that zone itself. An administrator created a conditional forwarder for research.contoso.com on DC1 and DC2 that targets those servers, but clients that use DC1 and DC2 get NXDOMAIN for every research.contoso.com name. What should the administrator do?

Correct answer: C. Create a delegation for research in contoso.com that lists both research DNS servers

Learn's DNS forwarding article explains that when a query name falls inside a zone the server hosts and no delegation applies, the server stays authoritative and returns an authoritative NXDOMAIN; it doesn't send that query to a conditional forwarder, a server-level forwarder or root hints. DC1 and DC2 host contoso.com, so the research.contoso.com forwarder is never consulted. A delegation for research in the parent zone creates the zone cut that refers those queries to the research servers.

Why the other options are wrong:

  • A. Enable Use recursion on the research.contoso.com conditional forwarder on both servers Use recursion only decides whether the server may try other paths when the forwarder's targets don't answer. Here the hosted zone answers before the forwarder is ever consulted.
  • B. Add 10.5.0.10 and 10.5.0.11 to the server-level forwarder list on DC1 and DC2 Server-level forwarders are used only when no hosted zone, conditional forwarder or delegation controls the query, and the hosted contoso.com zone still answers first with NXDOMAIN.
  • D. Run Clear-DnsServerCache on DC1 and DC2, and then repeat the client lookups The NXDOMAIN comes from the authoritative contoso.com zone, not from a cached answer, so clearing the cache changes nothing.

Memory hook: Child of a zone you host? Delegate it; a conditional forwarder never fires inside your own zone.

Microsoft Learn: DNS: Forwarding

At Contoso, DHCP runs on DC1 and DC2, two domain controllers in a DHCP failover relationship. They register A and PTR records for clients in the Active Directory-integrated zone contoso.com, which allows only secure dynamic updates, and no DNS credentials are configured on either server. A security review flags that the DHCP service can update or delete any record in the zone. What should the administrator do?

Correct answer: C. Create a dedicated standard user account and configure both DHCP servers to use it for DNS dynamic updates

Learn's Dynamic update article says a DHCP Server service installed on a domain controller inherits the domain controller's permissions, so it can update or delete any record in a secure Active Directory-integrated zone. Its fix is a dedicated standard user account whose credentials the DHCP servers use for dynamic updates, set in the DHCP console, with netsh dhcp server set dnscredentials or with Set-DhcpServerDnsCredential. The failover overview adds that both partners must use the same credentials.

Why the other options are wrong:

  • A. Change the zone's dynamic updates setting to Nonsecure and secure so that record ownership no longer matters Accepting nonsecure updates lets any computer overwrite records in the zone. It weakens the zone instead of removing the domain controllers' rights from the DHCP service.
  • B. Configure both DHCP servers to register records with the credentials of a member of Domain Admins Learn calls for a standard user account used only to supply DNS update credentials. Domain Admins credentials would leave the DHCP service with administrative control over DNS, which is what the review flagged.
  • D. Add the DC1 and DC2 computer accounts to the DnsUpdateProxy group so that each can update the other's records Members of DnsUpdateProxy don't secure the names they register, so the next writer takes ownership, and Learn warns against the group in secure-only zones without extra steps. The service also keeps the domain controllers' rights.

Memory hook: DHCP on a DC: register DNS records with a dedicated standard user, the same one on both failover partners.

Microsoft Learn: Dynamic update

Litware's new network printer, PRN-04, is a DHCP client with MAC address F0-DE-F1-7A-00-5E. It must always receive 172.16.8.40 from scope 172.16.8.0, and administrators must be able to change that address later from the DHCP server without signing in to the printer. No reservation exists for it yet. Which command should the administrator run?

Correct answer: B. Add-DhcpServerv4Reservation -ScopeId 172.16.8.0 -IPAddress 172.16.8.40 -ClientId F0-DE-F1-7A-00-5E

The Add-DhcpServerv4Reservation reference says the cmdlet reserves the specified address in the scope for a client, and once reserved, the address is leased only to the client with that client ID; for Windows clients the MAC address is the client ID. Learn's DHCP scopes article adds that reservations let you change a device's address without signing in to it, as long as the device uses DHCP. No reservation exists yet, so one has to be added.

Why the other options are wrong:

  • A. Add-DhcpServerv4Lease -ScopeId 172.16.8.0 -IPAddress 172.16.8.40 -ClientId F0-DE-F1-7A-00-5E Add-DhcpServerv4Lease creates a lease record for testing purposes only, and Learn lists it as supported only on Windows Server 2012. It doesn't reserve the address for PRN-04.
  • C. Add-DhcpServerv4ExclusionRange -ScopeId 172.16.8.0 -StartRange 172.16.8.40 -EndRange 172.16.8.40 An exclusion stops the server from handing out 172.16.8.40 at all, so PRN-04 would get some other address.
  • D. Set-DhcpServerv4Reservation -IPAddress 172.16.8.40 -ClientId F0-DE-F1-7A-00-5E -Name PRN-04 -Type Dhcp Set-DhcpServerv4Reservation modifies the properties of an existing reservation. With no reservation for 172.16.8.40, there's nothing to modify.

Memory hook: Same address every time for a DHCP client: Add a reservation by MAC; Set only edits one that exists.

Microsoft Learn: Add dhcpserverv4reservation

Malware on some Woodgrove Bank workstations queries names under contosomalicious.com. The Windows Server 2025 DNS servers must drop every query for names under that domain without sending any response, so the clients time out, and must keep answering all other queries normally. Which command should the administrator run on each DNS server?

Correct answer: B. Add-DnsServerQueryResolutionPolicy -Name 'BlockBad' -Action IGNORE -FQDN 'EQ,*.contosomalicious.com'

The Add-DnsServerQueryResolutionPolicy reference says that when a server-level policy matches, IGNORE drops the query while DENY still returns an error response, and Learn's query filter article adds that IGNORE sends no response at all, so the client times out. EQ,*.contosomalicious.com matches the names under that domain suffix, while Learn's allow-list examples use NE to act on every name that doesn't match. Server-level policies are evaluated before zone-level ones.

Why the other options are wrong:

  • A. Add-DnsServerQueryResolutionPolicy -Name 'BlockBad' -Action IGNORE -FQDN 'NE,*.contosomalicious.com' NE inverts the match: the policy would drop every query except those for contosomalicious.com, which is the allow-list pattern.
  • C. Add-DnsServerQueryResolutionPolicy -Name 'BlockBad' -Action DENY -FQDN 'EQ,*.contosomalicious.com' DENY still answers the client with an error code instead of staying silent, so the clients fail fast rather than time out as required.
  • D. Add-DnsServerPrimaryZone -Name 'contosomalicious.com' -ReplicationScope 'Forest' An empty authoritative zone answers queries for names in it with a negative response such as NXDOMAIN, so the clients still get a reply.

Memory hook: IGNORE stays silent, DENY still answers with an error, and NE flips the list.

Microsoft Learn: Apply filters on DNS queries

Topic 5 of 7

Manage storage and file services (12 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 12 questions and explanations

Fabrikam is creating a new SMB Azure file share for an engineering archive. The share must run on HDD media, keep a copy in a secondary region through geo-zone-redundant storage (GZRS), and let the storage administrator set IOPS and throughput separately from capacity. Which storage account should the administrator create to hold the share?

Correct answer: D. A FileStorage account with the StandardV2_GZRS SKU

Setting IOPS and throughput apart from capacity is the provisioned v2 billing model, and the Understand Azure Files billing page lists HDD provisioned v2 classic file shares as a FileStorage account with a StandardV2 SKU. HDD provisioned v2 supports local, zone, geo and geo-zone redundancy for SMB, so StandardV2_GZRS meets every requirement. Learn also recommends provisioned v2 for all new Azure Files deployments.

Why the other options are wrong:

  • A. A FileStorage account with the Premium_ZRS SKU Premium_ZRS is the provisioned v1 SKU, which is SSD only and derives IOPS and throughput from the provisioned storage instead of setting them separately.
  • B. A general-purpose v2 account with the Standard_GZRS SKU A general-purpose v2 account with a Standard SKU holds pay-as-you-go HDD shares, which bill on usage and offer no separate IOPS or throughput provisioning.
  • C. A FileStorage account with the PremiumV2_ZRS SKU PremiumV2 is the SSD provisioned v2 SKU, and SSD shares offer only local or zone redundancy, so it misses both the HDD and the geo requirement.

Memory hook: FileStorage plus StandardV2 is HDD provisioned v2; PremiumV2 is SSD; Standard SKUs in general-purpose v2 are pay-as-you-go.

Microsoft Learn: Understanding billing

Contoso's file server FS2 runs Windows Server 2025. A 4 TB data disk on it was initialized with the MBR partition style and holds one 1.5 TB NTFS volume with 900 GB of data. Disk Management shows the rest of the disk as two separate unallocated sections, and the section past the 2 TB mark can't be used. Management wants all 4 TB available as one volume. What should you do?

Correct answer: B. Back up the data, delete the volume, convert the disk to GPT, then create one volume and restore

Microsoft's page on converting a disk to GPT or MBR says MBR is limited to disks of 2 TB or smaller and that a disk's partition style can change only when the disk holds no partitions or volumes. The support article on disks larger than 2 TB adds that on an MBR disk Windows can partition only the first 2 TB. So the data comes off, the volume is deleted, the disk becomes GPT, and one new volume spans all 4 TB.

Why the other options are wrong:

  • A. Create a second volume in the section past 2 TB, then mount it in an empty folder on the first volume Windows can't create a partition past the first 2 TB of an MBR disk, so that space can't hold a volume, and two volumes wouldn't meet the one-volume goal anyway.
  • C. Run Resize-Partition to extend the existing NTFS volume across both of the unallocated sections Extending looks like the quick fix, but MBR addressing stops at 2 TB, so the volume can grow only into the first section and never reaches the full 4 TB.
  • D. Convert the disk to GPT in Disk Management with the volume still in place, then extend the volume Converting to GPT is the right idea in the wrong order: Disk Management converts the partition style only after every partition and volume on the disk has been deleted.

Memory hook: Past 2 TB means GPT, and a disk switches partition style only when it's empty.

Microsoft Learn: Change disk partition scheme

FS6, a Windows Server 2025 file server at Fabrikam, hosts 40 shares, and no share or client requires SMB encryption today. Data on the Payroll share crosses a carrier-managed WAN and must be protected from eavesdropping in transit. The other shares serve large engineering files, and their CPU overhead must not rise. Every client supports SMB 3.1.1. What should the administrator run on FS6?

Correct answer: B. Set-SmbShare -Name Payroll -EncryptData $true

Learn's SMB security enhancements page says SMB Encryption protects data from eavesdropping on untrusted networks and can be enabled per share, for the entire file server or when mapping drives. Set-SmbShare -Name Payroll -EncryptData $true encrypts only that share's traffic, so the engineering shares avoid the performance cost Learn says comes with any end-to-end encryption. Every client runs SMB 3.1.1, so none is rejected for lacking encryption support.

Why the other options are wrong:

  • A. Set-SmbServerConfiguration -EncryptData $true That turns encryption on for the whole file server, so all 40 shares pay the overhead the engineering team ruled out.
  • C. Enable-BitLocker on the volume that holds the Payroll folder BitLocker protects data at rest on the disk. Learn notes that SMB Encryption and BitLocker are unrelated, and BitLocker does nothing for data on the wire.
  • D. Set-SmbServerConfiguration -RequireSecuritySignature $true Signing protects SMB messages from tampering, but it doesn't encrypt them, so payroll data would still cross the WAN readable.

Memory hook: One sensitive share: Set-SmbShare -EncryptData. Whole server: Set-SmbServerConfiguration -EncryptData. At rest: BitLocker.

Microsoft Learn: Smb security

Tailspin Toys hosts three SQL Server VMs for one customer on a Hyper-V cluster that keeps VHDX files on a Scale-Out File Server running Windows Server 2025. Each VM has one data VHDX, and all three use a Dedicated Storage QoS policy named Gold with a 2,000 IOPS maximum. The new contract caps the three disks together at 6,000 IOPS, and one busy disk may use all 6,000 while the other two are idle. What should you do?

Correct answer: A. Create an Aggregated policy with a 6,000 IOPS maximum and assign it to all three VHDX files

The Storage QoS overview defines an Aggregated policy as one whose minimum and maximum are shared by every VHDX assigned to it, while a Dedicated policy applies its limits to each VHDX separately. It also states that a policy's type can't be changed after it's created. A new Aggregated policy from New-StorageQosPolicy, assigned with Set-VMHardDiskDrive -QoSPolicyID, caps the three disks at 6,000 IOPS combined and lets one disk use the whole allocation.

Why the other options are wrong:

  • B. Create three Dedicated policies with 2,000 IOPS maximums and assign one to each of the VHDX files Three 2,000 IOPS caps do hold the total at 6,000, but no single disk can go past 2,000 while the other two sit idle.
  • C. Raise the Gold policy's maximum to 6,000 IOPS and keep it on the three VHDX files A Dedicated policy applies its maximum to each VHDX separately, so a 6,000 IOPS Dedicated maximum lets the three disks reach 18,000 IOPS together.
  • D. Change the existing Gold policy's type to Aggregated, then raise its maximum to 6,000 IOPS Name and IOPS limits can be edited on an existing policy, but the overview states that the Aggregated or Dedicated type can't be changed once the policy exists.

Memory hook: Aggregated shares one bucket, Dedicated gives each disk its own, and the type is fixed at creation.

Microsoft Learn: Storage QoS overview

Contoso's domain-based namespace uses lowest cost ordering, and from every branch site HQ is the lowest-cost site. The folder \\contoso.com\Apps\Tools has targets on HQ-FS1 and HQ-FS2 in the HQ site and on BR1-FS in the Branch1 site. Branch1 clients must keep using BR1-FS first. All other clients must go to HQ-FS1 and reach HQ-FS2 only when HQ-FS1 is unavailable. What should the administrator configure?

Correct answer: B. Set the priority of the HQ-FS1 folder target to First among targets of equal cost

Learn's page on overriding referral ordering says First among targets of equal cost refers users to that target before other targets of equal cost, which usually means other targets in the same site. HQ-FS1 and HQ-FS2 share the HQ site, so any client sent to HQ gets HQ-FS1 first and HQ-FS2 next. Branch1 clients are unaffected, because referrals always list targets in the client's own site first, and lowest cost ordering then puts HQ ahead of Branch1 for every other branch.

Why the other options are wrong:

  • A. Set the priority of the HQ-FS1 folder target to First among all targets First among all targets means users are always referred to HQ-FS1 while it's available, so Branch1 clients would leave their local BR1-FS.
  • C. On the Tools folder's Referrals tab, select Exclude targets outside of the client's site Excluding targets outside the client's site gives clients in sites without a Tools target no referral at all, so most branches would lose the folder.
  • D. Set the priority of the HQ-FS2 folder target to Last among all targets Last among all targets sends clients to HQ-FS2 only after every other target fails, so with HQ-FS1 down they would cross the WAN to BR1-FS first.

Memory hook: Prefer one server among its site peers: First among targets of equal cost. First among all targets overrides even the client's own site.

Microsoft Learn: Set target priority to override referral ordering

Woodgrove Bank runs a two-node Storage Spaces Direct cluster on Windows Server 2025 Datacenter with a file share witness. Each node has two NVMe cache drives and six SSD capacity drives, and the current volumes use two-way mirror. Because failed drives take days to replace, volumes must stay online while one node is down for patching and a capacity drive fails in the other node, with as much usable capacity as possible. What should you do?

Correct answer: A. Create new nested mirror-accelerated parity volumes, move the data, then delete the old volumes

The nested resiliency article says it fits clusters of exactly two servers on Windows Server 2019 or later and keeps volumes online when a server is down and a drive fails. Nested two-way mirror writes four copies for 25 percent efficiency, while nested mirror-accelerated parity reaches about 35 to 40 percent, so it keeps more usable space. The article's FAQ adds that volumes can't be converted between resiliency types, so new volumes are created and the data moved.

Why the other options are wrong:

  • B. Convert the existing two-way mirror volumes in place to nested mirror-accelerated parity volumes Nested mirror-accelerated parity is the right target, but the article states that volumes can't be converted between resiliency types, so it must be built as new volumes.
  • C. Create new nested two-way mirror volumes, move the data, then delete the old volumes It survives the same failures, but at 25 percent efficiency it is the least space-efficient option, which fails the capacity goal that nested mirror-accelerated parity meets.
  • D. Create new three-way mirror volumes, move the data, then delete the old volumes Three-way mirror needs at least three fault domains, which in Storage Spaces Direct means three servers, so a two-node cluster can't create it.

Memory hook: Two nodes that must survive a node plus a drive: nested resiliency, built new, never converted.

Microsoft Learn: Nested resiliency

Litware stores the VHDX files of its pooled VDI desktops on an NTFS-formatted Cluster Shared Volume of FSC1, a two-node Scale-Out File Server cluster running Windows Server 2025. Separate Hyper-V hosts run the desktops, and the VHDX files stay open while users work. You must enable Data Deduplication for that volume. What should you do?

Correct answer: C. Install Data Deduplication on both nodes, then enable the volume with the Hyper-V usage type

The Data Deduplication install page requires the feature on every node of a failover cluster that runs deduplication and tunes the Hyper-V usage type for VDI servers. That usage type optimizes in-use and partial files, while Default skips in-use files and would leave open desktop disks unoptimized. Enable-DedupVolume -UsageType HyperV applies it.

Why the other options are wrong:

  • A. Install Data Deduplication on both nodes, then enable the volume with the Backup usage type Backup is tuned for virtualized backup applications such as DPM, with priority optimization, not for the VHDX files of running VDI desktops.
  • B. Install Data Deduplication on both nodes, then enable the volume with the Default usage type Default is tuned for general-purpose file servers and doesn't optimize in-use files, so desktop VHDX files that stay open would remain unoptimized.
  • D. Install Data Deduplication on the node that owns the volume, then enable it with the Hyper-V usage type The Hyper-V usage type is right, but the install page requires the Data Deduplication feature on every node of the cluster, not only the volume's current owner.

Memory hook: VDI on dedup: Hyper-V usage type, with the feature on every cluster node.

Microsoft Learn: Install enable

Fabrikam replicates a CAD folder between FS-HQ and FS-PLANT with DFS Replication. The 32 largest drawings in the folder total about 60 GB, and both memberships still use a staging quota of 4,096 MB. FS-PLANT logs event 4208 several times a day, and large drawings reach it hours late. What should the administrator do?

Correct answer: C. Raise the staging quota on both memberships to at least 61,440 MB with Set-DfsrMembership

Learn's article on the minimum staging area DFSR needs says the staging quota must be as large as the 32 largest files in the replicated folder, and that event 4208 means staging use is still above the quota after cleanup ran, an abnormal state that needs intervention. A 4,096 MB quota against about 60 GB of large drawings forces constant purging and restaging. Set-DfsrMembership -StagingPathQuotaInMB sets the new size, which applies without a service restart once AD replication and DFSR polling pick it up.

Why the other options are wrong:

  • A. Raise the ConflictAndDeleted quota on both memberships to 61,440 MB with Set-DfsrMembership The ConflictAndDeleted folder holds losing conflict versions and deleted files. Its quota has no effect on how much space staging gets.
  • B. Empty the ConflictAndDeleted folder on FS-PLANT with the cleanupconflictdirectory WMI method Cleanup frees space in a different folder. Staging stays capped at 4,096 MB, so the 4208 events and the delays continue.
  • D. Take no action, because event 4208 is logged during routine staging cleanup and clears itself That describes event 4202, the routine high-watermark warning. Event 4208 is logged when the quota is still exceeded after cleanup, and Learn says it requires intervention.

Memory hook: DFSR staging quota: at least the 32 largest files. 4202 is routine; 4208 means raise the quota.

Microsoft Learn: Determine the minimum staging area dfsr needs for a replicated folder

Adatum's iSCSI Target Server SAN1 runs Windows Server 2025 and presents a LUN to the iSCSI initiator on SQL4 through the target SQLT. Security requires two controls: SAN1 must accept a login only from an initiator that proves it knows a shared secret, and SQL4 must confirm it is connected to the genuine SAN1 before it uses the LUN. What should you configure?

Correct answer: D. Enable CHAP and reverse CHAP on SQLT, then configure SQL4's initiator with the matching secrets

The Diskraid command reference describes both directions: the target's secret is used for CHAP authentication when the target authenticates the initiator, and the initiator's secret is used for mutual CHAP when the initiator authenticates the target. Meeting both controls takes both, which on iSCSI Target Server means Set-IscsiServerTarget with -EnableChap and -Chap plus -EnableReverseChap and -ReverseChap, and matching secrets on SQL4.

Why the other options are wrong:

  • A. Enable CHAP on SQLT, then configure SQL4's initiator with the matching CHAP user name and secret One-way CHAP covers only the first control: SAN1 checks SQL4, but SQL4 never verifies that the target is genuine.
  • B. Set the InitiatorIds of SQLT to the IQN of SQL4, and leave both CHAP settings turned off Assigning the target by IQN limits which initiators it serves, but an IQN is an identifier rather than a secret, and SQL4 still doesn't verify SAN1.
  • C. Enable reverse CHAP on SQLT only, then configure SQL4's initiator with the matching reverse secret Reverse CHAP covers only the second control: SQL4 checks SAN1, but without forward CHAP SAN1 doesn't demand a secret from the initiator.

Memory hook: CHAP: the target checks the initiator; reverse CHAP: the initiator checks the target; both together is mutual.

Microsoft Learn: Windows commands: Diskraid

Adatum replicates the Projects folder between FS-NYC and FS-LON with DFS Replication, and both memberships use default settings. At 09:00 a user on FS-LON deleted the Bids subfolder, and the deletion replicated to FS-NYC within minutes. At 10:00 the manager asks for Bids back. No recent backup exists, and neither member's ConflictAndDeleted folder has reached its quota. What should the administrator do?

Correct answer: C. On FS-NYC, run Restore-DfsrPreservedFiles with the ConflictAndDeletedManifest.xml file

The Set-DfsrMembership reference says that when RemoveDeletedFiles is left at its default, a member moves deleted files and folders to its ConflictAndDeleted folder as the deletion replicates inbound, and that the originating server always deletes files without preservation. FS-LON originated the delete, so only FS-NYC kept Bids. Restore-DfsrPreservedFiles restores conflicted and deleted items from ConflictAndDeletedManifest.xml; PreExistingManifest.xml covers files set aside during initial sync.

Why the other options are wrong:

  • A. On FS-NYC, run Restore-DfsrPreservedFiles with the PreExistingManifest.xml file FS-NYC did keep Bids, but in ConflictAndDeleted. The PreExisting manifest lists only files moved aside during initial synchronization.
  • B. On FS-LON, run Restore-DfsrPreservedFiles with the ConflictAndDeletedManifest.xml file FS-LON is where the user deleted Bids, and the originating server deletes without preserving anything, so its ConflictAndDeleted folder holds no copy.
  • D. On FS-LON, run Restore-DfsrPreservedFiles with the PreExistingManifest.xml file The PreExisting folder holds only files set aside during initial synchronization, and FS-LON kept no copy of this deletion anyway.

Memory hook: A DFSR deletion is preserved on the members that receive it, never on the server where it happened.

Microsoft Learn: Set dfsrmembership

Woodgrove Bank's branch staff sign in to Microsoft Entra joined Windows 11 laptops as hybrid users that Microsoft Entra Connect Sync syncs from AD DS. The branches reach a storage account's private endpoint but have no network path to any domain controller. Staff must mount SMB Azure file shares with their own identities by using Kerberos. Which identity source should the administrator enable on the storage account?

Correct answer: D. Microsoft Entra Kerberos authentication for the hybrid identities

With Microsoft Entra Kerberos, Microsoft Entra ID issues the Kerberos tickets, so Microsoft Entra joined or hybrid joined clients can authenticate to Azure Files without reaching a domain controller. The identity-based authentication overview lists it for hybrid or cloud-only identities and for clients without domain controller connectivity, which fits branches that can reach only the storage account's private endpoint.

Why the other options are wrong:

  • A. On-premises AD DS authentication, configured with Join-AzStorageAccount AD DS authentication requires clients with unimpeded network connectivity to a domain controller, which the branch laptops don't have.
  • B. Microsoft Entra Domain Services authentication for a managed domain Kerberos through Domain Services requires clients joined to the managed domain, and non-Azure clients such as branch laptops can't join it.
  • C. Storage account key access, with the key saved on each laptop by cmdkey A key mount isn't identity-based access: each user connects with the account's key and full access instead of their own identity.

Memory hook: Entra joined clients with no line of sight to a domain controller: Microsoft Entra Kerberos.

Microsoft Learn: Storage files active directory overview

Adatum upgraded APP2 from Windows Server 2022 to Windows Server 2025. A scheduled job on APP2 copies files with a service account to a share on a third-party NAS that supports SMB 3 but has its signing setting turned off. Since the upgrade every copy fails with STATUS_INVALID_SIGNATURE, while servers still on Windows Server 2022 reach the share. Security policy forbids weakening APP2's SMB client defaults. What should the administrator do?

Correct answer: A. Turn on SMB signing in the NAS's own SMB settings and leave APP2 unchanged

Learn's Control SMB signing behavior page says Windows Server 2025 requires outbound SMB signing, and that connecting to a third-party server that doesn't allow signing fails with STATUS_INVALID_SIGNATURE. Its resolution is to adjust the third-party server to allow signing, and it doesn't recommend disabling signing on Windows as a workaround. APP2 is the client here, and before Windows Server 2025 signing was required only toward SYSVOL and NETLOGON on domain controllers, which is why the older servers still connect.

Why the other options are wrong:

  • B. Run Set-SmbClientConfiguration -RequireSecuritySignature $false on APP2 That lets the copy through, but it drops the outbound signing requirement for every connection APP2 makes, the exact weakening the policy forbids and Learn advises against.
  • C. Run Set-SmbServerConfiguration -RequireSecuritySignature $false on APP2 Server settings govern connections coming in to APP2. The job is APP2 connecting out as a client, so this changes nothing for the copy.
  • D. Turn on the Enable insecure guest logons policy under Lanman Workstation on APP2 The job signs in with a service account, so guest access isn't involved, and required signing disables guest access anyway.

Memory hook: Windows Server 2025 signs every outbound SMB connection: enable signing on the NAS, don't unsign the client.

Microsoft Learn: Smb signing

Topic 6 of 7

Secure Windows Server infrastructure (9 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 9 questions and explanations

Fabrikam built a new forest whose domain controllers all run Windows Server 2025. A badge appliance's simple LDAP binds over TCP 389 without TLS fail. Security approves accepting unsigned binds for 30 days until the vendor ships a fix. An administrator set Domain controller: LDAP server signing requirements to None in the Default Domain Controllers Policy and ran gpupdate /force on every DC, but the binds still fail. What should you do next?

Correct answer: D. Set Domain controller: LDAP server signing requirements enforcement to Disabled in the same GPO.

The LDAP signing Group Policy article says new Windows Server 2025 deployments require signing through a separate policy, Domain controller: LDAP server signing requirements enforcement. Not Configured has the same effect as Enabled, and the enforcement policy takes precedence over Domain controller: LDAP server signing requirements, so None changes nothing while enforcement is on. Disabled hands the decision back to the signing requirements policy, which then accepts unsigned binds. Turn enforcement back on once the appliance is fixed.

Why the other options are wrong:

  • A. Set Domain controller: LDAP server channel binding token requirements to Never in the same GPO. Channel binding applies only to SASL binds over TLS, tying the authentication to that TLS session; it's separate from signing, so the enforcement policy still rejects the clear-text simple bind on port 389.
  • B. Set Network security: LDAP client signing requirements to None in the same GPO. That's the client-side policy for LDAP connections the DCs make themselves; it doesn't change which incoming binds the DCs accept.
  • C. Link another GPO that sets LDAP server signing requirements to None to the domain root, at link order 1. Setting the same level in another GPO adds nothing: on a new Windows Server 2025 deployment the enforcement policy outranks the signing level wherever it's set.

Memory hook: On new Windows Server 2025 DCs, the LDAP signing enforcement policy outranks the signing level.

Microsoft Learn: Manage LDAP signing group policy

Fabrikam's forest has a root domain, fabrikam.com, and a child domain, sales.fabrikam.com. An application installed in sales.fabrikam.com needs a one-time schema extension next week, run by an engineer whose admin account is in fabrikam.com. The Schema Admins group has no members today. What should you do?

Correct answer: A. Add the engineer's admin account to Schema Admins in fabrikam.com for the change window, then remove it.

Only members of Schema Admins can modify the schema, and the group exists only in the forest root domain. Because schema changes are rare, the Schema Admins remediation guidance says to keep the group empty, add an account only when a schema change is required, and remove it afterward; the Active Directory attack surface guidance likewise calls for populating it only temporarily. Time-boxed membership in fabrikam.com's Schema Admins gives the engineer exactly what the change needs.

Why the other options are wrong:

  • B. Add the engineer's admin account to Schema Admins in fabrikam.com permanently, so that future extensions need no approval. Standing membership is what the guidance warns against: anyone who compromised the account could change the schema at any time.
  • C. Add the engineer's admin account to Enterprise Admins for the change window, and leave the Schema Admins group empty. Only Schema Admins members can modify the schema, so Enterprise Admins membership alone doesn't allow the extension, and that group should be empty day to day too.
  • D. Add the engineer's admin account to the Schema Admins group in sales.fabrikam.com, the domain where the application runs. Schema Admins exists only in the forest root domain, so sales.fabrikam.com has no such group, and the schema is forest-wide anyway.

Memory hook: Schema Admins lives in the forest root and stays empty until a schema change, then empties again.

Microsoft Learn: Remove all members from the schema admins group unless you are actively changing the schema

Litware's HR sync account has delegated permission to write the telephoneNumber attribute on user objects in the Staff OU. It updates every account there except the six that are members of Domain Admins. An administrator added the same permission directly to those six accounts, but within an hour it was gone. The sync must keep updating all six accounts. What should the administrator do?

Correct answer: D. Add the permission to the ACL of the AdminSDHolder object in the domain's System container.

Members of protected groups such as Domain Admins take their security descriptor from the AdminSDHolder object. SDProp runs every 60 minutes by default on the PDC emulator, resets any protected account whose permissions differ from that template, and keeps inheritance off on protected objects. The Active Directory security groups reference says that to change permissions on a protected group or its members, you modify the security descriptor on AdminSDHolder, knowing the change reaches every protected account and group in the domain.

Why the other options are wrong:

  • A. Set AdminSDProtectFrequency to 7200 on the PDC emulator, then add the permission to the six accounts again. AdminSDProtectFrequency only sets how often SDProp runs, from 60 to 7,200 seconds; SDProp still overwrites the direct permission, just later.
  • B. Rerun the Delegation of Control Wizard on the Staff OU and apply the permission to all descendant objects. Inheritance is disabled on protected accounts, so an inheritable delegation on the Staff OU never reaches them, however it's scoped.
  • C. Turn inheritance back on for the six accounts and clear their adminCount attribute. The six are still Domain Admins members, so SDProp keeps treating them as protected and resets them from the AdminSDHolder template within the hour, inheritance off again.

Memory hook: Protected accounts copy their ACL from AdminSDHolder: change the template, not the account.

Microsoft Learn: Understand security groups

Fabrikam is moving fully updated Windows Server 2022 member servers from legacy Microsoft LAPS to Windows LAPS and has uninstalled the legacy client-side extension from them. The legacy LAPS GPO, still linked to their OU, sets a 20-character password and a 14-day maximum age. A new Windows LAPS GPO on the same OU configures only the backup directory, set to Active Directory. Which password settings will Windows LAPS apply?

Correct answer: C. A 14-character password with a 30-day maximum age

Windows LAPS checks its policy roots in order (CSP, Group Policy, local configuration, then legacy Microsoft LAPS) and uses the first root that holds at least one setting. The Windows LAPS GPO sets the backup directory, so the Group Policy root wins and the legacy root is ignored. Settings are never shared or inherited across roots, so every setting the GPO omits takes its default: PasswordLength 14 and PasswordAgeDays 30, per Configure policy settings for Windows LAPS.

Why the other options are wrong:

  • A. A 20-character password with a 30-day maximum age Windows LAPS never merges settings across policy roots, so the legacy 20-character length isn't combined with the native policy.
  • B. A 14-character password with a 14-day maximum age The 14-day age exists only in the legacy root, which Windows LAPS ignores once the Group Policy root holds a setting.
  • D. A 20-character password with a 14-day maximum age Legacy settings are honored only in legacy emulation mode, which applies when no native Windows LAPS policy is configured. Here a native policy exists.

Memory hook: One LAPS policy root wins, the first with any setting, and whatever it omits falls to the defaults: 14 characters, 30 days.

Microsoft Learn: LAPS management policy settings

On a Windows Server 2025 application server, an administrator applied Microsoft's default App Control policies in enforcement mode with Set-OSConfigDesiredConfiguration. A vendor agent was blocked, so the administrator removed both policies with CiTool, and the agent started. Hours later the agent is blocked again. The policies must stay off until a supplemental policy is ready. What should the administrator do?

Correct answer: C. Run Remove-OSConfigDesiredConfiguration for both AppControl\WS2025 scenarios, DefaultPolicy\Enforce and AppBlockList\Enforce

OSConfig keeps the App Control policies it applies under drift control. Removing them manually or with citool.exe makes drift control reestablish them after its refresh period, four hours by default, which is why the agent is blocked again. Configure App Control for Business by using OSConfig recommends removing OSConfig-set policies with OSConfig: Remove-OSConfigDesiredConfiguration with the two AppControl\WS2025 Enforce scenarios, after which citool -lp lists no WS2025 policies.

Why the other options are wrong:

  • A. Delete both policies' .cip files from the System32\CodeIntegrity\CiPolicies\Active folder, and then restart the server Deleting the policy files is another manual removal, so drift control restores the policies at its next refresh.
  • B. Remove both policies again with CiTool --remove-policy, and then run CiTool --refresh so that the removal takes effect for good Drift control undoes any removal made outside OSConfig, CiTool included, at its next refresh; CiTool --refresh only refreshes App Control policies and doesn't stop OSConfig.
  • D. Remove the SecurityBaseline/WindowsServer/2025/MemberServer scenario with Remove-OSConfigDesiredConfiguration, then restart Microsoft's default App Control policies are separate AppControl scenarios, not part of the security baseline, so removing the baseline leaves them enforced.

Memory hook: What OSConfig sets, OSConfig removes: drift control restores policies deleted with CiTool at its refresh, four hours by default.

Microsoft Learn: Osconfig configure app control for business

The woodgrove.com and fabrikam.com forests share a two-way trust and one Microsoft Entra tenant. Two woodgrove.com member servers run the Microsoft Entra Password Protection proxy service, registered along with the woodgrove.com forest. All writable DCs in both forests run the DC agent and have restarted; fabrikam.com also has two RODCs. Banned passwords fail in woodgrove.com but succeed in fabrikam.com. What should you do?

Correct answer: D. Install the proxy service on two member servers in fabrikam.com, register both proxies, and then register the fabrikam.com forest.

The Password Protection deployment guide says each proxy can support only the domain controllers of the forest it's joined to, and the software in one forest is unaware of any other forest's deployment, whatever trusts exist. Each forest is set up on its own: install the proxy service on member servers in fabrikam.com (two for redundancy), register each with Register-AzureADPasswordProtectionProxy, and run Register-AzureADPasswordProtectionForest once for fabrikam.com, which needs Enterprise Admins rights in that forest. The agents on its writable DCs can then get the tenant's policy.

Why the other options are wrong:

  • A. Install the DC agent on the two fabrikam.com RODCs as well, and restart them so that the password filter loads. RODCs don't process password changes; they forward them to writable DCs, so they need no agent, and the writable fabrikam.com DCs would still have no policy.
  • B. Give the woodgrove.com proxies a static RPC port, and allow TCP 135 and that port from the fabrikam.com DCs to the proxies. Network reach isn't the gap. A proxy supports only DCs from its own forest, so fabrikam.com agents can't use woodgrove.com proxies whatever ports are open.
  • C. On a woodgrove.com proxy, run Register-AzureADPasswordProtectionForest with fabrikam.com Enterprise Admins credentials in -ForestCredential. -ForestCredential only supplies alternative domain admin credentials for a registration. A proxy provides policy only for the forest its host is joined to, so woodgrove.com proxies still can't serve fabrikam.com DCs.

Memory hook: Password Protection stops at the forest boundary: each forest needs its own proxies and its own registration.

Microsoft Learn: Password ban bad on premises deploy

Woodgrove Bank's Azure subscription hosts 200 Windows Server VMs. The security team needs just-in-time VM access on 12 of them and doesn't want to pay for Defender for Servers on the other 188. How should the administrator configure Defender for Servers?

Correct answer: B. Enable Plan 2 on the subscription, and then disable Defender for Servers on the 188 VMs that don't need it

Just-in-time VM access is a Plan 2 feature. Plan 2 can be enabled only for a whole subscription, but either plan can be disabled for an individual resource, so covering just the 12 VMs means enabling Plan 2 on the subscription and turning Defender for Servers off on the VMs that don't need it. The deployment scope table in the Defender for Servers overview sets out these limits.

Why the other options are wrong:

  • A. Enable Plan 1 on the subscription, and then switch the 12 VMs to Plan 2 at the resource level Plan 2 has no resource-level enablement, so the 12 VMs can't be moved to Plan 2 one by one.
  • C. Enable Plan 1 at the resource level on the 12 VMs, and then turn on just-in-time VM access for them Plan 1 can be enabled per resource, but just-in-time VM access belongs to Plan 2.
  • D. Enable Plan 2 at the resource level on each of the 12 VMs, and leave the subscription without a plan Plan 2 can't be enabled at the resource level; only Plan 1 can.

Memory hook: Plan 1 can be turned on per server; Plan 2 only per subscription, then turned off where it isn't wanted.

Microsoft Learn: Defender for servers overview

An administrator at Contoso tuned exploit protection on a reference Windows Server 2025 server and must apply the same system and program settings to 120 domain-joined servers through Group Policy. Every server can read a file share on FS01. What should the administrator do?

Correct answer: D. Export the settings with Get-ProcessMitigation -RegistryConfigFilePath to the FS01 share, then enable Use a common set of exploit protection settings with that UNC path

Exploit protection exports one device's configuration, system and program settings together, from Windows Security (Export settings) or with Get-ProcessMitigation -RegistryConfigFilePath. Group Policy then deploys it through Use a common set of exploit protection settings, under Windows Components, Microsoft Defender Exploit Guard, Exploit protection, which takes a local, UNC or URL path. The Import, export, and deploy exploit protection configurations article requires the file to sit where every target device can reach it, hence the FS01 share.

Why the other options are wrong:

  • A. Export the settings with Get-ProcessMitigation -RegistryConfigFilePath and copy the XML into the central store's PolicyDefinitions folder so the GPO can find it The central store's PolicyDefinitions folder holds administrative template files, not configuration data, and nothing there points the servers at the XML. The GPO setting needs the file's path.
  • B. Run Set-ProcessMitigation -PolicyFilePath on the reference server to write the XML to the FS01 share, then point Use a common set of exploit protection settings at it Set-ProcessMitigation -PolicyFilePath imports a configuration file into the device it runs on; it doesn't create one. Exporting is done with Get-ProcessMitigation -RegistryConfigFilePath.
  • C. Export the settings from Windows Security, then enable Configure Attack Surface Reduction rules and enter the XML file's UNC path as a rule value Configure Attack Surface Reduction rules expects ASR rule GUIDs paired with a mode value such as 1 for Block, so it can't carry an exploit protection XML.

Memory hook: Get-ProcessMitigation exports, Set-ProcessMitigation imports, and Use a common set of exploit protection settings deploys the XML from a share.

Microsoft Learn: Import export exploit protection emet XML

Tailspin Toys, whose domain runs at the Windows Server 2016 functional level, ran Update-LapsADSchema in its forest and linked a GPO to the Servers OU that sets the Windows LAPS backup directory to Active Directory. The Windows Server 2025 member servers in that OU process the policy, but none of them manages to store its managed password in AD DS. Which command should the administrator run?

Correct answer: A. Set-LapsADComputerSelfPermission -Identity Servers

A device that Windows LAPS manages writes its own password to its computer object, so it needs permission to update those attributes. Set-LapsADComputerSelfPermission grants that permission as inheritable permissions on the OU that holds the devices, here the Servers OU. The schema update, a one-time step per forest, is already done, the 2016 functional level supports password encryption, and the read and expiration permissions serve people who retrieve or expire passwords, not the devices, per Get started with Windows LAPS and Windows Server Active Directory.

Why the other options are wrong:

  • B. Set-LapsADReadPasswordPermission -Identity Servers -AllowedPrincipals TAILSPIN\ServerAdmins This grants a group permission to query passwords from AD DS. It doesn't let the servers write their own passwords.
  • C. Invoke-LapsPolicyProcessing, run on each server in the Servers OU Invoke-LapsPolicyProcessing only starts a processing cycle now; without the self permission on the OU, each attempt to store the password still fails.
  • D. Set-LapsADResetPasswordPermission -Identity Servers -AllowedPrincipals TAILSPIN\ServerAdmins This grants a group permission to set password expiration times. The servers still can't store their passwords.

Memory hook: Schema once per forest, Set-LapsADComputerSelfPermission so devices can write, then read and reset rights for people.

Microsoft Learn: LAPS scenarios Windows server active directory

Topic 7 of 7

Monitor and troubleshoot Windows Server environments (12 questions)

Go deeper in AZ-802 Administering Windows Server Complete Exam Guide. Get it on Amazon

Show the 12 questions and explanations

On SRV-WEB2, a member server running Windows Server 2025, an application keeps connecting to the old address of app01.contoso.com after the DNS record was updated. On SRV-WEB2, Resolve-DnsName app01.contoso.com returns the old address 10.1.9.14, while Resolve-DnsName app01.contoso.com -NoHostsFile returns the new address 10.1.5.20. What should the administrator do to fix name resolution on SRV-WEB2?

Correct answer: B. Remove the app01 entry from the Hosts file on SRV-WEB2

The Windows DNS client resolves a name by checking its cache, then the Hosts file in C:\Windows\System32\drivers\etc, and only then sending the query to a DNS server; the DNS queries and lookups article adds that Hosts file mappings are loaded into the resolver cache when the DNS Client service starts. -NoHostsFile skips the Hosts file, so its correct result proves the DNS path is healthy and the stale mapping lives in the Hosts file. Removing that entry is the fix.

Why the other options are wrong:

  • A. Run ipconfig /registerdns on SRV-WEB2 ipconfig /registerdns re-registers SRV-WEB2's own names and addresses in DNS; it doesn't change how SRV-WEB2 resolves app01.
  • C. Run Clear-DnsServerCache on the DNS server SRV-WEB2 uses The DNS path already returns the new address, as the -NoHostsFile query shows, so clearing the server's cache changes nothing on SRV-WEB2.
  • D. Run ipconfig /flushdns on SRV-WEB2 ipconfig /flushdns discards negative and dynamically added cache entries, but the resolver still checks the Hosts file before it queries DNS, so the stale mapping comes straight back.

Memory hook: Resolver order is cache, Hosts file, DNS server: if -NoHostsFile fixes the result, fix the Hosts file.

Microsoft Learn: Troubleshoot DNS client resolution issues

A standalone Windows Server 2025 file server that isn't part of a cluster uses a two-way mirror storage space. After a failed drive was replaced and the new drive was added to the pool, Get-VirtualDisk still reports HealthStatus Warning with OperationalStatus Degraded, and the pool itself is healthy. What should the administrator do to restore the virtual disk's resilience?

Correct answer: C. Run Repair-VirtualDisk against the virtual disk

A virtual disk in the Warning health state can still be read from at least one copy, and Degraded means drives failed or went missing and hold outdated copies of the data. Learn's Storage Spaces health and operational states article gives the action: reconnect or replace the drives, then, when Storage Spaces Direct isn't in use, repair the virtual disk with Repair-VirtualDisk. Only Storage Spaces Direct starts that repair on its own after a drive is reconnected or replaced.

Why the other options are wrong:

  • A. Run Set-StoragePool -IsReadOnly $false against the storage pool Set-StoragePool -IsReadOnly $false returns a pool to read-write after it went read-only, for example after losing quorum; this pool is healthy and writable.
  • B. Run Optimize-StoragePool against the storage pool Optimize-StoragePool is the action for the Suboptimal state, a Healthy-state condition where data isn't written evenly across drives; it doesn't rebuild missing copies.
  • D. Wait for Storage Spaces to start the repair automatically after the drive replacement Automatic repair after a drive is reconnected or replaced is Storage Spaces Direct behavior; a standalone storage space waits for Repair-VirtualDisk.

Memory hook: Standalone storage space Degraded after a drive swap: Repair-VirtualDisk. Storage Spaces Direct repairs itself.

Microsoft Learn: Storage spaces states

Woodgrove Bank patches the VMs in resource group RG-Prod every Saturday from 01:00 to 05:00. Several alert rules cover RG-Prod VMs and VMs in other resource groups, and their action groups email and text the on-call team. During the window, notifications for RG-Prod alerts must stop, alerts from other resource groups must still notify, and fired alerts must still appear in the Azure portal. What should the administrator configure?

Correct answer: B. An alert processing rule scoped to RG-Prod that suppresses notifications on a weekly schedule

Learn's alert processing rules article says these rules act on alerts as they fire. The Suppression action removes all action groups from the affected alerts, which still appear in the portal, and a rule can be scoped to a resource group and run on a recurring weekly window. Scoping it to RG-Prod silences only those VMs' alerts during patching, while the same alert rules keep notifying for other resource groups. The article names planned maintenance as a main use case.

Why the other options are wrong:

  • A. An Azure Automation runbook that disables the alert rules at 01:00 and enables them again at 05:00 Disabling the rules stops alerts for every resource they cover, including other resource groups, and alerts that never fire do not appear in the portal.
  • C. An alert processing rule scoped to RG-Prod that applies a maintenance action group on a weekly schedule Apply action groups adds action groups to fired alerts; the alert rules' own action groups still run, so the on-call team is still notified.
  • D. A change to each action group that removes the email and SMS receivers during the patch window Action groups are shared by every alert that uses them, so stripping receivers silences other resource groups too and means editing the groups twice a week.

Memory hook: Maintenance window: an alert processing rule with Suppression, scoped and scheduled; alerts still show, nobody gets paged.

Microsoft Learn: Alerts processing rules

Fabrikam's clients all use DNS01, a Windows Server 2025 DNS server that uses root hints and no forwarders. An hour ago a partner moved portal.litwareinc.com to a new IP address, and the record carries a 24-hour TTL. From a client, nslookup portal.litwareinc.com 10.0.0.10, the address of DNS01, still returns the old address, while a query sent straight to the partner's authoritative DNS server returns the new one. What should the administrator do?

Correct answer: D. Run Clear-DnsServerCache on DNS01

nslookup doesn't use the client's DNS cache, so its stale result comes from DNS01 itself, which holds the old record in its server cache until the 24-hour TTL runs out. The Troubleshooting DNS servers article separates the two caches on a server: Clear-DnsServerCache, or dnscmd /clearcache, clears what the server hands to other clients, while Clear-DnsClientCache clears only the local DNS client cache that the server uses for its own lookups.

Why the other options are wrong:

  • A. Run ipconfig /flushdns on every client Each client's next query goes back to DNS01, which still serves the stale record from its server cache, so flushing every client changes nothing.
  • B. Run ipconfig /registerdns on DNS01 ipconfig /registerdns re-registers DNS01's own host records; it has nothing to do with a cached record for another organization's name.
  • C. Run Clear-DnsClientCache on DNS01 Clear-DnsClientCache empties the cache DNS01 uses for its own name lookups, not the DNS Server service cache that answers Fabrikam's clients.

Memory hook: Stale result for everyone who uses the server: Clear-DnsServerCache. Stale result on one machine: flush that machine's client cache.

Microsoft Learn: Troubleshoot DNS server

On a Windows Server 2025 file server, an administrator wants System Insights to run C:\Scripts\Expand-DataVolume.ps1 automatically, but only when a forecast predicts that one of the server's volumes will exceed its capacity within the next 7 days. What should the administrator configure?

Correct answer: D. Set-InsightsCapabilityAction for Volume consumption forecasting with -Type Critical, the script and -ActionCredential

Learn's article on System Insights capabilities defines Critical as a forecast that exceeds available capacity in the next 7 days and Warning as one that exceeds it in the next 30 days. Set-InsightsCapabilityAction attaches a script to one status of one capability and runs it with the credentials passed in -ActionCredential. Volume consumption forecasting forecasts each volume and reports the most severe status across them, so a Critical action on it runs the script only in the 7-day case.

Why the other options are wrong:

  • A. A scheduled task that runs the script when event ID 148 is written to the Microsoft-Windows-System-Insights/Admin log Event ID 148 is the Warning event (Critical is 150), so the task would run on the 30-day forecast instead of the 7-day one.
  • B. Set-InsightsCapabilityAction for Total storage consumption forecasting with -Type Critical, the script and -ActionCredential Total storage consumption forecasting forecasts usage across all local drives combined rather than per volume, so it does not track one volume nearing its capacity.
  • C. Set-InsightsCapabilityAction for Volume consumption forecasting with -Type Warning, the script and -ActionCredential Warning means the forecast exceeds capacity within 30 days, so the script would run weeks before the 7-day condition the administrator set.

Memory hook: System Insights: Warning means over capacity within 30 days, Critical within 7; attach the action to the status you mean.

Microsoft Learn: Understanding capabilities

Contoso restored DC3, a Windows Server 2025 domain controller, from a 75-day-old system state backup after a disk failure. Since then, replication between DC3 and its partners fails with Access is denied, and DC3's machine account password no longer matches the copy that the other domain controllers hold. DC1 is healthy and holds the PDC emulator role. How should the administrator reset DC3's machine account password?

Correct answer: A. On DC3, stop the KDC service and set it to Manual, purge DC3's tickets, run netdom resetpwd /server:DC1, and restart

Microsoft's article on using Netdom to reset a domain controller's machine account password says the tool must run locally on the computer whose password changes. For a domain controller, stop the Kerberos Key Distribution Center service and set it to Manual so DC3 must get tickets from another KDC, clear its ticket cache, run netdom resetpwd with /s pointing at a healthy peer, restart DC3, then set the KDC back to Automatic. Machine password history keeps only the current and previous passwords.

Why the other options are wrong:

  • B. On DC1, run netdom resetpwd /server:DC3 /userd:CONTOSO\Admin1 /passwordd:*, then restart DC3 to apply it netdom resetpwd must run on the domain controller whose password is being reset; run on DC1, it changes DC1's own password and leaves DC3's mismatch in place.
  • C. On DC3, sign in and run Test-ComputerSecureChannel -Repair -Credential CONTOSO\Admin1, then restart DC3 Test-ComputerSecureChannel works only on domain member computers; Learn warns that on domain controllers it returns false positives and says to use netdom or nltest instead.
  • D. In Active Directory Users and Computers, reset DC3's computer account, then restart DC3 so that it picks up the new password Learn states that a machine account password can't be changed through Active Directory Users and Computers; Netdom resets it locally and on a peer domain controller together.

Memory hook: Broken DC trust: netdom resetpwd on that DC with its KDC stopped. Test-ComputerSecureChannel is for members.

Microsoft Learn: Use netdom reset domain controller password

Contoso created a source-initiated subscription on a Windows Server 2025 event collector, and a GPO uses the Configure target Subscription Manager setting to point 300 member servers at it. The subscription selects events from the System and Security logs. System events from every server arrive in ForwardedEvents on the collector, but no Security events arrive from any server. What should the administrator do?

Correct answer: D. Add NETWORK SERVICE to the Event Log Readers group on each member server

Learn's article on setting up a source-initiated subscription says that to forward the Security log you must add the NETWORK SERVICE account to the Event Log Readers group. In this model each source's local forwarder reads its own logs and pushes the events; the default subscription security descriptor names the local Network Service group for that forwarder. System events arriving from every server show that the GPO, WinRM and the subscription's access list already work, so only reading the Security log is missing.

Why the other options are wrong:

  • A. Change the subscription's event delivery optimization from Normal to Minimize Latency Minimize Latency only shortens the batch timeout to 30 seconds; it changes delivery timing, not the right to read the Security log.
  • B. Add the collector's computer account to the Event Log Readers group on each member server Giving the collector read access fits a collector-initiated subscription, where the subscription's credentials must read each source's logs; here each source reads and pushes its own events.
  • C. Add Domain Computers to the subscription's list of allowed source computers With no allowed list set, the default security descriptor already admits Domain Computers, and System events arriving from every server prove the sources are allowed.

Memory hook: Source-initiated forwarding of the Security log: put NETWORK SERVICE in Event Log Readers on every source.

Microsoft Learn: Setting up a source initiated subscription

Contoso has a single-domain AD DS forest with Windows Server 2025 domain controllers. Every computer in the domain shows the same time, but that time has drifted several minutes away from real time. On the domain controller that holds the PDC emulator role, w32tm /query /source returns Local CMOS Clock. The domain time hierarchy must stay in place. What should the administrator do to correct the time across the domain?

Correct answer: B. On the PDC emulator, run w32tm /config with /manualpeerlist set to an external NTP server, /syncfromflags:manual, /reliable:yes and /update

Domain-joined computers use the NT5DS type and take time from the domain hierarchy, and the Windows Time service tools article names one exception: the PDC emulator of the forest root domain, which is configured to sync from an external time source. Local CMOS Clock means it currently syncs from nothing, so every computer below it inherits the drift. Giving it an external NTP peer with /syncfromflags:manual and marking it /reliable:yes corrects the whole domain.

Why the other options are wrong:

  • A. On every member server, run w32tm /resync /rediscover A resync with /rediscover rediscovers sources and resynchronizes, but each member's chain still ends at a PDC emulator that has no time source.
  • C. On every domain controller, including the PDC emulator, run w32tm /config with /manualpeerlist set to an external NTP server, /syncfromflags:manual and /update Only the forest root PDC emulator should use an external source. A manual peer list on every domain controller takes them out of the domain hierarchy, and Learn warns that computers synced from manual sources instead of the hierarchy can fall out of step and break Kerberos.
  • D. On every member server, run w32tm /config with /manualpeerlist set to an external NTP server, /syncfromflags:manual and /update Members should take time from the domain controller that authenticated them; manual external sources on members bypass the hierarchy, and the PDC emulator would still feed wrong time to every other domain controller.

Memory hook: Only the forest root PDC emulator talks to external NTP; everything else follows the domain hierarchy.

Microsoft Learn: Windows time service tools and settings

Tailspin Toys reaches its on-premises network from Azure through a VPN gateway. The Azure VM APP01 suddenly can't reach the on-premises server 10.50.8.20, although NSG rules on its subnet and network interface allow the traffic. The administrator suspects that a new route table sends the traffic to a network virtual appliance that is shut down. Which Network Watcher tool confirms where Azure sends these packets and which route table is responsible?

Correct answer: C. Next hop

For a specific destination IP address, Next hop returns the next hop type, such as VirtualAppliance or VirtualNetworkGateway, the next hop IP address and the route table ID. When a user-defined route decides the path, it names the route table that holds that route; otherwise it reports System Route. A VirtualAppliance result that points at the stopped appliance, with the new route table's ID, confirms the cause, which is the misdirected-route case the Next hop overview describes.

Why the other options are wrong:

  • A. IP flow verify IP flow verify tests direction, protocol, addresses and ports against NSG and Azure Virtual Network Manager admin rules and returns allowed or denied with the deciding rule; it doesn't evaluate routes, and the NSGs already allow this flow.
  • B. Effective security rules Effective security rules lists the security rules applied to the network interface, its subnet and their aggregate, so it settles a filtering question, not where a route sends the packet.
  • D. Packet capture Packet capture records traffic to and from the VM through the Network Watcher agent extension; it can show packets leaving, but not which route table or next hop Azure chose for them.

Memory hook: Filtering question: IP flow verify. Routing question: Next hop, which names the route table behind the path.

Microsoft Learn: Next hop overview

On a Windows Server 2025 file server at Woodgrove Bank, Performance Monitor shows \Processor Information(_Total)\% Idle Time below 10% for 20 minutes. Over the same period, % User Time for that instance stays near 15% and % Privileged Time stays near 70%. The administrator must find out which process is consuming the processor time. Which counter should the administrator add next?

Correct answer: B. \Process(*)\% Privileged Time

Learn's scenario guide for troubleshooting performance problems in Windows splits processor time into user mode (% User Time) and kernel mode (% Privileged Time), and for a low % Idle Time it names the matching Process counters as the way to find the consumer. Privileged time near 70% is past the guide's critical mark of 50% while user time is healthy, so \Process(*)\% Privileged Time ranks the processes doing the kernel-mode work. The guide notes that the System process, which hosts drivers, is usually the top contributor there.

Why the other options are wrong:

  • A. \Process(*)\% User Time User-mode time sits near 15%, inside the guide's healthy range, so ranking processes by % User Time would not show what drives the 70% kernel-mode load.
  • C. \Process(*)\IO Read Operations/sec Per-process IO Read Operations/sec is the guide's follow-up for high disk latency; it ranks disk readers, not processor consumers.
  • D. \Memory\Pool Nonpaged Bytes Pool Nonpaged Bytes measures a kernel memory pool used mainly by drivers; it can point to memory pressure but cannot attribute processor time to a process.

Memory hook: Low idle time: see whether user or privileged time dominates, then rank processes with the Process counter for that same mode.

Microsoft Learn: Troubleshoot performance problems in Windows

More than a year ago Fabrikam deleted about 300,000 obsolete objects from its domain, and garbage collection has long since removed them. NTDS.dit on DC2, a Windows Server 2025 domain controller, still occupies 38 GB of a nearly full volume. A current system state backup of DC2 exists. Which action reclaims the disk space?

Correct answer: A. Stop AD DS, compact NTDS.dit with ntdsutil to a new folder, delete the old logs, and copy the new file back

Microsoft's article on offline defragmentation of the Active Directory database says the online defragmentation that runs with garbage collection, every 12 hours by default, optimizes storage but doesn't reduce the size of NTDS.dit. An offline defragmentation creates a new, compact copy: back up, stop the Active Directory Domain Services service, run ntdsutil with activate instance ntds, files and compact to a new path, delete the old log files, copy the new NTDS.dit over the original and start the service again.

Why the other options are wrong:

  • B. Lower garbageCollPeriod to 1 hour so that online defragmentation runs on DC2 more often and reclaims the space Online defragmentation reclaims space inside the database for new objects but never shrinks NTDS.dit, however often garbage collection runs.
  • C. Run Optimize-Volume with -Defrag on the volume that holds NTDS.dit while the AD DS service keeps running A file system defragmentation only rearranges where NTDS.dit sits on the disk; it can't remove the unused space inside the database file.
  • D. Run ntdsutil semantic database analysis with go fixup so that NTDS.dit is rebuilt in place on DC2 Semantic database analysis checks and repairs the database's logical consistency; it isn't the compaction that writes NTDS.dit out as a smaller file.

Memory hook: Online defrag tidies space inside NTDS.dit; only an offline ntdsutil compact shrinks the file.

Microsoft Learn: AD database offline defragmentation

Tonight Fabrikam must run a system state restore on DC2, a writable domain controller that is running normally right now. Nobody knows DC2's Directory Services Restore Mode (DSRM) Administrator password, and Windows LAPS isn't deployed. The administrator is signed in to DC2 with a Domain Admins account. What should the administrator do before restarting DC2 into DSRM?

Correct answer: A. On DC2, run ntdsutil, enter set dsrm password, then reset password on server null and type a new password

Microsoft's article on resetting the DSRM Administrator password describes doing it with ntdsutil without restarting the server in DSRM: set dsrm password, then reset password on server null, where null means the local computer. The article also says the procedure can't be used while the target server is running in DSRM, so it has to happen now, while DC2 runs normally. The new password then works at the DSRM sign-in for tonight's restore.

Why the other options are wrong:

  • B. Restart DC2 into DSRM, sign in as .\Administrator, and run net user Administrator * to type a new password Signing in to DSRM needs the very password that nobody knows, and the reset procedure can't be used while the target runs in DSRM.
  • C. Run Set-ADAccountPassword -Identity Administrator -Reset to give the domain's Administrator account a new password The DSRM account is a local account on each domain controller, not part of the domain, so a new domain Administrator password leaves it unchanged.
  • D. On DC1, run ntdsutil, enter set dsrm password, then reset password on server null and type a new password The null value targets the computer where ntdsutil runs, so this resets DC1's DSRM password; resetting DC2's from DC1 would take reset password on server DC2.

Memory hook: Reset the DSRM password with ntdsutil while the DC is still online; null means this server.

Microsoft Learn: Reset directory services restore mode admin pwd