<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <copyright>Copyright TechTarget - All rights reserved</copyright>
        <description></description>
        <docs>https://cyber.law.harvard.edu/rss/rss.html</docs>
        <generator>Techtarget Feed Generator</generator>
        <language>en</language>
        <lastBuildDate>Sun, 15 Mar 2026 23:22:30 GMT</lastBuildDate>
        <link>https://www.techtarget.com/searchwindowsserver</link>
        <managingEditor>editor@techtarget.com</managingEditor>
        <item>
            <body>&lt;p&gt;When an organization upgrades its domain controllers to Windows Server 2025, the primary focus will undoubtedly be on planning for and performing the actual upgrade. However, there might be various tasks that need to be performed after the upgrade is complete.&lt;/p&gt; 
&lt;p&gt;This article discusses several steps you can take after &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Plan-your-domain-controller-migration-to-Windows-Server-2025"&gt;upgrading to Windows Server 2025&lt;/a&gt;, including many configurations that can help enhance the security of your Active Directory environment. We'll also cover the ongoing monitoring and maintenance tasks to perform once your upgrade is in place and fully configured.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Domain controller configuration for Windows Server 2025"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Domain controller configuration for Windows Server 2025&lt;/h2&gt;
 &lt;p&gt;While none of these configuration tasks are absolute requirements -- and some might not be necessary in every organization -- they are intended to help you get the most benefit from the new Windows Server operating system.&lt;/p&gt;
 &lt;h3&gt;Enable JET 32 KB page sizing&lt;/h3&gt;
 &lt;p&gt;Ever since the days of Windows 2000, Active Directory's JET Blue Extensible Storage Engine database has used an 8 KB page size. Windows Server 2025 enables the page size to increase to 32 KB, significantly improving domain controller scalability.&lt;/p&gt;
 &lt;p&gt;Although there is nothing overly difficult about transitioning to 32 KB database pages, the process can be rather cumbersome, especially in larger organizations. In order to use the larger page sizes, Windows Server 2025 must be running on all of your domain controllers, and you also must be using the Windows Server 2025 domain and forest &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory-functional-levels"&gt;functional levels&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;If you have any domain controllers that were upgraded from earlier versions of Windows using an in-place upgrade, then those domain controllers will not be able to accommodate 32 KB database pages. This can make increasing the page size more complex, as you must demote those domain controllers, perform a clean Windows Server 2025 installation and then promote the machines back to domain controller status. Make sure that your backup software is compatible with the larger page size before proceeding; Microsoft Learn provides a &lt;a target="_blank" href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/32k-pages-optional-feature" rel="noopener"&gt;full list of requirements&lt;/a&gt;.&lt;/p&gt;
 &lt;h3&gt;Configure account lockout policies&lt;/h3&gt;
 &lt;p&gt;This is also a good time to revisit your organization's account lockout policy. Attackers seeking to gain access to certain accounts will sometimes resort to &lt;a href="https://www.techtarget.com/searchsecurity/definition/brute-force-cracking"&gt;brute-force attacks&lt;/a&gt;, in which they attempt potentially millions of different passwords until they are able to successfully log in. The countermeasure to such attacks is to use an account lockout policy. In doing so, however, organizations will need to make a choice.&lt;/p&gt;
 &lt;p&gt;Microsoft enables organizations to &lt;a href="https://www.techtarget.com/searchsecurity/tip/Account-lockout-policy-Setup-and-best-practices-explained"&gt;configure the account lockout policy&lt;/a&gt; to automatically lock accounts after a certain number of failed login attempts. This prevents attackers from gaining access to the accounts through brute-force attacks. Conversely, an attacker could use this mechanism against the organization by launching a denial-of-service attack that causes all of the organization's accounts to be locked out at once.&lt;/p&gt;
 &lt;p&gt;Organizations can select whichever approach best suits their needs. If an organization opts not to lock accounts, it should require long and complex passwords in addition to establishing a notification mechanism that alerts admins to brute-force attempts.&lt;/p&gt;
 &lt;h3&gt;Enforce LDAP signing and encryption&lt;/h3&gt;
 &lt;p&gt;Configuring Active Directory to reject Simple Authentication and Security Layer (SASL) binds that are either unsigned or unencrypted can help improve AD security.&lt;/p&gt;
 &lt;p&gt;Unsigned network traffic can be &lt;a href="https://www.techtarget.com/searchnetworking/definition/anti-replay-protocol#:~:text=What%20is%20a%20replay%20attack%3F"&gt;captured and used in a replay attack&lt;/a&gt;. When successful, attackers can use the intercepted traffic -- such as communications or data transmission -- to impersonate a legitimate user on the network. Replay attacks can also serve as the basis for a man-in-the-middle attack, wherein attackers alter packets midstream.&lt;/p&gt;
 &lt;p&gt;You can configure AD to require Lightweight Directory Access Protocol (LDAP) signing by way of a simple &lt;a target="_blank" href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/enable-ldap-signing-in-windows-server" rel="noopener"&gt;change to the group policy&lt;/a&gt;. However, clients that rely on unsigned SASL binds or attempt to perform binds over a non-SSL/TLS connection will cease to function.&lt;/p&gt;
 &lt;h3&gt;Deploy delegated Managed Service Accounts&lt;/h3&gt;
 &lt;p&gt;Service accounts have always been somewhat problematic for organizations because they are difficult to secure. In Windows Server 2025, Microsoft introduced a new type of service account called a &lt;i&gt;delegated Managed Service Account&lt;/i&gt;, or dSMA. These accounts are based on a device's identity, meaning that the account can only be used by a specific device. The password associated with the account is random and stored in AD. Microsoft &lt;a target="_blank" href="https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/delegated-managed-service-accounts/delegated-managed-service-accounts-overview" rel="noopener"&gt;makes it possible&lt;/a&gt; to migrate existing service accounts to dSMAs.&lt;/p&gt;
 &lt;h3&gt;Configure Windows LAPS features&lt;/h3&gt;
 &lt;p&gt;The local administrator password has always presented a vulnerability for Windows desktops. That's because such an account exists on all desktops -- and attackers know that, in a corporate environment, all the desktops likely use the same local administrator password.&lt;/p&gt;
 &lt;p&gt;Microsoft created Windows Local Administrator Password Solution (LAPS) to address this problem. &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-to-work-with-the-new-Windows-LAPS-feature"&gt;Windows LAPS automatically creates random passwords&lt;/a&gt; for all domain-joined Windows desktops.&lt;/p&gt;
 &lt;p&gt;Although Windows LAPS has been around for a while, Microsoft has made some improvements in Windows Server 2025. Among these improvements are automatic account management and image rollback detection. Windows LAPS now also supports the use of passphrases and adjustable password complexity.&lt;/p&gt;
 &lt;h3&gt;Audit and transition authentication protocols&lt;/h3&gt;
 &lt;p&gt;Phasing out the use of legacy protocols in favor of modern, more secure protocols will make your Windows Server environment more secure. One such protocol is NTLMv1.&lt;/p&gt;
 &lt;p&gt;While it is relatively easy to disable the NTLMv1 protocol and transition to either NTLMv2 or Kerberos, haphazardly disabling the protocol can break any processes that depend on it. As such, it's important to audit NTLM usage before disabling the protocol. That way, you can determine exactly which processes, if any, are still using the legacy protocol.&lt;/p&gt;
 &lt;p&gt;If you determine that there are still workloads or clients that depend on NTLMv1, you can work to upgrade or phase out those particular programs and end your NTLMv1 dependency. Microsoft Learn &lt;a target="_blank" href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/audit-domain-controller-ntlmv1" rel="noopener"&gt;offers instructions&lt;/a&gt; for auditing NTLM usage.&lt;/p&gt;
 &lt;div class="btt-thumbnailContainer"&gt;
  &lt;span class="btt-thumbnailTitle"&gt;Checking Active Directory Replication Health in Windows Server 2025&lt;/span&gt;
  &lt;a class="btt-thumbnailLink" data-video-id="652463" data-channel-id="18865"&gt;
   &lt;div class="btt-thumbnailImgContainer"&gt;
    &lt;img class="btt-videoBtThumbnail" src="https://cdn.brighttalk.com/ams/california/images/communication/652463/image_1059061.png?width=640&amp;amp;height=360"&gt;
   &lt;/div&gt;&lt;/a&gt;
  &lt;time class="btt-video-duration" datetime="PT8M5S"&gt;8:05&lt;/time&gt;
 &lt;/div&gt;
 &lt;div class="btt-modal"&gt;
  &lt;div class="btt-modal-content"&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;                         
&lt;section class="section main-article-chapter" data-menu-title="Monitoring and maintenance"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Monitoring and maintenance&lt;/h2&gt;
 &lt;p&gt;Even after everything has been upgraded and reconfigured, it is still important to perform ongoing monitoring of your domain controllers. This monitoring can help detect security issues and problems that could potentially result in an outage. For example, it's a good idea to monitor domain controller replication -- especially in the beginning -- to make sure that your domain controllers are successfully replicating with one another.&lt;/p&gt;
 &lt;h3&gt;Monitor event logs for replication issues and security events&lt;/h3&gt;
 &lt;p&gt;Windows Event Viewer is typically the tool of choice for monitoring Windows. The Directory Services log contains a wealth of information about your AD environment. Similarly, the Security log contains detailed information about various security-related events.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_1-f.jpg 1280w" alt="An image showing Directory Service events recorded the Event Viewer in Windows." data-credit="Brien Posey" height="296" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use the Event Viewer is an excellent source of information to check for Active Directory replication errors.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Troubleshoot domain controller replication&lt;/h3&gt;
 &lt;p&gt;If you suspect that you are experiencing &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Active-Directory-replication-troubleshooting-tips-and-tools"&gt;AD replication issues&lt;/a&gt;, check the Directory Service logs for related events. The following are some of the event IDs to look for:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;1311.&lt;/b&gt; Replication topology problems.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;1988.&lt;/b&gt; A lingering object has been detected.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;2042.&lt;/b&gt; Too much time has passed since the last successful replication.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;2087.&lt;/b&gt; DNS lookup failure.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;2088.&lt;/b&gt; A DNS lookup failure has occurred, but the replication succeeded anyway.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;These are just a few of the more commonly cited event IDs. You can get more information on these and other event IDs related to AD replication on the &lt;a target="_blank" href="https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/common-active-directory-replication-errors" rel="noopener"&gt;Microsoft Learn website&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Although Event Viewer might be helpful, it is not the only source of information related to Active Directory. For example, if you need to determine whether the AD replication process is healthy, you can use the Repadmin.exe command-line tool.&lt;/p&gt;
 &lt;p&gt;Like other Microsoft command-line tools, Repadmin has many different functions associated with it. However, if you just want to quickly get a feel for what's going on, enter the command &lt;span style="font-family: 'courier new', courier, monospace;"&gt;repadmin /replsummary&lt;/span&gt;. The Repadmin tool will then assess whether replication problems exist and summarize them in a report.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adpost_upgrade_2-f.jpg 1280w" alt="An image shows PowerShell output reporting on Active Directory replication." data-credit="Brien Posey" height="255" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use the Repadmin tool to see the Active Directory replication status across the domain controllers.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Ensure ongoing domain security and performance&lt;/h3&gt;
 &lt;p&gt;Once you have confirmed your AD environment is healthy and properly configured, your final task is to establish ongoing maintenance and monitoring. You will want to track logons, changes to privileges and similar security events in an effort to prevent a breach. Regular patch management can also go a long way toward keeping Active Directory healthy and secure.&lt;/p&gt;
 &lt;p&gt;It's also crucial to back up your AD environment on a regular basis. Keep in mind that older backup applications might not fully support the Windows Server 2025 domain and forest functional levels. As such, it is important to keep your backup applications up to date to ensure that backups of your Windows Server 2025 Active Directory are fully supported.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America. &lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Windows Server 2025 has many new features, but how can you get the most from them? Use this tutorial to configure AD domain controllers and optimize your environment post-upgrade.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/code_g1195673150.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/Configure-domain-controllers-after-Server-2025-upgrade</link>
            <pubDate>Tue, 13 Jan 2026 15:10:00 GMT</pubDate>
            <title>Configure domain controllers after Server 2025 upgrade</title>
        </item>
        <item>
            <body>&lt;p&gt;Although AD traditionally serves as the central authority for managing users, computers and security within an organization's network, Entra ID provides similar functionalities in the cloud, focusing on managing access to cloud applications and resources.&lt;/p&gt; 
&lt;p&gt;Microsoft hybrid identity gives IT admins the best of both worlds, combining on-premises identity infrastructure with &lt;a href="https://www.techtarget.com/searchsecurity/tip/Top-cloud-IAM-best-practices-to-implement"&gt;cloud-based identity management&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Hybrid identity is a simplified, secure and user-friendly identity and access management (&lt;a href="https://www.techtarget.com/searchsecurity/definition/identity-access-management-IAM-system"&gt;IAM&lt;/a&gt;) system. But it also comes with unique implementation challenges and prerequisites IT admins must thoroughly understand before deploying it for their organization.&lt;/p&gt; 
&lt;p&gt;This article covers the components involved in Microsoft hybrid identity, how to prepare for its deployment and an implementation roadmap for launching hybrid identity for your IT environment.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is Microsoft hybrid identity?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is Microsoft hybrid identity?&lt;/h2&gt;
 &lt;p&gt;&lt;i&gt;Hybrid identity&lt;/i&gt; refers to Microsoft's integration of on-premises and cloud-based identity infrastructure and management.&lt;/p&gt;
 &lt;p&gt;This system enables users to use a single identity, such as username and password, to access both on-premises resources managed by AD and cloud resources &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/What-should-admins-know-about-Microsoft-Entra-features"&gt;managed by Entra ID&lt;/a&gt;, formerly Azure AD. For example, users can use the same credentials to log on to local AD resources that they would use for cloud-based applications, such as Microsoft 365 and other SaaS applications.&lt;/p&gt;
 &lt;p&gt;Hybrid identity is commonly used in environments transitioning to the cloud, as it enables coexistence between legacy systems and modern cloud services. It provides several benefits to IT administrators, including centralized IAM and access to enhanced features, such as conditional access and multifactor authentication (MFA) from Entra ID.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Key concepts of Microsoft hybrid identity"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key concepts of Microsoft hybrid identity&lt;/h2&gt;
 &lt;p&gt;The following components comprise a hybrid identity system:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;On-premises AD.&lt;/b&gt; AD manages user identities, groups and access to internal resources.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Entra ID.&lt;/b&gt; This extends identity capabilities to cloud apps and services.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Entra Connect or Cloud Sync.&lt;/b&gt; These tools synchronize identities between on-premises AD and Entra ID.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Authentication model.&lt;/b&gt; Choose from password hash synchronization (PHS), pass-through authentication (PTA) or &lt;a href="https://www.techtarget.com/searchsecurity/definition/federated-identity-management"&gt;federated authentication&lt;/a&gt; with AD Federation Service (AD FS).&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/hsearlejones_hybridid_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/hsearlejones_hybridid_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/hsearlejones_hybridid_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/hsearlejones_hybridid_1-f.jpg 1280w" alt="A diagram showing how the Entra ID Connect tool syncs user identities between AD and Microsoft Entra ID." height="508" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Entra ID Connect links the on-premises AD with the cloud-based Microsoft Entra ID to let users work with a single identity for seamless access to local and cloud resources.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Microsoft Entra Connect, formerly known as Azure AD Connect, and Microsoft Entra Cloud Sync are two tools used to synchronize on-premises AD with Microsoft Entra ID. Although both achieve similar outcomes -- syncing identities to the cloud -- they differ in architecture, capabilities and use cases.&lt;/p&gt;
 &lt;h3&gt;Microsoft Entra Connect overview&lt;/h3&gt;
 &lt;p&gt;This comprehensive tool, which is installed on an on-premises Windows Server, provides robust sync and authentication features. Key features include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Directory synchronization, including users, groups and passwords.&lt;/li&gt; 
  &lt;li&gt;Password hash sync, pass-through authentication or federation.&lt;/li&gt; 
  &lt;li&gt;Custom filtering, such as by organizational unit or attribute values.&lt;/li&gt; 
  &lt;li&gt;&lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Follow-these-steps-to-remove-the-last-Exchange-Server"&gt;Exchange hybrid configuration&lt;/a&gt; support.&lt;/li&gt; 
  &lt;li&gt;Writeback features, including password, device and group writeback.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Entra Connect's architecture requires a SQL database and runs as a full server application. It comes with a heavier footprint and requires more ongoing maintenance compared to Entra Cloud Sync. Given this, Entra Connect is best for complex enterprise environments, including those with Exchange hybrid deployments, and scenarios that require writeback capabilities.&lt;/p&gt;
 &lt;h3&gt;Microsoft Entra Cloud Sync overview&lt;/h3&gt;
 &lt;p&gt;This lightweight, cloud-managed agent-based tool is designed for simpler and more scalable synchronization. The following are some of its key features:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Lightweight agent-based sync.&lt;/li&gt; 
  &lt;li&gt;Password hash sync only.&lt;/li&gt; 
  &lt;li&gt;Multiple AD forests supported (with multiple agents).&lt;/li&gt; 
  &lt;li&gt;Managed entirely from the cloud with no on-premises UI.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Entra Cloud Sync's architecture uses cloud-based configuration and doesn't require a SQL database. It can be easier to deploy and maintain than Entra Connect, which makes it a good fit for modern, cloud-first organizations, including ones with multiple AD forest environments, and scenarios without the need for writeback.&lt;/p&gt;
 &lt;p&gt;&lt;iframe title="Entra Connect vs. Entra Cloud Sync" aria-label="Table" id="datawrapper-chart-uBqFs" src="https://datawrapper.dwcdn.net/uBqFs/1/" scrolling="no" frameborder="0" style="width: 0; min-width: 100% !important; border: none;" height="401" data-external="1"&gt;&lt;/iframe&gt;&lt;/p&gt;
 &lt;p&gt; &lt;script type="text/javascript"&gt;window.addEventListener("message",function(a){if(void 0!==a.data["datawrapper-height"]){var e=document.querySelectorAll("iframe");for(var t in a.data["datawrapper-height"])for(var r,i=0;r=e[i];i++)if(r.contentWindow===a.source){var d=a.data["datawrapper-height"][t]+"px";r.style.height=d}}});&lt;/script&gt; &lt;/p&gt;
 &lt;h3&gt;Authentication models&lt;/h3&gt;
 &lt;p&gt;&lt;b&gt;Password hash synchronization.&lt;/b&gt; With PHS, hashes of user passwords are synced from on-premises AD to Microsoft Entra ID, and the user authenticates directly with Entra ID in the cloud.&lt;/p&gt;
 &lt;p&gt;The advantages of PHS are that it's simple to deploy and manage, and there is no dependency on on-premises servers at logon. It supports single sign-on (&lt;a href="https://www.techtarget.com/searchsecurity/definition/single-sign-on"&gt;SSO&lt;/a&gt;), although there is a sync delay when changing user passwords. Some organizations might choose to use other methods because password hashes are stored in the cloud.&lt;/p&gt;
 &lt;div class="extra-info"&gt;
  &lt;div class="extra-info-inner"&gt;
   &lt;h3 class="splash-heading"&gt;Single sign-on for hybrid identity&lt;/h3&gt; 
   &lt;p&gt;SSO in a hybrid identity environment enables users to access both on-premises and cloud-based applications and resources using a single set of credentials -- typically their AD username and password -- without being prompted to sign in again each time. In a hybrid identity implementation, SSO authenticates the user once, typically at the time of device login using AD credentials. It automatically passes authentication tokens to cloud applications, such as Microsoft 365 or SharePoint Online. Admins can maintain centralized IAM using AD or Entra ID.&lt;/p&gt;
  &lt;/div&gt;
 &lt;/div&gt;
 &lt;p&gt;&lt;b&gt;Pass-through authentication.&lt;/b&gt; In this model, users enter credentials in the cloud, and the authentication request is securely passed to an on-premises agent, which validates it against the local AD instance. The advantages of this method are that no password hashes are stored in the cloud, and the agent is lightweight, making it easier for IT administrators to implement than AD FS. It does require the on-premises infrastructure to be online.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Federation.&lt;/b&gt; Microsoft Entra redirects the user to AD FS, an on-premises federation service, for authentication. IT administrators have full control over authentication policies and can implement custom login branding, multifactor options and smart card support. Federation is more complex to deploy and maintain, and it requires multiple servers. However, this authentication method is typically required to satisfy government and regulatory requirements.&lt;/p&gt;
 &lt;p&gt;&lt;iframe title="Compare PHS vs. PTA vs. AD FS for authentication" aria-label="Table" id="datawrapper-chart-X8JJv" src="https://datawrapper.dwcdn.net/X8JJv/3/" scrolling="no" frameborder="0" style="width: 0; min-width: 100% !important; border: none;" height="544" data-external="1"&gt;&lt;/iframe&gt; &lt;script type="text/javascript"&gt;window.addEventListener("message",function(a){if(void 0!==a.data["datawrapper-height"]){var e=document.querySelectorAll("iframe");for(var t in a.data["datawrapper-height"])for(var r,i=0;r=e[i];i++)if(r.contentWindow===a.source){var d=a.data["datawrapper-height"][t]+"px";r.style.height=d}}});&lt;/script&gt; &lt;/p&gt;
&lt;/section&gt;                      
&lt;section class="section main-article-chapter" data-menu-title="Why implement hybrid identity?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why implement hybrid identity?&lt;/h2&gt;
 &lt;p&gt;Organizations should implement hybrid identity to bridge the gap between on-premises infrastructure and the cloud. This enables a secure, seamless and scalable identity experience across all environments.&lt;/p&gt;
 &lt;p&gt;Here are some key reasons why hybrid identity is beneficial.&lt;/p&gt;
 &lt;h3&gt;Familiarity for users&lt;/h3&gt;
 &lt;p&gt;The use of a single identity for your organization's users lowers frustration, improves productivity and reduces password fatigue. Users often find that their login experience is improved, as it reduces repeated sign-ins. For example, a user can log into their Windows device using AD credentials and open Outlook or Microsoft Teams. Thanks to Entra ID's SSO option and the user's on-premises identity, access is granted without another login.&lt;/p&gt;
 &lt;h3&gt;Simplified management&lt;/h3&gt;
 &lt;p&gt;Most organizations already use on-premises AD. Hybrid identity incorporates existing AD users, groups and policies without the need to recreate them in the cloud. It simplifies user management, &lt;a href="https://www.techtarget.com/searchsecurity/tip/User-provisioning-and-deprovisioning-Why-it-matters-for-IAM"&gt;provisioning and deprovisioning&lt;/a&gt;, while also ensuring consistent access policies, auditing and role assignments.&lt;/p&gt;
 &lt;h3&gt;Enhanced security&lt;/h3&gt;
 &lt;p&gt;Hybrid identity uses cloud-based conditional access, MFA and risk-based access. It reduces the risk of account compromise from reused or weak passwords. Conditional access policies enable IT administrators to create rules that control how, when and under what conditions users can access corporate resources -- especially cloud apps, such as Microsoft 365. These policies play a key role in &lt;a href="https://www.techtarget.com/searchsecurity/definition/zero-trust-model-zero-trust-network"&gt;zero-trust security&lt;/a&gt; by enforcing the "never trust, always verify" principle. Admins can set specific conditions based on location, device compliance, IP address, the application accessed or user group membership.&lt;/p&gt;
 &lt;p&gt;Conditional access is the gatekeeper of the hybrid identity environment. It analyzes the context of each sign-in and enforces real-time decisions -- allow, block, challenge or restrict access -- to protect corporate data without hindering user productivity.&lt;/p&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="Planning for hybrid identity"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Planning for hybrid identity&lt;/h2&gt;
 &lt;p&gt;Planning and implementing Microsoft hybrid identity using Entra ID requires understanding your current infrastructure and IAM methods, preparing your environment and carefully deploying it.&lt;/p&gt;
 &lt;p&gt;You must decide which authentication strategy -- PHS, PTA or AD FS -- best suits your organization and its security requirements. Design the identity architecture, including sync scope, domains and forests, and create an implementation roadmap.&lt;/p&gt;
 &lt;p&gt;Implementation requires several technical and organizational prerequisites to ensure a smooth deployment. These cover your on-premises environment, cloud configuration, security planning and infrastructure readiness.&lt;/p&gt;
 &lt;p&gt;The on-premises AD requirements include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;At least one &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory-forest-AD-forest"&gt;AD forest&lt;/a&gt; or domain with a functional level of Windows Server 2008 R2 or later.&lt;/li&gt; 
  &lt;li&gt;A routable User Principal Name suffix. For example, the UPN must be user@company.com instead of user@localdomain.&lt;/li&gt; 
  &lt;li&gt;Consistent and unique user attributes, such as UPN, mail and SAM account name.&lt;/li&gt; 
  &lt;li&gt;Cleanup of stale accounts, duplicates and nonstandard naming conventions.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The following infrastructure requirements must be in place:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;A dedicated Windows Server to install Microsoft Entra Connect.&lt;/li&gt; 
  &lt;li&gt;Administrative access to both on-premises AD and Entra ID tenant.&lt;/li&gt; 
  &lt;li&gt;Required network ports open for sync and authentication, such as HTTPS, LDAP or Kerberos.&lt;/li&gt; 
  &lt;li&gt;A valid Microsoft Entra ID tenant, either as part of your Microsoft 365 subscription or standalone.&lt;/li&gt; 
  &lt;li&gt;At least one verified custom domain in Entra ID.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Then, ensure security and compliance readiness with these steps:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Plan to implement MFA.&lt;/li&gt; 
  &lt;li&gt;Define conditional access policies, such as those based on device, location or risk.&lt;/li&gt; 
  &lt;li&gt;Prepare to handle identity protection, user risk detections and reporting.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Your deployment strategy should incorporate operational and user readiness. Communicate hybrid identity plans to stakeholders, train IT staff and prepare user education materials for any sign-in behavior changes.&lt;/p&gt;
 &lt;p&gt;The following outlines a typical implementation roadmap:&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Phase 1: Planning&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Define business goals for hybrid identity.&lt;/li&gt; 
  &lt;li&gt;Choose your authentication model (PHS, PTA or AD FS).&lt;/li&gt; 
  &lt;li&gt;Design identity architecture (sync scope, domains, forests).&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Phase 2: Preparation&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Prepare AD with cleanup and UPN standardization.&lt;/li&gt; 
  &lt;li&gt;Prepare server infrastructure for Entra Connect.&lt;/li&gt; 
  &lt;li&gt;Review security and compliance requirements.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Phase 3: Deployment&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Install and configure Microsoft Entra Connect.&lt;/li&gt; 
  &lt;li&gt;Configure selected authentication method.&lt;/li&gt; 
  &lt;li&gt;Set up SSO or seamless SSO (optional).&lt;/li&gt; 
  &lt;li&gt;Run initial directory sync (test with pilot users).&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Phase 4: Testing and validation&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Validate the following components: 
   &lt;ul class="default-list"&gt; 
    &lt;li&gt;User sign-ins to Microsoft 365 and Entra-protected apps.&lt;/li&gt; 
    &lt;li&gt;Password changes and sync behavior.&lt;/li&gt; 
    &lt;li&gt;MFA and conditional access, if configured.&lt;/li&gt; 
   &lt;/ul&gt; &lt;/li&gt; 
  &lt;li&gt;Monitor logs and sync health.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Phase 5: Rollout&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Expand sync scope to include all users/groups.&lt;/li&gt; 
  &lt;li&gt;Communicate changes to end users.&lt;/li&gt; 
  &lt;li&gt;Begin enabling cloud services, such as Teams or SharePoint&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;b&gt;Phase 6: Optimization&lt;/b&gt;&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Deploy MFA, conditional access and self-service password reset.&lt;/li&gt; 
  &lt;li&gt;Consider group writeback or hybrid device join.&lt;/li&gt; 
  &lt;li&gt;Monitor and fine-tune performance and logs using Microsoft Entra admin center.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;                        
&lt;section class="section main-article-chapter" data-menu-title="Potential issues with on-premises AD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Potential issues with on-premises AD&lt;/h2&gt;
 &lt;p&gt;Although hybrid identity offers flexibility and control by integrating on-premises AD with Microsoft Entra ID, it also introduces technical and operational challenges that organizations must plan for.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;AD health issues.&lt;/b&gt; Replication errors, DNS issues or corrupt AD objects can lead to failed synchronization or incomplete user provisioning in Entra ID. Run &lt;span style="font-family: 'courier new', courier, monospace;"&gt;dcdiag&lt;/span&gt;, &lt;span style="font-family: 'courier new', courier, monospace;"&gt;repadmin&lt;/span&gt; and Entra Connect Health checks regularly. Clean up AD objects before sync.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Password or authentication inconsistencies.&lt;/b&gt; Password changes might not sync quickly, especially with PHS. If not redundant, PTA agents or AD FS servers can become single points of failure. Clock drift in AD can cause Kerberos or auth token issues. Use redundant agents, ensure accurate time sync and monitor authentication services.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Synchronization failures.&lt;/b&gt; Microsoft Entra Connect might fail to sync due to connectivity issues, outdated schema or object attribute mismatches -- especially if UPNs don't match verified domains. Be sure to review sync rules, use consistent UPNs and monitor Entra Connect sync logs.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Security gaps.&lt;/b&gt; On-premises AD might not enforce MFA, conditional access or sign-in risk detection. To mitigate security concerns, &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Using-Azure-AD-conditional-access-for-tighter-security"&gt;use Microsoft Entra conditional access and identity protection&lt;/a&gt; and enforce cloud policies.&lt;/p&gt;
 &lt;p&gt;Hybrid identity is the cornerstone of a secure, flexible and user-friendly IT environment in the cloud era, especially for organizations transitioning from legacy systems.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Helen Searle-Jones holds a group head of IT position in the manufacturing sector. She draws on 30 years of experience in enterprise and end-user computing, utilizing cloud and on-premises technologies to enhance IT performance.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Microsoft hybrid identity combines on-premises AD resources and cloud-based Entra ID capabilities to create a seamless access experience across environments.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/cloud_g943065362.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/Understand-the-basics-of-Microsoft-hybrid-identity</link>
            <pubDate>Thu, 20 Nov 2025 11:00:00 GMT</pubDate>
            <title>Understand the basics of Microsoft hybrid identity</title>
        </item>
        <item>
            <body>&lt;p&gt;AI took center stage at Microsoft Ignite 2025, this year's installment of the tech giant's annual conference.&lt;/p&gt; 
&lt;p&gt;From Nov. 18-21, conference-goers gathered at San Francisco's Moscone Center for hundreds of live sessions, demonstrations and labs focusing on key topic areas. Key topics this year included cloud and AI platforms, AI-powered security and AI business tools.&lt;/p&gt; 
&lt;p&gt;In a shakeup from years past, Microsoft CEO Satya Nadella did not make an appearance at this year's event. Judson Althoff, CEO of Microsoft's commercial business, delivered the opening keynote -- where he highlighted the company's AI innovations -- alongside senior Microsoft engineering leaders.&lt;/p&gt; 
&lt;p&gt;Dive into our editorial coverage below to catch up on the major announcements and news analysis from this year's Microsoft Ignite conference, and stay tuned for future updates.&lt;/p&gt;</body>
            <description>Our guide to Microsoft Ignite 2025 has everything you need to know about the annual conference, including live news updates, expert analysis and highlights from last year's show.</description>
            <link>https://www.techtarget.com/searchwindowsserver/conference/Microsoft-Ignite-conference-coverage</link>
            <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
            <title>Microsoft Ignite 2025 conference coverage</title>
        </item>
        <item>
            <body>&lt;p&gt;Upgrading an Active Directory forest to run on Windows Server 2025 isn't overly difficult, but the process requires preparation.&lt;/p&gt; 
&lt;p&gt;In its latest Windows Server release, Microsoft &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/See-whats-coming-in-Windows-Server-2025"&gt;introduced several Active Directory enhancements&lt;/a&gt;, including new features and improved functionality that will appeal to organizations. Before they can implement these features, though, they'll need to migrate their domain controllers to Windows Server 2025.&lt;/p&gt; 
&lt;p&gt;This article provides a walkthrough of the planning required before an AD domain controller migration and then covers the steps involved in performing the actual upgrade.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why upgrade Active Directory?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why upgrade Active Directory?&lt;/h2&gt;
 &lt;p&gt;One major development in Windows Server 2025 is the increased database page size. Since the days of Windows 2000, Active Directory has relied on an Extensible Storage Engine database with an 8 KB page size. While this might have been fine 25 years ago, today the page size limitations hinder overall AD scalability. Microsoft has removed these limitations by increasing the page size to 32 KB. Additionally, AD now takes advantage of &lt;a href="https://www.techtarget.com/whatis/definition/NUMA-non-uniform-memory-access"&gt;non-uniform memory access&lt;/a&gt; nodes and can support up to 64 CPU cores.&lt;/p&gt;
 &lt;p&gt;Microsoft has also taken steps to improve AD security. As an example, the lightweight directory access protocol used by Active Directory now supports TLS version 1.3. Similarly, Active Directory blocks legacy Security Account Manager Remote Procedure Call protocols in favor of more secure alternatives, such as Kerberos. The Microsoft Learn website offers a &lt;a target="_blank" href="https://learn.microsoft.com/en-us/windows-server/get-started/whats-new-windows-server-2025" rel="noopener"&gt;full list&lt;/a&gt; of the latest AD enhancements.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Prepare for your domain controller migration"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Prepare for your domain controller migration&lt;/h2&gt;
 &lt;p&gt;Before upgrading your &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/domain-controller"&gt;domain controllers&lt;/a&gt; to Windows Server 2025, take the following steps to help ensure a smooth and successful migration.&lt;/p&gt;
 &lt;h3&gt;Assess replication process&lt;/h3&gt;
 &lt;p&gt;The first step involves checking Active Directory to make sure the domain controllers are properly replicating with one another and that the replication process is healthy. This step will also need to be performed again later as part of the migration process. To check the replication status, open PowerShell and enter the command &lt;samp&gt;RepAdmin /ReplSummary&lt;/samp&gt;. Make sure there are no replication errors, as shown in Figure 1.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_1-f.jpg 1280w" alt="Screenshot of Windows PowerShell displaying information generated by the RepAdmin tool." data-credit="Brien Posey" height="295" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 1. Check for replication errors by using the RepAdmin tool.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Create an Active Directory backup&lt;/h3&gt;
 &lt;p&gt;This backup should be done at the last minute to ensure capture of all the latest AD changes. Practice restoring your backups to a lab environment so that you can test their integrity. This process helps familiarize the recovery process in case anything goes wrong.&lt;/p&gt;
 &lt;h3&gt;Audit legacy protocols, applications&lt;/h3&gt;
 &lt;p&gt;Evaluate NT LAN Manager usage throughout your organization. NTLM is a legacy protocol that you should ideally phase out as part of the upgrade process. However, you might still have legacy applications that require NTLM, which might force you to continue using the protocol.&lt;/p&gt;
 &lt;h3&gt;Evaluate hardware requirements&lt;/h3&gt;
 &lt;p&gt;These requirements are relatively modest: 1.4 GHz 64-bit CPU; 2 GB of RAM, or 4 GB as recommended for the Desktop Experience; and 32 GB of storage.&lt;/p&gt;
 &lt;p&gt;You should also review the hardware that your existing domain controllers currently use, since domain controllers will almost always require more than just the minimum hardware. This would be a good time to assess whether your existing hardware allocations are sufficient or if you need to allocate more hardware to your domain controllers.&lt;/p&gt;
 &lt;h3&gt;Consider raising functional levels&lt;/h3&gt;
 &lt;p&gt;Finally, decide whether you want to upgrade to the latest domain and forest &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory-functional-levels"&gt;functional levels&lt;/a&gt;. Prior to Windows Server 2025, the highest available functional level was Windows Server 2016. Upgrading to the Windows Server 2025 domain functional level lets you take advantage of all the latest enhancements, but you cannot perform the upgrade until all of the domain controllers within the domain are running Windows Server 2025.&lt;/p&gt;
 &lt;p&gt;Note that upgrading the domain functional level is a one-way operation. Once you upgrade the functional level, you will no longer be able to deploy domain controllers running older versions of Windows.&lt;/p&gt;
 &lt;p&gt;The same basic concept also applies to forest functional level upgrades. Raising the forest functional level to Windows Server 2025 requires all of your domains to be operating at the Windows Server 2025 domain functional level. Once again, this is a one-way operation; once you raise the forest functional level, you can no longer deploy domains at lower functional levels.&lt;/p&gt;
 &lt;p&gt;The importance of having a good AD backup increases exponentially when upgrading functional levels. It's a good idea to create a new one just before raising a functional level.&lt;/p&gt;
 &lt;div class="btt-thumbnailContainer"&gt;
  &lt;span class="btt-thumbnailTitle"&gt;Plan Your Domain Controller Migration to Windows Server 2025&lt;/span&gt;
  &lt;a class="btt-thumbnailLink" data-video-id="652475" data-channel-id="18865"&gt;
   &lt;div class="btt-thumbnailImgContainer"&gt;
    &lt;img class="btt-videoBtThumbnail" src="https://cdn.brighttalk.com/ams/california/images/communication/652475/image_1059089.png?width=640&amp;amp;height=360"&gt;
   &lt;/div&gt;&lt;/a&gt;
  &lt;time class="btt-video-duration" datetime="PT14M40S"&gt;14:40&lt;/time&gt;
 &lt;/div&gt;
 &lt;div class="btt-modal"&gt;
  &lt;div class="btt-modal-content"&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;                  
&lt;section class="section main-article-chapter" data-menu-title="Domain controller migration, step by step"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Domain controller migration, step by step&lt;/h2&gt;
 &lt;p&gt;Once all the prep work has been completed, it's time for the actual domain controller migration. While you can perform an in-place upgrade from Windows Server 2012 R2 or newer Windows Server OSes, the following steps will be for a clean installation onto physical or virtual hardware, as this is usually the preferred option.&lt;/p&gt;
 &lt;h3&gt;1. Install the OS and Domain Services&lt;/h3&gt;
 &lt;p&gt;The first step is to install Windows Server 2025. You will need to join the machine to the AD domain where it will eventually serve as a domain controller before continuing. Take this opportunity to install any available updates.&lt;/p&gt;
 &lt;p&gt;With the OS ready to go, next you will need to install &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Active-Directory-Domain-Services-AD-DS"&gt;Active Directory Domain Services&lt;/a&gt;. From the GUI, open Server Manager and then choose the &lt;b&gt;Add Roles and Features&lt;/b&gt; command from the Manage menu. Work your way through the wizard until you reach the Roles screen. Here, you will need to select the Active Directory Domain Services role. When prompted, be sure to install any required dependency services.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_2-f.jpg 1280w" alt="Screenshot of the Add Roles and Features Wizard showing the server roles selection screen in Server Manager." data-credit="Brien Posey" height="400" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 2. Install the Active Directory Domain Services role from Server Manager.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;2. Deploy DNS services&lt;/h3&gt;
 &lt;p&gt;Although not technically a requirement, consider where you plan to host the DNS services. Active Directory cannot function without DNS. As such, there is a strong possibility that some of your legacy domain controllers are also functioning as DNS servers. If you are completely doing away with these legacy servers, then you will need to deploy DNS elsewhere.&lt;/p&gt;
 &lt;p&gt;One option is to run the DNS services on your new domain controllers. You can do so by selecting the DNS Server checkbox, shown in Figure 2. You will also need to install the dependency features when prompted. If you are migrating DNS to a new server, remember to modify the IP address configuration used throughout your organization so that it points to the new DNS server.&lt;/p&gt;
 &lt;h3&gt;3. Promote new domain controllers&lt;/h3&gt;
 &lt;p&gt;When the role deployment process is complete, click on the &lt;b&gt;Promote This Server to a Domain Controller&lt;/b&gt; link. This will launch the Deployment Configuration Wizard. Select the option to add a new domain controller to an existing domain and then verify that the correct domain is selected. Click &lt;b&gt;Next&lt;/b&gt;, and the following screen will ask you to select the capabilities for the new domain controller. Unless you are &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Deploy-a-read-only-domain-controller-for-security-speed"&gt;deploying a read-only domain controller&lt;/a&gt;, select the default options. While you are at it, you will need to enter and confirm a Directory Services Restore password. Click &lt;b&gt;Next&lt;/b&gt; until you complete the wizard. At that point, the server will be configured to act as a domain controller. A reboot is required at the completion of this process.&lt;/p&gt;
 &lt;p&gt;When the reboot is complete, give your new domain controller some time to receive copies of all the objects that currently exist within your Active Directory. Before moving forward, check the replication health using the same method discussed earlier. Make sure that AD replication is functioning properly and the initial replication process is complete before proceeding. If you encounter replication errors, verify that DNS name resolution is working properly and that all the domain controller clocks are correct.&lt;/p&gt;
 &lt;h3&gt;4. Deprovision legacy domain controllers&lt;/h3&gt;
 &lt;p&gt;If you plan to deprovision your legacy domain controllers, it's a good idea to &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/How-to-transfer-FSMO-roles-with-PowerShell"&gt;transfer Flexible Single Master Operation (FSMO) roles&lt;/a&gt;. The role transfer should occur automatically as part of the deprovisioning process, but transferring roles ahead of time can help avoid any surprises. The easiest way to do this is to open an elevated PowerShell session and enter the following command:&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Move-ADDirectoryServerOperationMasterRole -Identity $env:COMPUTERNAME -OperationMasterRole 0,1,2,3,4 -Confirm:$False&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;This command, shown in Figure 3, will transfer all of the operation master roles to your new domain controller. If you only wish to transfer some of the roles, you can change the numbers listed at the end of the command. Each of these numbers represents a role:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;0: Primary domain controller emulator.&lt;/li&gt; 
  &lt;li&gt;1: Relative identifier master.&lt;/li&gt; 
  &lt;li&gt;2: Infrastructure master.&lt;/li&gt; 
  &lt;li&gt;3: Schema master.&lt;/li&gt; 
  &lt;li&gt;4: Domain naming master.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adupgrade_3-f.jpg 1280w" alt="Screenshot of Windows PowerShell displaying a command that transfers FSMO roles to the local system." data-credit="Brien Posey" height="344" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 3. Use PowerShell to transfer all FSMO roles to your new domain controller.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;You can verify that the roles have been successfully transferred with the &lt;samp&gt;netdom query fsmo&lt;/samp&gt; command.&lt;/p&gt;
 &lt;p&gt;The next step in the process is to begin deprovisioning your legacy domain controllers. The exact steps involved will vary slightly depending on the version of Windows Server in use. At a high level, however, the deprovisioning process involves opening Server Manager and removing the AD Domain Services role.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Windows Server 2025 offers a slew of new Active Directory features, but users must migrate their domain controllers before they can realize the benefits.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/security_a244600171.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/Plan-your-domain-controller-migration-to-Windows-Server-2025</link>
            <pubDate>Fri, 17 Oct 2025 14:28:00 GMT</pubDate>
            <title>Plan your domain controller migration to Windows Server 2025</title>
        </item>
        <item>
            <body>&lt;p&gt;Most AD administrators are comfortable managing users, groups and organizational units. However, fewer are familiar with managing AD topology.&lt;/p&gt; 
&lt;p&gt;Properly associating physical locations, WAN and LAN connections, and scheduling replication availability enables administrators to ensure the AD database reconciles efficiently and promptly.&lt;/p&gt; 
&lt;p&gt;This article provides a sample AD configuration based on a fictional &lt;a href="https://www.techtarget.com/searchnetworking/definition/What-is-network-mapping"&gt;network map&lt;/a&gt;. It covers two scenarios: new AD deployments and optimizing existing AD topologies.&lt;/p&gt; 
&lt;p&gt;Use these best practices to configure optimal AD replication.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Start with a network map"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Start with a network map&lt;/h2&gt;
 &lt;p&gt;Begin with an accurate network map as a visual. Include the environment's physical locations, such as headquarters and branch offices.&lt;/p&gt;
 &lt;p&gt;You should also identify the WAN connections connecting locations and the logical IP subnets at each locale. Finally, identify the domain controller (DC) locations.&lt;/p&gt;
 &lt;p&gt;Figure 1 is a sample diagram of an AD sites configuration.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_1-f.jpg 1280w" alt="A sample network map." height="449" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 1. This network topology diagram shows a corporate network with three locations.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Pay careful attention to the following components:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Physical locations.&lt;/b&gt; Headquarters, Branch1, Branch2.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;WAN links.&lt;/b&gt; WAN link A and WAN link B.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Subnets.&lt;/b&gt; Seven subnets distributed among the three locations.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;DCs. &lt;/b&gt;Five DCs distributed among the three locations.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;You'll create AD objects to represent these components. To avoid confusion, &lt;i&gt;location&lt;/i&gt; will refer to the physical building, and &lt;i&gt;site&lt;/i&gt; will refer to the AD object.&lt;/p&gt;
 &lt;p&gt;The following sections cover two likely scenarios:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Deploying a new AD environment.&lt;/b&gt; You must create most objects and rename the default objects.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Optimizing an existing AD environment.&lt;/b&gt; You rename existing objects and create any unrepresented objects.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="New AD environments"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;New AD environments&lt;/h2&gt;
 &lt;p&gt;Suppose the above network diagram represents an AD environment you intend to build. Once you &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Deploy-a-read-only-domain-controller-for-security-speed"&gt;deploy your first DC&lt;/a&gt;, you should create the AD sites infrastructure before promoting additional DCs. AD automatically places the DCs in the topology when you promote new DCs with existing sites and subnet objects. If you create the topology in AD Sites and Services after deploying the DCs, you must manually move them.&lt;/p&gt;
 &lt;p&gt;Remember, the goal is to create AD objects representing the components in the diagram.&lt;/p&gt;
 &lt;p&gt;Open the AD Sites and Services console on your existing DC. Then, expand the nodes. Identify the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Sites node.&lt;/li&gt; 
  &lt;li&gt;Subnets node.&lt;/li&gt; 
  &lt;li&gt;Inter-Site Transports and its nested IP node.&lt;/li&gt; 
  &lt;li&gt;Servers node.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;You will work with these nodes to configure AD sites.&lt;/p&gt;
 &lt;h3&gt;Define AD sites&lt;/h3&gt;
 &lt;p&gt;Begin by renaming the existing Default-First-Site-Name to Headquarters.&lt;/p&gt;
 &lt;p&gt;Next, create the site objects for Branch1 and Branch2. Right-click the &lt;b&gt;Sites&lt;/b&gt; node and select &lt;b&gt;New Site&lt;/b&gt;. Use descriptive names to identify the locations.&lt;/p&gt;
 &lt;p&gt;Create a site object for the Branch1 and Branch2 locations. You must associate new sites with a link. For now, select &lt;b&gt;DEFAULTIPSITELINK&lt;/b&gt;. You can rename the link later.&lt;/p&gt;
 &lt;p&gt;The second site object is for Branch2.&lt;/p&gt;
 &lt;p&gt;AD Sites and Services now displays the three site objects representing your physical locations.&lt;/p&gt;
 &lt;h3&gt;Define site links&lt;/h3&gt;
 &lt;p&gt;Next, create objects to represent the two WAN connections. AD uses these connections for intersite replication. Expand the &lt;b&gt;Inter-Site Transports&lt;/b&gt; node and select the &lt;b&gt;IP&lt;/b&gt; node. Again, name the links something meaningful to your organization. For this example, the names are WAN-A and WAN-B. Rename the existing DEFAULTIPSITELINK to WAN-A, then create a new site link object for WAN-B.&lt;/p&gt;
 &lt;p&gt;Figure 2 shows how you can right-click the &lt;b&gt;DEFAULTIPSITELINK&lt;/b&gt; object to rename it to WAN-A.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_2-f.jpg 1280w" alt="AD Sites and Services menu screenshot." height="163" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 2. Rename the original DEFAULTIPSITELINK object to WAN-A.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Create a second link for WAN-B.&lt;/p&gt;
 &lt;p&gt;When you create a new site link, give it a name and associate it with the locations the WAN connection accesses. In this case, WAN-B connects Headquarters and Branch2.&lt;/p&gt;
 &lt;p&gt;You now have two objects representing your WAN connections (Figure 3).&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_3-f.jpg 1280w" alt="Inter-Site Transports menu screenshot." height="92" width="558"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 3. Both WAN connections have objects to represent them.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Per Figure 1, WAN-A connects Headquarters and Branch1, while WAN-B connects Headquarters and Branch2. Use the &lt;b&gt;Add&lt;/b&gt; and &lt;b&gt;Remove&lt;/b&gt; buttons in the Site Link properties menu to configure the associations.&lt;/p&gt;
 &lt;h3&gt;Define subnets&lt;/h3&gt;
 &lt;p&gt;Next, expand the &lt;b&gt;Subnets&lt;/b&gt; node, right-click and select &lt;b&gt;New Subnet&lt;/b&gt;. You must enter the subnet prefix using slash notation to &lt;a href="https://www.techtarget.com/searchnetworking/tip/IP-addressing-and-subnetting-Calculate-a-subnet-mask-using-the-hosts-formula"&gt;represent the subnet mask&lt;/a&gt;, as seen in Figure 4. You must also choose the AD site where the subnet resides.&lt;/p&gt;
 &lt;p&gt;AD Sites and Services displays all seven subnet objects from the network diagram.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_4-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_4-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_4-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_4-f.jpg 1280w" alt="AD Sites and Services subnets menu screenshot." height="267" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 4. AD Sites and Services displays all seven subnets and their site associations.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Place DC objects&lt;/h3&gt;
 &lt;p&gt;The final step is creating computer accounts for the DCs you plan to promote. Open AD Users and Computers, select the DC organizational unit and create a computer object for each DC. Use the computer name that you'll assign to the systems. In this example, the names are DC2, DC3, DC4 and DC5&lt;b&gt;.&lt;/b&gt; Remember, DC1 already exists; that's the system where you're building the sites infrastructure.&lt;/p&gt;
 &lt;p&gt;Return to the AD Sites and Services console. Expand each site node -- &lt;b&gt;Headquarters&lt;/b&gt;, &lt;b&gt;Branch1&lt;/b&gt; and &lt;b&gt;Branch2&lt;/b&gt; -- and observe the &lt;b&gt;Servers&lt;/b&gt; nodes. These nodes store DC objects. By default, the first DC is already displayed.&lt;/p&gt;
 &lt;p&gt;Promote the remaining four DCs. Note that DC3 and DC4 are in the Branch1 location. Assign these two DCs static IP addresses in one of the subnets for that location. DC5 is in Branch2, so assign it a static IP address in the 192.168.6.0/24 or 192.168.7.0/24 range.&lt;/p&gt;
 &lt;p&gt;When you finish promoting these DCs, AD notes their IP addresses and assigns them to the proper site.&lt;/p&gt;
 &lt;p&gt;Your AD replication infrastructure is now complete. However, you still need to configure the availability and replication schedule of the WAN links. Those steps are covered later in the article.&lt;/p&gt;
&lt;/section&gt;                               
&lt;section class="section main-article-chapter" data-menu-title="Existing AD environments"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Existing AD environments&lt;/h2&gt;
 &lt;p&gt;If you're optimizing an existing AD environment, you must have an accurate network diagram of existing resources. Identify each location, subnet, WAN connection and DC. Once the diagram is correct, you'll either rename existing objects or create new ones. The process is similar to the steps for a new environment.&lt;/p&gt;
 &lt;p&gt;Open the AD Sites and Services console from the Tools menu in Server Manager. Expand all nodes to clearly see what objects exist.&lt;/p&gt;
 &lt;h3&gt;Define AD sites&lt;/h3&gt;
 &lt;p&gt;Confirm you have site objects for Headquarters, Branch1 and Branch2. Rename any existing objects that aren't correct and create any that are missing.&lt;/p&gt;
 &lt;h3&gt;Define site links&lt;/h3&gt;
 &lt;p&gt;Next, check the site links. The demonstration environment has just two WAN connections. You might need to rename the DEFAULTIPSITELINK to WAN-A and create a new one for WAN-B.&lt;/p&gt;
 &lt;h3&gt;Define subnets&lt;/h3&gt;
 &lt;p&gt;Use the same process to confirm that all subnet objects exist. These objects help AD establish the most efficient replication topology for reconciling the AD database.&lt;/p&gt;
 &lt;h3&gt;Place DC objects&lt;/h3&gt;
 &lt;p&gt;Finally, confirm that all five DCs appear. Knowing which DCs are deployed at each location is essential, as you might need to move them to the proper site.&lt;/p&gt;
 &lt;p&gt;Once you create the objects, the AD Sites and Services console displays them in the original network diagram.&lt;/p&gt;
&lt;/section&gt;            
&lt;section class="section main-article-chapter" data-menu-title="Configure replication"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Configure replication&lt;/h2&gt;
 &lt;p&gt;You can now optimize and configure AD replication by managing the relationships between the sites, site links and DC objects.&lt;/p&gt;
 &lt;h3&gt;Set the link replication schedule&lt;/h3&gt;
 &lt;p&gt;Managing replication is the purpose behind the correct configuration of AD sites. Once your AD Sites and Services console matches your environment's physical configuration, you can &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Active-Directory-replication-troubleshooting-tips-and-tools"&gt;fine-tune replication settings&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Organizations with fast and unsaturated WAN connections might not need additional optimization. However, on limited-bandwidth WAN connections, you can schedule when the site link (connection) is available for AD replication.&lt;/p&gt;
 &lt;p&gt;Right-click a site link and select &lt;b&gt;Properties&lt;/b&gt;. The &lt;b&gt;General&lt;/b&gt; tab contains a cost value and a replication schedule setting. Cost lets you prioritize one link over another in a fault-tolerant mesh topology. The replication schedule defines the frequency of AD replication across the WAN link. The default is 180 minutes and shouldn't be set below 15 minutes. Consider other traffic that relies on the WAN connection when setting this value.&lt;/p&gt;
 &lt;p&gt;Select the &lt;b&gt;Change Schedule&lt;/b&gt; button to choose times when replication can't use the WAN connection. For example, if you do nightly backups across the WAN, you might make the WAN unavailable to AD replication at that time. Figure 5 shows that the WAN-A connection is unavailable from 2 a.m. to 4 a.m.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_5-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_5-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_5-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_5-f.jpg 1280w" alt="Screenshot of AD replication schedule." height="350" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 5. Configure hours during which the WAN connection is unavailable for AD replication.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Set DC partners&lt;/h3&gt;
 &lt;p&gt;Right-click the &lt;b&gt;NTDS Settings&lt;/b&gt; node under the DC objects to manually define replication partnerships. AD has a built-in topology generator that typically manages this for you. Microsoft recommends this automatic process, but the manual settings are there if needed.&lt;/p&gt;
 &lt;h3&gt;Configure Global Catalog Servers&lt;/h3&gt;
 &lt;p&gt;Microsoft recommends at least one Global Catalog (GC) domain controller at each site so that catalog searches don't cross the WAN connections. Again, this can be fine with robust WAN connections, but keeping GCs near client systems is helpful for less efficient links.&lt;/p&gt;
 &lt;p&gt;To configure a DC as a GC, expand the &lt;b&gt;Servers&lt;/b&gt; node under the chosen site. Select the DC, then right-click the &lt;b&gt;NTDS Settings&lt;/b&gt; node and select &lt;b&gt;Properties&lt;/b&gt;. The checkbox is on the &lt;b&gt;General&lt;/b&gt; tab (Figure 6).&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_6-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_6-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_6-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_6-f.jpg 1280w" alt="A screenshot showing the GC option in NTDS settings." height="357" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 6. Select the checkbox to configure the DC as a GC.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;              
&lt;section class="section main-article-chapter" data-menu-title="Monitor replication"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Monitor replication&lt;/h2&gt;
 &lt;p&gt;Now that your AD infrastructure reflects your physical network, it's time to consider replication monitoring. Microsoft provides two tools for managing AD replication beyond using the AD Sites and Services console: repadmin.exe and &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/PowerShell"&gt;PowerShell&lt;/a&gt;.&lt;/p&gt;
 &lt;h3&gt;Use the repadmin tool&lt;/h3&gt;
 &lt;p&gt;The repadmin.exe utility replaces the retired replmon.exe tool. Repadmin.exe is best used as a monitoring utility, though you can make configuration changes to the replication topology if necessary. Manual changes to AD replication aren't common or recommended; let AD manage this for you.&lt;/p&gt;
 &lt;p&gt;Repadmin.exe displays the following essential information:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Replication health.&lt;/li&gt; 
  &lt;li&gt;Replication statistics.&lt;/li&gt; 
  &lt;li&gt;Replication partners.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Repadmin.exe is your go-to AD replication monitoring tool, especially in small and medium-sized environments. For larger environments, consider using PowerShell to manage replication.&lt;/p&gt;
 &lt;h3&gt;Use Windows PowerShell&lt;/h3&gt;
 &lt;p&gt;The PowerShell AD module provides various AD replication cmdlets to gather information and configure settings (Figure 7). AD replication automation is straightforward, as the cmdlets can import data from CSV files.&lt;/p&gt;
 &lt;p&gt;Here are a few example cmdlets to report information:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;samp&gt;Get-ADReplicationSite.&lt;/samp&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;samp&gt;Get-ADDomainController.&lt;/samp&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;samp&gt;Get-ADReplicationSiteLink.&lt;/samp&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;samp&gt;Get-ADReplicationFailure.&lt;/samp&gt;&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/garn_adsites_7-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/garn_adsites_7-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/garn_adsites_7-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/garn_adsites_7-f.jpg 1280w" alt="A screenshot showing PowerShell commands used in AD replication tasks." height="469" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Figure 7. The PowerShell AD module provides several cmdlets to manage AD replication.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Use the &lt;samp&gt;Set&lt;/samp&gt; cmdlet verb with these PowerShell nouns to manage settings.&lt;/p&gt;
&lt;/section&gt;             
&lt;section class="section main-article-chapter" data-menu-title="Conclusion"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Conclusion&lt;/h2&gt;
 &lt;p&gt;AD manages its replication topology automatically -- but only if you provide information about your physical environment. AD needs to know the locations of DCs and available WAN connections to determine the best way to configure same-site and cross-site replication. You can also &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/When-does-AD-domain-joined-Group-Policy-override-local"&gt;link Group Policy Objects to AD sites&lt;/a&gt;, enabling location-specific configurations.&lt;/p&gt;
 &lt;p&gt;Use the AD Sites and Services console to create objects representing your organization's locations, WAN connections, subnets and DCs. Be sure to start with an accurate network diagram; in fact, this project is the perfect excuse to review the physical topology, too.&lt;/p&gt;
 &lt;p&gt;Take a few minutes to review AD Sites and Services. Is it current? If not, you might be sacrificing WAN bandwidth, timely replication and optimal DC configurations.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Damon Garn owns Cogspinner Coaction and provides freelance IT writing and editing services. He has written multiple CompTIA study guides, including the Linux+, Cloud Essentials+ and Server+ guides, and contributes extensively to Informa TechTarget, The New Stack and CompTIA Blogs.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>AD sites configuration optimizes replication by mapping physical network topology -- locations, WAN links, subnets and domain controllers -- for efficient database synchronization.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/disaster_recovery_g175031469.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tutorial/Configure-AD-sites-for-optimized-replication-topology</link>
            <pubDate>Wed, 08 Oct 2025 15:31:00 GMT</pubDate>
            <title>Configure AD sites for optimized replication topology</title>
        </item>
        <item>
            <body>&lt;p&gt;As more organizations adopt multi-platform environments, the role of the Windows sysadmin is evolving.&lt;/p&gt; 
&lt;p&gt;Microsoft administrators in those organizations are now responsible for managing Linux systems alongside the traditional Windows infrastructure. This responsibility can be daunting, but integrating Linux systems into Active Directory (AD) can alleviate some of this anxiety by providing a &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/New-Active-Directory-features-coming-in-Windows-Server-2025"&gt;unified authentication and identity management approach.&lt;/a&gt; This article will explain why this integration can benefit the organization, some of the typical challenges that occur when adding Linux machines to Active Directory and how to perform troubleshooting from Linux systems.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why join Linux machines to Active Directory?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why join Linux machines to Active Directory?&lt;/h2&gt;
 &lt;h3&gt;1. Centralized user management&lt;/h3&gt;
 &lt;p&gt;One of the primary reasons to integrate Linux machines with Active Directory is centralized user management. Organizations can use existing user accounts, groups and security policies. Administrators can &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/What-should-admins-know-about-Microsoft-Entra-features"&gt;manage user permissions&lt;/a&gt;, authentication and policies from a single point, streamlining operations and minimizing administrative overhead.&lt;/p&gt;
 &lt;h3&gt;2. Enhanced security compliance&lt;/h3&gt;
 &lt;p&gt;Active Directory offers enterprise-grade security features such as password policies, multifactor authentication, group policies and account lockout thresholds.&lt;/p&gt;
 &lt;p&gt;Extending Active Directory to Linux systems ensures consistent security enforcement and compliance across Windows and Linux systems, reducing vulnerabilities and enhancing overall security posture.&lt;/p&gt;
 &lt;h3&gt;3. Resource management&lt;/h3&gt;
 &lt;p&gt;Domain-joined Linux machines simplify resource management, allowing users to access shared resources such as file shares and printers without needing multiple accounts. This can improve productivity by providing seamless access to shared resources across platforms, fostering a more cohesive user experience.&lt;/p&gt;
 &lt;p&gt;Note that Linux machines cannot use &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Group-Policy-Object"&gt;Group Policy Object (GPO)&lt;/a&gt; policies and Windows-centric management tools, even after they are domain-joined.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="Challenges for Windows sysadmins"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Challenges for Windows sysadmins&lt;/h2&gt;
 &lt;p&gt;Many Windows admins prefer a graphical user interface (GUI) for system management. However, Linux system administration relies heavily on command-line interface (CLI) operations. This transition can be challenging, as many straightforward tasks in a GUI-based tool, such as Active Directory Users and Computers (ADUC), may require more complex commands in Linux.&lt;/p&gt;
 &lt;p&gt;Linux and Windows use different file systems, which can lead to confusion. For example, Linux uses a hierarchical file system starting from the root directory (/), while Windows uses drive letters. Permissions also differ significantly: Linux employs a user/group/other permission model, while Windows uses &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Reveal-Windows-file-server-permissions-with-PowerShells-help"&gt;Access Control Lists (ACLs) that allow for more granular permission settings&lt;/a&gt; but with more complexity.&lt;/p&gt;
 &lt;p&gt;In Windows, user and group management is often handled through AD, which provides a straightforward model for assigning permissions. In contrast, standard, out-of-the-box Linux employs a simpler model, with users and groups defined in files. Understanding these differences at the conceptual level is crucial for effective management and troubleshooting.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Active Directory pre-flight checks"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Active Directory pre-flight checks&lt;/h2&gt;
 &lt;p&gt;Follow this checklist of items to verify before attempting to set up Linux on Active Directory. Finishing this advance work will help avoid troublesome issues later.&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Verify connectivity: &lt;/b&gt;Use ping to&lt;b&gt; &lt;/b&gt;check basic connectivity between the server and Linux clients. Ensure the required ports are open on the server. Rather than disabling firewalls, configure them to allow specific traffic from Linux clients to the server.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;DNS configuration:&lt;/b&gt; Make sure your client can perform an nslookup on the Active Directory server's &lt;a href="https://www.techtarget.com/whatis/definition/fully-qualified-domain-name-FQDN"&gt;fully qualified domain name (FQDN)&lt;/a&gt;. It is vital to have the correct time set and synced across all the servers. Set up servers to use the same local DNS server to avoid complex DNS issues.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Time synchronization: &lt;/b&gt;Ensure correct time settings and synchronization across all servers involved. Time discrepancies can cause authentication failures and other critical issues.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Configure SSSD for Active Directory integration"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Configure SSSD for Active Directory integration&lt;/h2&gt;
 &lt;p&gt;The System Security Services Daemon (SSSD) is a key component for connecting Linux systems with Active Directory. SSSD offers the integration functionality from Linux to several back-end authentication &lt;a target="_blank" href="https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/configuring_authentication_and_authorization_in_rhel/understanding-sssd-and-its-benefits_configuring-authentication-and-authorization-in-rhel#identity-and-authentication-providers-for-SSSD_understanding-SSSD-and-its-benefits" rel="noopener"&gt;mechanisms&lt;/a&gt;, with particularly strong support for Active Directory domains. This enables seamless authentication between Linux systems and enterprise directory services&lt;/p&gt;
 &lt;p&gt;The following guide explains how to set up and configure SSSD on an Ubuntu VM to interact &lt;a href="https://www.techtarget.com/searchwindowsserver/video/Use-a-Windows-Server-2019-domain-controller-or-go-to-Azure"&gt;with a Windows 2019 Active Directory domain controller&lt;/a&gt;.&lt;/p&gt;
 &lt;h3&gt;Install required packages&lt;/h3&gt;
 &lt;p&gt;First, install the following packages: &lt;b&gt;sssd-ad&lt;/b&gt;, &lt;b&gt;sssd-tools&lt;/b&gt;, &lt;b&gt;realmd&lt;/b&gt; and &lt;b&gt;adcli&lt;/b&gt;. You can install them using the Ubuntu package manager.&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo apt update&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo apt install -y sssd-ad sssd-tools realmd adcli cifs-utils&lt;/span&gt;&lt;/p&gt;
 &lt;h3&gt;Discover the Active Directory domain&lt;/h3&gt;
 &lt;p&gt;The &lt;b&gt;realm&lt;/b&gt; command to discover and verify the Active Directory domain depends on proper DNS and Kerberos functionality.&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo realm -v discover Active Directory.tttest.local&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;If successful, the Linux system will find and gather information about the Active Directory domain.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/sburns_ad-linux_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/sburns_ad-linux_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/sburns_ad-linux_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/sburns_ad-linux_1-f.jpg 1280w" alt="A Linux terminal window shows the command that discovers an Active Directory domain." height="313" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use the Linux realm command to find and collect information about the Active Directory domain.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Check all dependencies&lt;/h3&gt;
 &lt;p&gt;If there are errors, it is very likely a DNS issue. &lt;a href="https://www.techtarget.com/searchnetworking/tip/Troubleshoot-name-resolution-on-Windows-Linux-and-macOS"&gt;Issues with DNS resolution&lt;/a&gt; cause a large proportion of join errors. Also, check for time skew. Lastly, ensure the host name and the FQDN are correct and share the same network domain name and name server.&lt;/p&gt;
 &lt;h3&gt;Join the Active Directory domain&lt;/h3&gt;
 &lt;p&gt;To join the domain, use the following command:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo realm join --user=administrator yourdomain.com&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Replace &lt;b&gt;administrator&lt;/b&gt; with an account that permits machines to join the domain. For this tutorial, we are using the domain administrator account.&lt;/p&gt;
 &lt;p&gt;To verify the domain join, use the command:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo realm list&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;The output will show all Active Directory domains the system is connected to if properly integrated. To verify, check the &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Speed-up-onboarding-with-Active-Directory-user-templates"&gt;ADUC tool on Windows Server&lt;/a&gt;. The Linux system should appear in the Computers container.&lt;/p&gt;
 &lt;p&gt;At this point, you can log in to the Linux system using Active Directory credentials. However, users must use the fully qualified login name, such as &lt;a target="_blank" href="mailto:bob@tttest.local" rel="noopener"&gt;bob@tttest.local&lt;/a&gt;, rather than just the user name bob.&lt;/p&gt;
 &lt;p&gt;When configuring the domain configuration, the &lt;b&gt;realm&lt;/b&gt; command will make the changes to enable basic Active Directory authentication. This same process can be used on Ubuntu Desktop with the &lt;b&gt;Use Active Directory &lt;/b&gt;option during installation.&lt;/p&gt;
 &lt;h3&gt;Be aware of sssd.conf&lt;/h3&gt;
 &lt;p&gt;After joining the domain, know that the SSSD configuration file (sssd.conf) exists. You can customize it further to optimize authentication. While the basic domain join gets default settings, you may need to adjust this file for specific authentication requirements.&lt;/p&gt;
 &lt;h3&gt;Configure host resolution and CIFS&lt;/h3&gt;
 &lt;p&gt;To use Windows file sharing, you must &lt;a href="https://www.techtarget.com/searchstorage/answer/NFS-vs-CIFS"&gt;configure Common Internet File System (CIFS),&lt;/a&gt; a network file-sharing protocol. We have already installed the required package to start the CIFS configuration.&lt;/p&gt;
 &lt;p&gt;Edit the &lt;b&gt;/etc/fstab&lt;/b&gt; file to add entries for your Windows file shares to have them mount automatically at boot.&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;//server/share /mnt/mountpoint cifs credentials=/path/to/credentials,uid=1000,gid=1000 0 0&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;To test the mount without a reboot, run the following command:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;sudo mount -a&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;No errors mean it was successful. If there are errors, it's usually due to formatting problems.&lt;/p&gt;
 &lt;p&gt;Be aware of some more nuanced aspects of CIFS security. You can apply Linux filesystem &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Reveal-Windows-file-server-permissions-with-PowerShells-help"&gt;permissions to mounted Windows file shares&lt;/a&gt;. Linux uses numeric mode values to set permissions, such as 0755 for owner/full access. These permissions only apply at the share mount level, not to individual files within the Windows system. Linux permissions act as an additional filter on top of Windows ACLs, which means a file will not be accessible if the Linux permission restricts access, even if the user has access via the Windows ACL. Windows admins must learn how to adapt to this hybrid arrangement, which can lead to issues since two permission systems are in effect simultaneously.&lt;/p&gt;
&lt;/section&gt;                                
&lt;section class="section main-article-chapter" data-menu-title="Troubleshooting Linux integration with Active Directory"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Troubleshooting Linux integration with Active Directory&lt;/h2&gt;
 &lt;h3&gt;Interpret Linux system logs&lt;/h3&gt;
 &lt;p&gt;One of the best tools for troubleshooting in Linux is system logs, typically located in &lt;b&gt;/var/log &lt;/b&gt;directory. Key logs to review for problems include:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;/var/log/secure&lt;/span&gt;: Authentication logs that capture SSSD events.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;/var/log/messages&lt;/b&gt;&lt;/span&gt;: General system messages.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;/var/log/syslog&lt;/b&gt;&lt;/span&gt;: Comprehensive system and service messages.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Use the tail command to view logs in real time:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;tail -f /var/log/secure&lt;/span&gt;&lt;/p&gt;
 &lt;h3&gt;Get familiar with diagnostic tools&lt;/h3&gt;
 &lt;p&gt;If a user cannot log in, use these diagnostic tools:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;strong&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;id "username"&lt;/span&gt;&lt;/strong&gt; - Check if the system recognizes a user.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;&lt;u&gt;g&lt;/u&gt;&lt;/b&gt;&lt;strong&gt;etent passwd "username"&lt;/strong&gt;&lt;/span&gt; - Display user account information from Active Directory.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;sssctl&lt;/b&gt;&lt;/span&gt; - A command-line tool for SSSD that shows information about users, groups and cache status.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="Key takeaways for integrating Linux with Active Directory"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key takeaways for integrating Linux with Active Directory&lt;/h2&gt;
 &lt;p&gt;Integrating Linux machines into Active Directory brings several benefits, including centralized user management, consistency with security policies and compliance, and simplified resource access.&lt;/p&gt;
 &lt;p&gt;While challenges exist, particularly for Windows administrators transitioning to manage Linux systems, it's essential to learn the key differences in permission models, how to work with file-based configurations and how to use the command line for troubleshooting.&lt;/p&gt;
 &lt;p&gt;By following the outlined steps for configuring SSSD and utilizing diagnostic tools, IT teams can effectively &lt;a href="https://www.techtarget.com/searchwindowsserver/ehandbook/Windows-and-Linux-What-systems-administrators-need-to-know"&gt;manage a multi-platform environment&lt;/a&gt; that takes advantage of the strengths of both Linux and Windows systems.&lt;/p&gt;
&lt;/section&gt;</body>
            <description>This tutorial explains the benefits of this integration, how to connect Linux systems to the Microsoft directory service and how to troubleshoot authentication issues.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/code_g1133924836.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tutorial/How-to-join-Linux-to-an-Active-Directory-domain</link>
            <pubDate>Fri, 19 Sep 2025 10:38:00 GMT</pubDate>
            <title>How to join Linux to an Active Directory domain</title>
        </item>
        <item>
            <body>&lt;p&gt;Following the WSUS deprecation notice, enterprises that have yet to shift their patch management process will want to take a closer look at alternatives, such as the Azure Arc and the Azure Update Manager service.&lt;/p&gt; 
&lt;p&gt;Patch management is a critical task to keep Windows Server environments secure, stable and performant. In September 2024, Microsoft signaled to customers that it will &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/The-Microsoft-patch-management-guide-for-admins"&gt;no longer add new features to Windows Server Update Services (WSUS)&lt;/a&gt; and recommended exploring other avenues. Microsoft offers several options to keep Windows Server up to date with the latest software. One tool that has been gaining traction since its introduction in November 2019 is Azure Arc, a tool for admins to manage on-premises and cloud infrastructure via the Azure control plane. Azure Arc also extends Azure services, such as Azure Monitor and Azure Policy, to Windows Server workloads in the data center. This tutorial will cover the Azure Arc setup process and run through the &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-to-use-Windows-Server-2025-hotpatching"&gt;patch deployment of an on-premises server&lt;/a&gt;.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why Azure Arc is an effective tool for patching"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why Azure Arc is an effective tool for patching&lt;/h2&gt;
 &lt;p&gt;Larger organizations often rely on either WSUS or on a third-party patch management tool. These utilities can scale to handle many servers, while also providing rich reporting capabilities to help organizations assess their patch management status.&lt;/p&gt;
 &lt;p&gt;Although WSUS does a good job of keeping Windows machines up to date with the latest fixes, it is primarily designed for on-premises patch management. Companies that host workloads both on premises and in the Azure cloud might use a patch management tool in their data center and another within Azure. However, there is a convenient way to use the Azure Update Manager to handle patch management both in the cloud and on-premises.&lt;/p&gt;
 &lt;p&gt;The key to using Azure Arc with on-premises servers is to "Arc-enable" the servers, as Microsoft calls it. Azure Arc is a service designed to manage physical servers and VMs both on-premises and in Azure and other clouds. Azure Arc can also &lt;a href="https://www.techtarget.com/searchitoperations/tutorial/Manage-Kubernetes-clusters-with-PowerShell-and-kubectl"&gt;handle Kubernetes clusters&lt;/a&gt; and databases.&lt;/p&gt;
 &lt;p&gt;Arc-enabling a server or VM just requires installing the Azure Connected Machine agent onto the server. There's no need to set up a VPN or establish direct connectivity to Azure, as long as the machine has Internet access.&lt;/p&gt;
 &lt;p&gt;Microsoft makes the Azure Arc control plane available for free. This means that you can use Azure Arc to tag resources and to enable search and indexing for those resources. The free Azure Arc plan also lets you take advantage of &lt;a href="https://www.techtarget.com/searchsecurity/definition/role-based-access-control-RBAC"&gt;Role Based Access Control (RBAC)&lt;/a&gt; permissions and you can use templates to automate various tasks. If an organization is using VMware vCenter or System Center Virtual Machine Manager, then you can use the Azure Arc control plane to inventory your resources and to perform lifecycle management for your VMs. To use Azure Update Manager in Arc-enabled VMs costs $0.162 per server per day or $5 per server per month for months with 31 days.&lt;/p&gt;
 &lt;p&gt;Microsoft does not charge when a customer uses Azure Update Manager in the following scenarios:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;the Arc-enabled VM has Extended Security Updates (ESUs);&lt;/li&gt; 
  &lt;li&gt;the subscription that hosts the Arc-enabled VM also has Microsoft Defender for Servers Plan 2; or&lt;/li&gt; 
  &lt;li&gt;the Arc-enabled VM uses Windows Server licenses with either active Software Assurance license or &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Understand-how-Windows-Server-2025-PAYG-licensing-works"&gt;Windows Server pay-as-you-go&lt;/a&gt;.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;While Microsoft allows free access to the Azure Arc control plane, any Azure cloud services exposed through SCVMM or VMware vCenter will incur standard Azure usage charges. The same holds true for Azure services consumed through Arc-enabled Kubernetes clusters. Microsoft also charges a fee for Extended Security Updates (ESUs) for legacy systems and using Azure Arc to manage SQL Server instances.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="How to connect Azure Arc to a server using the Azure portal"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to connect Azure Arc to a server using the Azure portal&lt;/h2&gt;
 &lt;p&gt;Configuring servers to use Azure Arc involves deploying the Azure Connected Machine agent to the VMs, using the Azure portal, &lt;a href="https://www.techtarget.com/searchcloudcomputing/tip/Evaluate-Azure-CLI-vs-PowerShell-for-resource-management"&gt;Azure CLI or PowerShell.&lt;/a&gt;&lt;/p&gt;
 &lt;p&gt;First, log in to the Azure portal and open the Azure Arc service. Click the &lt;b&gt;Add Resources&lt;/b&gt; button, then click on the &lt;b&gt;Add/Create&lt;/b&gt; button under the &lt;b&gt;Machines&lt;/b&gt; section. Choose the &lt;b&gt;Add a Machine&lt;/b&gt; option after the prompt to begin the onboarding process.&lt;/p&gt;
 &lt;p&gt;Next, the console will prompt to specify the type of resource to onboard. For the purposes of this article, choose &lt;b&gt;Add a Single Server with Installer&lt;/b&gt;. (Azure Arc also provides options to onboard multiple servers at once, including Linux VMs.) Azure Arc will download an installer file in your browser. Copy the installer file to the server you want to manage with Azure Arc.&lt;/p&gt;
 &lt;p&gt;Next, go to the VM to manage and launch the executable. The installer will start a wizard for the installation process, which will require signing into Azure and choosing the subscription. When complete, Azure Arc can now manage the VM via the Azure Connected Machine agent.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="How to manage patches for Arc-enabled servers"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to manage patches for Arc-enabled servers&lt;/h2&gt;
 &lt;p&gt;After onboarding the server to Azure Arc, configure that server to receive updates. Start by opening the Azure Update Manager service in the Azure portal, then select the &lt;b&gt;Resources&lt;/b&gt; tab and click &lt;b&gt;Machines&lt;/b&gt;. The Arc-enabled server should be listed on the &lt;b&gt;Machines&lt;/b&gt; tab.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/posey_azurearc_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/posey_azurearc_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/posey_azurearc_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/posey_azurearc_1-f.jpg 1280w" alt="A menu showing the Machines page in Azure Update Manager." height="163" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;After adding the server to Azure Arc, it should be listed on the Machines page.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The screenshot shows a console message that "1 out of 1 machine(s) don't have update data." To enable automatic updates for the machine, click the &lt;b&gt;Enable Now&lt;/b&gt; link located at the end of the message. Alternatively, click the &lt;b&gt;Check for Updates&lt;/b&gt; button to start an immediate update check for the VM.&lt;/p&gt;
 &lt;p&gt;After the update assessment, the Azure Update Manager dashboard may show a message about pending updates. Click the message to see the results. The options are to either install the updates immediately or &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Creating-a-patch-management-policy-Step-by-step-guide"&gt;schedule them during a maintenance window&lt;/a&gt;. Note that there might be delays when forcing an immediate update. During testing, it took 30 minutes from the start of the update until the dashboard updated the VM's status. IT administrators will need to account for this delay when verifying update compliance and to avoid unnecessary troubleshooting.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/posey_azurearc_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/posey_azurearc_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/posey_azurearc_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/posey_azurearc_2-f.jpg 1280w" alt="A menu in Azure Update Manager showing the recommended updates for the selected VM." height="215" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Select the VM to see the available updates.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="How to connect a server to Azure Arc with PowerShell"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to connect a server to Azure Arc with PowerShell&lt;/h2&gt;
 &lt;p&gt;Instead of the Azure portal, PowerShell is another option for admins who prefer this method. To start, install the &lt;b&gt;Az.ConnectedMachine&lt;/b&gt; module with this command:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;Install-Module -Name Az.ConnectedMachine&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;Next, use the &lt;b&gt;Connect-AZAccount&lt;/b&gt; command to log into Azure. Lastly, install the Azure Connected Machine agent with this command:&lt;/p&gt;
 &lt;p&gt;&lt;span style="font-family: 'courier new', courier, monospace;"&gt;&lt;b&gt;Connect-AzConnectedMachine -ResourceGroupName myResourceGroup -Name myMachineName -Location &amp;lt;region&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
 &lt;p&gt;The command downloads the Connected Machine agent, installs it on the server, creates the Azure Arc-enabled server resource and associates it with the agent. The onboarding process takes a few minutes to complete.&lt;/p&gt;
 &lt;p&gt;This concludes the setup necessary to use Azure Arc for patch management. However, for other tasks that require secure remote access, Azure Arc allows connections to Arc-enabled machines &lt;a href="https://www.techtarget.com/searchvirtualdesktop/tip/How-to-enable-RDP-remotely-with-several-different-methods"&gt;using Remote Desktop Protocol (RDP)&lt;/a&gt; and the Windows Admin Center extension in Azure or SSH with either Azure CLI or PowerShell.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="How to use the reporting feature in Azure Arc"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use the reporting feature in Azure Arc&lt;/h2&gt;
 &lt;p&gt;While the Azure Update Manager dashboard provide information regarding the patch management status of Arc-enabled machines, Azure Arc can generate more detailed reports.&lt;/p&gt;
 &lt;p&gt;To start, expand the console's &lt;b&gt;Monitoring&lt;/b&gt; container and then click on the &lt;b&gt;Reports&lt;/b&gt; tab. Next, click on the &lt;b&gt;Overview&lt;/b&gt; report in the Azure Update Manager section.&lt;/p&gt;
 &lt;p&gt;At the &lt;b&gt;Reports&lt;/b&gt; screen, select the subscription from the menu. By default, the report will span the entire tenant, so it's helpful to filter by region, resource type and time range. You can save the report by clicking on the Save icon.&lt;/p&gt;
 &lt;p&gt;You can filter the report by location, resource type, or time range. Azure Workbooks connect to Azure Arc for even more granular &lt;a target="_blank" href="https://docs.azure.cn/en-us/update-manager/manage-workbooks" rel="noopener"&gt;information&lt;/a&gt; related to patching, including compliance status across the infrastructure, security update install success rates and update deployment history.&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Admins should explore their patching options now that Microsoft deprecated WSUS. Azure Arc offers integration with Azure to give the operations team a unified management approach.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/container_g1294273513.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tutorial/Azure-Arc-setup-tips-for-on-premises-server-management</link>
            <pubDate>Wed, 03 Sep 2025 13:34:00 GMT</pubDate>
            <title>Azure Arc setup tips for on-premises server management</title>
        </item>
        <item>
            <body>&lt;p&gt;Defragmentation, also known as &lt;i&gt;defragging&lt;/i&gt; or &lt;i&gt;defrag&lt;/i&gt;, is the process of rearranging data on a storage medium, such as a hard disk drive (&lt;a href="https://www.techtarget.com/searchstorage/definition/hard-disk-drive"&gt;HDD&lt;/a&gt;), to ensure efficient storage and access.&lt;/p&gt; 
&lt;p&gt;Defragmenting a hard drive can improve a computer's or laptop's performance and speed. To reduce fragmentation, a disk optimization tool typically uses compaction to free up larger areas of space. Certain disk defragmentation tools might try to keep smaller files together, especially if they're often accessed sequentially.&lt;/p&gt; 
&lt;p&gt;Fragmentation is less common in Linux-based file systems. The Linux journaling system stores data across multiple locations on the disk and automatically moves it around as soon as it senses fragmentation.&lt;/p&gt; 
&lt;p&gt;Longtime users of Windows and Mac computers will remember when defragmentation was strictly a manual process they had to initiate themselves. However, Windows and &lt;a href="https://www.techtarget.com/whatis/definition/Mac-OS"&gt;macOS&lt;/a&gt; have been automatically defragmenting disks for some time -- Windows, since the Vista release, and macOS since Mac OS X 10.2.&lt;/p&gt; 
&lt;div class="youtube-iframe-container"&gt;
 &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/Qnk2FP3_r-I?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
&lt;/div&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Why is defragmentation important?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why is defragmentation important?&lt;/h2&gt;
 &lt;p&gt;Defragmentation can solve and mitigate computer problems such as slow speeds, freezes and extended boot times. If there is not enough contiguous space to hold complete files on an HDD, files can become fragmented, and the storage &lt;a href="https://www.techtarget.com/whatis/definition/algorithm"&gt;algorithms&lt;/a&gt; on the disk separate the data to fit it inside the available space. Defragmentation consolidates these fragmented files so all the related pieces are aligned.&lt;/p&gt;
 &lt;p&gt;A fragmented hard drive is like a huge, jumbled-up load of laundry, with all the different clothing types and colors mixed up. Once the HDD is defragmented, system performance improves because all the jumbled-up data is reorganized and stored appropriately.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="The benefits of defragging"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;The benefits of defragging&lt;/h2&gt;
 &lt;p&gt;The following are the main benefits of defragmenting a hard drive:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Files stay organized.&lt;/b&gt; Over time, adding and deleting files from a hard drive can scatter the data, especially if it is running low on storage space. Defragmentation organizes the individual files, resulting in improved hard drive speed.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Unused space is freed.&lt;/b&gt; Any unused space on a hard drive can be maximized by defragmentation. Sometimes, it can also create more usable space if &lt;a href="https://www.techtarget.com/whatis/definition/bit-binary-digit"&gt;bits&lt;/a&gt; of data are left over from deleted files.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;The HDD life is extended.&lt;/b&gt; With regular defragmentation, the files on a hard drive stay organized. This means the mechanical and &lt;a href="https://www.computerweekly.com/feature/Spinning-disk-hard-drives-Good-value-for-many-use-cases"&gt;spinning components of a hard drive&lt;/a&gt; aren't used as extensively, which, in turn, extends the lifespan of a hard drive.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/example_of_file_fragmentation-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/example_of_file_fragmentation-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/example_of_file_fragmentation-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/example_of_file_fragmentation-f.png 1280w" alt="An image showing an HDD before and after defragmentation. " height="179" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;This shows a hard drive before and after defragmentation. 
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="How does fragmentation occur?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How does fragmentation occur?&lt;/h2&gt;
 &lt;p&gt;Fragmentation happens over time and can be caused by many different things. The following are a few reasons why fragmentation occurs inside a hard drive:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;If an excessively large file, such as a media or movie file, cannot fit into the empty spaces on a hard drive, fragmentation will occur.&lt;/li&gt; 
  &lt;li&gt;If an existing file is updated, but the space it occupies does not have room for any new changes, then it will cause fragmentation.&lt;/li&gt; 
  &lt;li&gt;The file system -- the part of the operating system (OS) that controls how files are stored -- might break the files into smaller chunks when trying to save them quickly.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How to perform defragmentation"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to perform defragmentation&lt;/h2&gt;
 &lt;p&gt;Most contemporary OSes have built-in disk defragmentation tools that perform the defragmentation process automatically. However, some OSes, such as Microsoft &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-7"&gt;Windows 7&lt;/a&gt; and beyond, can also be defragmented manually.&lt;/p&gt;
 &lt;p&gt;To manually defragment a hard drive on a &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Troubleshooting-the-most-common-issues-with-Windows-11"&gt;Windows 11 machine&lt;/a&gt;, perform the following steps:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Go to the search bar on the Start menu and type &lt;b&gt;defrag&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;On the &lt;b&gt;Defragment and Optimize Drives &lt;/b&gt;option, select the drive that needs to be defragmented and click on &lt;b&gt;Optimize&lt;/b&gt;.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/defrag-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/defrag-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/defrag-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/defrag-f.jpg 1280w" alt="A screenshot showing the defragmentation process for a Windows SSD." height="466" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;This shows the defragmentation process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;This process is almost identical to defragmenting a server hard drive, such as a &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Windows-Server-2016"&gt;Windows Server 2016&lt;/a&gt; or a &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Compare-the-features-in-the-Windows-Server-2022-editions"&gt;Windows Server 2022&lt;/a&gt; drive.&lt;/p&gt;
 &lt;p&gt;It is also possible to change the schedule of defragmentation on a Windows 11 machine using the following steps:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Go to the search bar on the Start menu and type &lt;b&gt;defrag&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;On the &lt;b&gt;Defragment and Optimize Drives &lt;/b&gt;option, select the drive where defragmentation needs to be rescheduled, and click on &lt;b&gt;Change settings&lt;/b&gt; under &lt;b&gt;Scheduled optimization&lt;/b&gt;. Options include daily, weekly, monthly or not at all.&lt;/li&gt; 
 &lt;/ol&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="How often do you need to defrag a hard drive?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How often do you need to defrag a hard drive?&lt;/h2&gt;
 &lt;p&gt;The frequency of defragging a hard drive depends on its usage. Because modern versions of both Windows and macOS come with built-in optimization tools, there's no need to manually perform defragmentation, especially if the computer is always on. However, if a device is routinely shut down after each use, its built-in defragmentation utilities might be prevented from running automatically. In such cases, running the defragmentation utility once a month is probably a good idea.&lt;/p&gt;
 &lt;p&gt;By default, a Windows 11 machine defragments a hard drive once a week; macOS does not have a defragmentation schedule option but defragments in real time.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How long does disk defragmentation take?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How long does disk defragmentation take?&lt;/h2&gt;
 &lt;p&gt;The time required for defragmentation of a disk drive can vary considerably, due to the following factors:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;The size of the drive.&lt;/b&gt; The larger the drive, the longer the defragmentation process lasts.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Speed of the hard drive.&lt;/b&gt; The faster the drive, the faster the defragmentation process goes.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Speed of the processor. &lt;/b&gt;The faster the processor executes the process, the faster the defragmentation proceeds.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Fragmentation level.&lt;/b&gt; The more fragmented the drive, the longer the defragmentation takes.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;First-time defragmentation. &lt;/b&gt;If a hard drive has never been defragmented before, the first time might take longer than normal.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;It is also important to remember that solid-state drives do not require defragmentation.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What's the difference between defragmentation and disk cleanup?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What's the difference between defragmentation and disk cleanup?&lt;/h2&gt;
 &lt;p&gt;The terms &lt;i&gt;defragmentation&lt;/i&gt; and &lt;i&gt;disk cleanup&lt;/i&gt; are sometimes used interchangeably, but this is incorrect: They are different.&lt;/p&gt;
 &lt;p&gt;Disk defragmentation is strictly limited to reorganizing the physical storage of data to group related data and improve storage and retrieval efficiency.&lt;/p&gt;
 &lt;p&gt;Disk cleanup is also about storage efficiency, but its purpose is to remove files from storage that have accumulated over time but are no longer necessary. This includes temp files, system files and other files that are just taking up space.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Primary data storage is often all-flash, but solid-state hybrid drives (SSHD) blend flash and hard disk drives. Learn &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchstorage/feature/Hybrid-drive-vs-SSD-Whats-best-for-your-organization"&gt;&lt;i&gt;how an SSHD differs from an SSD and an HDD&lt;/i&gt;&lt;/a&gt;,&lt;i&gt; &lt;/i&gt;&lt;i&gt;and the benefits and drawbacks of each.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Defragmentation, also known as 'defragging' or 'defrag,' is the process of rearranging the data on a storage medium, such as a hard disk drive (HDD), to ensure efficient storage and access.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/2.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/definition/defragmentation</link>
            <pubDate>Wed, 20 Aug 2025 15:37:00 GMT</pubDate>
            <title>What is defragmentation?</title>
        </item>
        <item>
            <body>&lt;p&gt;Microsoft Managed Desktop (MMD) was a cloud-based device management service from Microsoft that helped organizations simplify device provisioning, configuration, maintenance and management, and streamline ITSM, operations, compliance, security monitoring and response.&lt;/p&gt; 
&lt;p&gt;MMD required purchase of the &lt;a href="https://www.techtarget.com/searchcontentmanagement/news/366615864/New-Microsoft-365-Copilot-AI-agents-focus-on-productivity"&gt;Microsoft 365&lt;/a&gt; E3 license and assigning &lt;a href="https://www.techtarget.com/searchsecurity/definition/Windows-Defender-Advanced-Threat-Protection-ATP"&gt;Microsoft Defender for Endpoint&lt;/a&gt; (or equivalents) to all MMD users.&lt;/p&gt; 
&lt;p&gt;On July 31, 2024, Microsoft halted service of MMD, meaning&lt;b&gt; &lt;/b&gt;it no longer provides security updates, quality updates or technical support for MMD. Microsoft's engineers also no longer address service requests from MMD customers.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Device services under MMD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Device services under MMD&lt;/h2&gt;
 &lt;p&gt;As a device management offering, MMD included a host of device-related services. Microsoft delivered these services &lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/cloud-computing"&gt;using the cloud&lt;/a&gt; to organizations that purchased an MMD subscription.&lt;/p&gt;
 &lt;p&gt;The services offered covered five key areas:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Device setup.&lt;/li&gt; 
  &lt;li&gt;Inventory.&lt;/li&gt; 
  &lt;li&gt;Firmware and driver updates.&lt;/li&gt; 
  &lt;li&gt;Accessories.&lt;/li&gt; 
  &lt;li&gt;Support.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Under &lt;b&gt;device setup&lt;/b&gt;, Microsoft preconfigured devices with the then-current version of &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Windows"&gt;Windows&lt;/a&gt; (&lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-10"&gt;Windows 10&lt;/a&gt; or &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Troubleshooting-the-most-common-issues-with-Windows-11"&gt;11&lt;/a&gt;). Organizations would also receive apps and configurations for those devices using the cloud. For device provisioning (naming, configuration), Microsoft used &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-Autopilot"&gt;Windows Autopilot&lt;/a&gt; to limit downtime and deliver a seamless user experience. Microsoft also used &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Microsoft-Endpoint-Manager-MEM"&gt;Microsoft Endpoint Manager&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-to-manage-a-migration-to-Microsoft-Entra-ID"&gt;Microsoft Entra ID&lt;/a&gt; for device configuration and management.&lt;/p&gt;
 &lt;p&gt;To facilitate device &lt;b&gt;inventory management&lt;/b&gt; using MMD, Microsoft tracked all devices. All managed devices were monitored continuously for security issues. Microsoft also updated the device status in the admin center of &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/How-to-add-and-enroll-devices-to-Microsoft-Intune"&gt;Microsoft Intune&lt;/a&gt; -- the company's command center for managing and securing endpoints and reducing the complexity of IT and security operations.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/itchannel-intune.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/itchannel-intune_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/itchannel-intune_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/itchannel-intune.png 1280w" alt="A chart describing Microsoft Intune, which is an endpoint management tool." height="374" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Intune is Microsoft's command center for managing and securing endpoints.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;All MMD devices received the latest &lt;a href="https://www.techtarget.com/whatis/definition/firmware"&gt;&lt;b&gt;firmware&lt;/b&gt;&lt;/a&gt;&lt;b&gt; and &lt;/b&gt;&lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/device-driver"&gt;&lt;b&gt;driver&lt;/b&gt;&lt;/a&gt;&lt;b&gt; updates&lt;/b&gt; from Windows Update by default to keep the devices running smoothly and securely. Microsoft also managed proactively the most secure and stable versions of Windows 10/11 and Microsoft 365 Apps for enterprise and created a security baseline to keep users and devices secure in accordance with its own security best practices.&lt;/p&gt;
 &lt;p&gt;Under MMD, any &lt;b&gt;accessories&lt;/b&gt; accompanying MMD-covered devices were covered by the same services as the device itself. However, the warranty terms for the device and its accessories could differ so Microsoft advised users to check the warranty terms when selecting one or more devices for MMD.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Support&lt;/b&gt; was the fifth key MMD pillar. Microsoft's support agents addressed customers' questions about device functionality and helped diagnose device issues. Dedicated service engineers provided service management and operational support; a team of security specialists provided &lt;a href="https://www.techtarget.com/iotagenda/tip/5-IoT-security-threats-to-prioritize"&gt;device security monitoring&lt;/a&gt; and remediation services.&lt;/p&gt;
 &lt;p&gt;MMD brought together Microsoft 365 Enterprise (including Windows 10/11 Enterprise and Office apps). On purchasing an MMD subscription, users would continue to get the latest versions of Windows 10, Windows 11 and Microsoft 365 Apps for enterprise. The service integrated with the Microsoft App Assurance program to help Microsoft's experts diagnose and remediate application compatibility issues for devices.&lt;/p&gt;
 &lt;p&gt;Certain services were &lt;i&gt;not&lt;/i&gt; included in MMD:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Personalizing and customizing devices and any accessories provided with the MMD service.&lt;/li&gt; 
  &lt;li&gt;Recovery of data stored on the device's internal storage system.&lt;/li&gt; 
  &lt;li&gt;Powering on and setting up devices.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;i&gt;Note: Support for Windows 10 will end in October 2025, so Windows 10 users are advised to &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/How-to-perform-an-in-place-upgrade-to-Windows-11"&gt;&lt;i&gt;transition&lt;/i&gt;&lt;i&gt; to Windows 11&lt;/i&gt;&lt;/a&gt;&lt;i&gt; as soon as possible.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;              
&lt;section class="section main-article-chapter" data-menu-title="Benefits of MMD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of MMD&lt;/h2&gt;
 &lt;p&gt;Organizations that purchased the MMD subscription found a key benefit in &lt;b&gt;technical and operational support&lt;/b&gt; from Microsoft experts. Microsoft's Service Engineering (operations) team responded to support requests related to incidents, requests for information (RFI) and change requests.&lt;/p&gt;
 &lt;p&gt;Organizations also received support from Microsoft's Security Operations Center (&lt;a href="https://www.techtarget.com/searchsecurity/definition/Security-Operations-Center-SOC"&gt;SOC&lt;/a&gt;) team. The team's main objective was to protect MMD devices and data, so an MMD subscription included &lt;b&gt;device&lt;/b&gt; &lt;b&gt;security monitoring and incident response&lt;/b&gt;.&lt;/p&gt;
 &lt;p&gt;The SOC team used numerous tools and technologies related to device security and Identity and Access Management (&lt;a href="https://www.techtarget.com/searchsecurity/definition/identity-access-management-IAM-system"&gt;IAM&lt;/a&gt;), including the Microsoft Security Baseline, Microsoft Entra managed identities, &lt;a href="https://www.techtarget.com/searchsecurity/definition/biometric-authentication"&gt;biometric authentication&lt;/a&gt; and predefined device profiles. To further secure MMD devices, SOC security engineers installed Microsoft Defender antivirus and used a volume &lt;a href="https://www.techtarget.com/searchsecurity/definition/encryption"&gt;encryption&lt;/a&gt; solution (Windows &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/BitLocker"&gt;BitLocker&lt;/a&gt;). Additionally, they used Microsoft Defender for Endpoint for security threat monitoring and secured devices with the latest security updates.&lt;/p&gt;
 &lt;p&gt;MMD also provided &lt;b&gt;visibility into device and app performance&lt;/b&gt;. The SOC team monitored security threats and used data from the latest threats to respond to security alerts and manage security incidents. Through proactive monitoring, MMD remediated common security issues, including issues related to stop errors, Microsoft Defender Firewall and BitLocker. The service also monitored devices, provided insights about device health and provided early warnings about security issues. In this way, MMD provided nonstop protection for MMD devices.&lt;/p&gt;
 &lt;p&gt;MMD ensured that &lt;b&gt;devices were automatically in sync&lt;/b&gt; with the latest Windows quality updates. Admins and users could focus on other, more important tasks.&lt;/p&gt;
 &lt;p&gt;On purchasing a subscription for MMD, organizations could configure &lt;b&gt;additional optional services&lt;/b&gt;, especially if they needed to protect high-value corporate assets. They could back up important information on the device to &lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/Microsoft-OneDrive"&gt;OneDrive&lt;/a&gt; for Business. Microsoft would ensure the secure functionality of the OneDrive client and sync all data toward OneDrive for Business back end in Microsoft 365 Apps. Companies that required high levels of information security could purchase Windows Information Protection (WIP) or &lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/Windows-Azure"&gt;Azure&lt;/a&gt; Information Protection. Microsoft &lt;a href="https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/Obsolete-vs-deprecated-in-software-development"&gt;deprecated&lt;/a&gt; WIP starting in July 2022. Azure Information Protection is now known as Microsoft Purview Information Protection.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="Cloud-based infrastructure and deployment rings of MMD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Cloud-based infrastructure and deployment rings of MMD&lt;/h2&gt;
 &lt;p&gt;Through the MMD service, Microsoft connected devices to a modern cloud-based infrastructure. All functionalities and services under MMD were delivered using the cloud including the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Device provisioning.&lt;/li&gt; 
  &lt;li&gt;Device configuration.&lt;/li&gt; 
  &lt;li&gt;Device management (including updates).&lt;/li&gt; 
  &lt;li&gt;Device security monitoring.&lt;/li&gt; 
  &lt;li&gt;&lt;a href="https://www.techtarget.com/searchitoperations/definition/IT-incident-management"&gt;Incident response&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;ITSM and operations.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/yo7l3hn1H6I?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;To safely roll out operating system updates and policies, Microsoft used &lt;i&gt;update groups&lt;/i&gt;; to manage Windows quality updates, MMD used four &lt;i&gt;deployment rings&lt;/i&gt;. Under this four-ring system, MMD created four Microsoft Entra ID assigned groups that were then used to segment devices into update groups.&lt;/p&gt;
 &lt;p&gt;The four MMD deployment rings were as follows:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Modern Workplace Devices -- Test.&lt;/b&gt; Deployment ring for testing update deployments before production rollout.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Modern Workplace Devices -- First.&lt;/b&gt; Production deployment ring for early adopters.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Modern Workplace Devices -- Fast.&lt;/b&gt; Deployment ring for fast production rollout and adoption.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Modern Workplace Devices -- Broad.&lt;/b&gt; Deployment ring for broad, organizationwide rollout.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;MMD "calculated" the rings, determining which device should be assigned to which ring, during device registration based on the existing managed device size of the MMD tenant. Each of these four rings aligned with different update deployment policies to control and streamline the rollout of updates to the devices registered under MMD. The assignment of MMD devices to one of the four rings also ensured that the service would have the proper representation of the device diversity across the organization.&lt;/p&gt;
 &lt;p&gt;MMD monitored the devices in each ring to provide automated deployment ring remediation functions. These functions were meant to minimize the vulnerability of devices to security threats. The devices could be in a vulnerable state if they were not assigned to a deployment ring during the device registration process or if IT admin made changes to objects created during MMD tenant enrollment.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="Roles and responsibilities under MMD"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Roles and responsibilities under MMD&lt;/h2&gt;
 &lt;p&gt;The MMD service provided a range of roles and responsibilities, some of which belonged to Microsoft and others assigned to the customer. The roles that belonged to Microsoft included the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;MMD service support.&lt;/b&gt; The MMD Operations team was responsible for technical remediation, change requests and incident management for the organization's MMD environment. This team was also in charge of creating and managing devices and user groups.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Mobile Device Management (MDM) policy management.&lt;/b&gt; Microsoft applied appropriate and proven MDM policies and optimized the configuration of &lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/mobile-device-management"&gt;MDM&lt;/a&gt; devices during setup.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Security monitoring and update monitoring.&lt;/b&gt; Microsoft actively monitored MMD devices to mitigate threats and ensure that the latest updates (quality and features) were installed for the devices.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Change management.&lt;/b&gt; Microsoft notified MMD customers when Microsoft &lt;a href="https://www.techtarget.com/searchcio/definition/change-management"&gt;planned to make changes&lt;/a&gt; to the MMD environment, such as feature updates, new features, new applications, client hotfixes for issues, security updates or feature &lt;a href="https://www.techtarget.com/whatis/definition/deprecated"&gt;deprecations&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;User support.&lt;/b&gt; In case of device issues affecting users, IT teams could raise support requests to Microsoft; Microsoft was obligated to respond to these issues in accordance with severity definitions.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Certain roles and responsibilities were assigned to MMD customer organizations and not provided by Microsoft. For example, organizations were required to have their own change management process and take responsibility for all identity management tasks. Customers were also responsible for the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Managing Microsoft 365 services and policies.&lt;/li&gt; 
  &lt;li&gt;Collaboration tools, SharePoint server administration and domain management.&lt;/li&gt; 
  &lt;li&gt;Providing user support directly or using a designated support partner.&lt;/li&gt; 
  &lt;li&gt;Security monitoring and incident response of non-MMD devices.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;i&gt;While&lt;/i&gt; &lt;a href="https://www.techtarget.com/searchitoperations/feature/ITSM-meets-AI-Capabilities-challenges-and-whats-next"&gt;&lt;i&gt;AI has the potential to transform ITSM&lt;/i&gt;&lt;/a&gt;&lt;i&gt;, organizations face several potential challenges when implementing these technologies. Also, see how to &lt;/i&gt;&lt;a href="https://www.techtarget.com/searchsecurity/tip/How-to-create-an-incident-response-playbook"&gt;&lt;i&gt;create an incident response playbook with template&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Microsoft Managed Desktop (MMD) was a cloud-based device management service from Microsoft that helped organizations simplify device provisioning, configuration, maintenance and management, and streamline IT service management (ITSM), operations, compliance, security monitoring and response.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/whatis/definition/Microsoft-Managed-Desktop-MMD</link>
            <pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate>
            <title>What is Microsoft Managed Desktop (MMD)?</title>
        </item>
        <item>
            <body>&lt;p&gt;Busy Microsoft admins need all the help they can get, particularly in security-related areas.&lt;/p&gt; 
&lt;p&gt;An improper configuration can cascade into a lapse in security and cause untold damage to the enterprise, or put the organization under intense scrutiny if it fails a &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Find-and-fix-server-problems-with-Best-Practices-Analyzer"&gt;compliance audit&lt;/a&gt;. Microsoft offers the Microsoft Security Compliance Toolkit to identify problems with infrastructure settings so that admins can shut these gaps to maintain a consistent security posture and avoid disruption.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is the Microsoft Security Compliance Toolkit?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the Microsoft Security Compliance Toolkit?&lt;/h2&gt;
 &lt;p&gt;The Microsoft Security Compliance Toolkit is a set of tools that admins can use to compare existing Group Policy Objects (GPOs) against Microsoft's recommended security baselines.&lt;/p&gt;
 &lt;p&gt;Administrators can see if their organization's policies differ from Microsoft's suggestions and can apply &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Windows-Server-security-hardening-guide-for-admins"&gt;more secure policy settings&lt;/a&gt; if necessary. The tools are suitable for local GPOs and Active Directory. The Security Compliance Toolkit also includes a tool to reset the security descriptor for almost any object.&lt;/p&gt;
 &lt;p&gt;The toolkit enables admins to edit GPOs, store them in GPO backup format, and apply them via domain controllers or test environments to check for issues.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="How to use the Microsoft Security Compliance Toolkit"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use the Microsoft Security Compliance Toolkit&lt;/h2&gt;
 &lt;p&gt;Admins can &lt;a target="_blank" href="https://www.microsoft.com/en-us/download/details.aspx?id=55319" rel="noopener"&gt;download&lt;/a&gt; the Security Compliance Toolkit from Microsoft's site, which hosts zip files that correspond to the security baseline packages for Windows Server, Windows 10, Windows 11, Microsoft 365 Apps for Enterprise and Microsoft Edge. The other files are the Policy Analyzer, Local Group Policy Object utility and Set Object Security application.&lt;/p&gt;
 &lt;h3&gt;Policy Analyzer tool&lt;/h3&gt;
 &lt;p&gt;The Policy Analyzer compares sets of GPOs -- such as the security baselines provided by Microsoft -- and checks against a system's local security policy and registry settings. The Policy Analyzer checks for inconsistencies and redundant settings, and tracks changes by comparing baselines taken at different times.&lt;/p&gt;
 &lt;p&gt;Start by creating a policy rules file with the organization's current policy settings. The easiest method is to open the Group Policy Management Console (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Group-Policy-Management-Console"&gt;GPMC&lt;/a&gt;), right-click on a GPO and select &lt;b&gt;Back Up&lt;/b&gt; from the shortcut menu.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bp-toolkit1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bp-toolkit1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bp-toolkit1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bp-toolkit1-f.jpg 1280w" alt="Screenshot of the Group Policy Management window." data-credit="Brien Posey/Informa TechTarget" height="398" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Right-click on a GPO and select the backup command from the menu.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Next, launch the Policy Analyzer. Click the &lt;b&gt;Add&lt;/b&gt; button and select the &lt;b&gt;Add files from GPO(s)&lt;/b&gt; command from the File menu. Select the folder that corresponds to the GPO backup and load it by clicking the &lt;b&gt;Import&lt;/b&gt; button.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bp-toolkit2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bp-toolkit2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bp-toolkit2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bp-toolkit2-f.jpg 1280w" alt="Screenshot of the Policy File Importer window." data-credit="Brien Posey/Informa TechTarget" height="296" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Import the policy file from the Policy Analyzer.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Next, enter a name when prompted for a policy rules file and click &lt;b&gt;Save&lt;/b&gt;. The main Policy Analyzer screen will open. The console contains buttons used to view or compare the policy settings and to compare the policy settings to the effective state.&lt;/p&gt;
 &lt;p&gt;Microsoft recently packaged the GPO2PolicyRules utility with Policy Analyzer. GPO2PolicyRules automatically converts GPO backups to Policy Analyzer rules files.&lt;/p&gt;
 &lt;p&gt;Use it by running &lt;samp&gt;GPO2PolicyRules.exe&lt;/samp&gt; from a command prompt, followed by the desired GPO backup and the output file that you want to create.&lt;/p&gt;
 &lt;h3&gt;Local Group Policy Object tool&lt;/h3&gt;
 &lt;p&gt;The Local Group Policy Object (LGPO) tool runs from the command line and manages the system's local security policy. This tool offers several capabilities related to local policy settings:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Import and apply settings.&lt;/b&gt; The tool works with several sources, including registry policy files, security templates, auditing backups and LGPO text files.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Policy backup.&lt;/b&gt; Export local policy to a GPO backup for safekeeping and deployment to other systems.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Verification.&lt;/b&gt; Run a check of Group Policy settings before widespread deployment.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Non-domain system management.&lt;/b&gt; Automate configuration and deployment across multiple systems not connected to the domain.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The LGPO tool's syntax is relatively complex, as it supports numerous parameters. You can view the full syntax by running &lt;samp&gt;LGPO.exe&lt;/samp&gt; from a command prompt.&lt;/p&gt;
 &lt;p&gt;For example, to create a backup of a local GPO, enter this command:&lt;/p&gt;
 &lt;pre class="language-none"&gt;&lt;code&gt;LGPO.exe /b &amp;lt;path&amp;gt; /n &amp;lt;group policy name&amp;gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bp-toolkit3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bp-toolkit3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bp-toolkit3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bp-toolkit3-f.jpg 1280w" alt="Screenshot of LGPO backup creation in the Windows command prompt." data-credit="Brien Posey/Informa TechTarget" height="204" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The LGPO utility creates a backup of a local GPO to a folder on the machine.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;h3&gt;Set Object Security tool&lt;/h3&gt;
 &lt;p&gt;Set Object Security applies a security descriptor to files, folders, &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Learn-how-to-set-up-Windows-Server-2022-SMB-compression"&gt;SMB shares&lt;/a&gt; or nearly any other type of object. A common use is to restore the default security descriptor to a system's root folder.&lt;/p&gt;
 &lt;p&gt;To use the tool, run the &lt;samp&gt;SetObjectSecurity.exe&lt;/samp&gt; command, followed by several parameters:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;ObjType.&lt;/b&gt; The type of object to secure, such as FILE, KEY, eventlog, printer, share or kobject, to name a few. Object types are case sensitive.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;ObjName.&lt;/b&gt; The name of the object to secure, such as a file, folder or &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Command-line-options-for-Regeditexe"&gt;registry key&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SDDL.&lt;/b&gt; The SDDL is the security descriptor to apply, written in Security Descriptor Definition Language. Use a tool such as AccessChk to get the SDDL from an object.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The following example shows the Set Object Security tool executing a set of policy rules that were converted from a GPO backup:&lt;/p&gt;
 &lt;pre class="language-none"&gt;&lt;code&gt;SetObjectSecurity.exe FILE C:\ "O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;BU)(A;OICIIO;SDGXGWGR;;;AU)(A;;LC;;;AU)S:P(ML;OINPIO;NW;;;HI)"&lt;/code&gt;&lt;/pre&gt;
&lt;/section&gt;                        
&lt;section class="section main-article-chapter" data-menu-title="How to apply security baselines to Windows Server"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to apply security baselines to Windows Server&lt;/h2&gt;
 &lt;p&gt;Before executing any changes to a production system, admins should follow best practices and test deploying the security baselines to Windows Server systems in a nonproduction environment.&lt;/p&gt;
 &lt;p&gt;To use Microsoft's recommended security configuration baselines for Windows Server versions before &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Learn-how-the-Windows-Server-2025-editions-differ"&gt;Windows Server 2025&lt;/a&gt;, download the Microsoft Security Compliance Toolkit files used to configure Group Policy settings. The files contain documentation, Group Policy reports, GPOs for different setups, PowerShell scripts to assist with the deployment, and GPO templates in ADMX and ADML formats.&lt;/p&gt;
 &lt;p&gt;To start, open GPMC and open Group Policy Management.&lt;/p&gt;
 &lt;p&gt;Next, right-click on Group Policy Objects in the domain and forest to create the GPO, then rename the GPO to give it a descriptive name based on the baseline name.&lt;/p&gt;
 &lt;p&gt;Right-click on the GPO and choose &lt;b&gt;Import Settings&lt;/b&gt;, then select the baseline GPO for the server role from the folder with the extracted security baseline files.&lt;/p&gt;
 &lt;p&gt;Link the GPO to the domain or the organizational unit, then enable the GPO settings. Run the following command to force the Group Policy update on the test system:&lt;/p&gt;
 &lt;pre class="language-none"&gt;&lt;code&gt;gpupdate /force&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Check the event log for any errors related to Group Policy.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="New security baseline method arrives with Windows Server 2025"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;New security baseline method arrives with Windows Server 2025&lt;/h2&gt;
 &lt;p&gt;With Windows Server 2025, Microsoft introduced the OSConfig platform to apply a desired state configuration for security baselines.&lt;/p&gt;
 &lt;p&gt;Microsoft integrated security baselines into the OS via the OSConfig PowerShell module, which removes the need to download files. The native PowerShell tooling updates the settings with one command rather than requiring multiple tools. OSConfig also features an automated method to keep systems within compliance with a &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-to-use-Microsoft-365-DSC-to-avoid-configuration-drift"&gt;drift control&lt;/a&gt; mechanism.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Learn how to work with the tools and security baselines provided by Microsoft to tighten the defenses in the Windows environment.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/security_a218339023.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tutorial/Secure-Windows-with-Microsofts-Security-Compliance-Toolkit</link>
            <pubDate>Tue, 29 Jul 2025 15:18:00 GMT</pubDate>
            <title>Secure Windows with Microsoft's Security Compliance Toolkit</title>
        </item>
        <item>
            <body>&lt;p&gt;Local administrator passwords are challenging from a security standpoint, but an updated feature in Windows can reduce the worry associated with this administrative need.&lt;/p&gt; 
&lt;p&gt;Nearly every Windows device contains a local administrator account -- that's a basic security problem. These accounts are necessary for an admin to log in to the device to correct a problem connecting to AD. Organizations that want more security around these credentials can use the Windows Local Administrator Password Solution (LAPS), which automates password management of the local administrator account to &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tutorial/Learn-to-monitor-group-memberships-with-PowerShell" rel="noopener"&gt;keep the environment more secure&lt;/a&gt;. Microsoft updated this feature in April 2023 to make it a native part of the Windows OS. This article covers improvements made in Windows LAPS, methods to deploy it and considerations when migrating from the earlier LAPS version.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is Windows LAPS?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is Windows LAPS?&lt;/h2&gt;
 &lt;p&gt;Windows LAPS automatically manages and rotates the local administrator password on domain-joined Windows devices for Windows Server and the client OS. Microsoft developed the security measure to protect organizations from various attacks, such as &lt;a href="https://www.techtarget.com/searchsecurity/definition/pass-the-hash-attack"&gt;pass the hash&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Local administrator password rotation is critical because, if an attacker accesses a nonmanaged local administrator password, they could use it to breach all domain-joined devices. Worse still, these passwords tend to be static, so an attacker could potentially use them to gain permanent access to an organization's resources.&lt;/p&gt;
 &lt;p&gt;Windows LAPS &lt;a href="https://www.techtarget.com/searchsecurity/tip/Top-5-password-hygiene-tips-and-best-practices"&gt;generates complex passwords&lt;/a&gt; for the local administrator account and rotates them on a schedule from seven to 365 days based on the configuration.&lt;/p&gt;
 &lt;p&gt;When admins need to access a device, they get the current password from AD or the cloud-based identity and access management platform Microsoft Entra ID, formerly known as Azure Active Directory. The admin then logs in as the local administrator. &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/How-to-find-and-customize-your-PowerShell-profile"&gt;For added security&lt;/a&gt;, Windows LAPS can rotate the password automatically after use.&lt;/p&gt;
 &lt;p&gt;Since April 2024, Microsoft integrated Windows LAPS with the Windows OS.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="What's new with Windows LAPS?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What's new with Windows LAPS?&lt;/h2&gt;
 &lt;p&gt;Microsoft has made significant enhancements to Windows LAPS in recent years. The company deprecated its earlier version -- the company refers to this as legacy Microsoft LAPS -- as of Windows 11 23H2 in favor of this update.&lt;/p&gt;
 &lt;p&gt;Here are some of the enhancements in Windows LAPS:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Windows LAPS manages accounts automatically. Normally, Windows LAPS functions in manual mode. This enables the administrator to control all aspects of the local administrator account except for the password. When using automatic account management, Windows LAPS automates certain configuration details. Specifically, the account is made a member of the local administrators group, and the "password not required" and "password never expires" flags are disabled. The account description is also modified to indicate that Windows LAPS controls the account.&lt;/li&gt; 
  &lt;li&gt;Besides generating passwords, Windows LAPS can also create passphrases. Depending on the complexity setting, passphrases can consist of long words, short words or short words with unique prefixes.&lt;/li&gt; 
  &lt;li&gt;Microsoft introduced OS image rollback detection for Windows LAPS. If the admin reverted a system to a prior state by restoring a backup or &lt;a href="https://www.techtarget.com/searchitoperations/tip/A-beginners-guide-to-Hyper-V-checkpoints"&gt;applying a Hyper-V snapshot&lt;/a&gt;, that could lead to a password mismatch. Windows LAPS handles this problem by detecting the issue and forcing an immediate password rotation.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS stores local administrator passwords in &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/What-are-the-Microsoft-Entra-ID-benefits-for-on-prem-admins"&gt;AD and Microsoft Entra ID&lt;/a&gt;. Legacy Microsoft LAPS only worked with AD.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS protects against additional threats, including pass-the-hash attacks.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS supports Azure's role-based access control.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS supports the password encryption and password history.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS automates the management and storage of passwords for the &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/definition/Directory-Services-Restore-Mode-DSRM" rel="noopener"&gt;Directory Services Restore Mode&lt;/a&gt; account on the domain controller.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="What are Windows LAPS limitations?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are Windows LAPS limitations?&lt;/h2&gt;
 &lt;p&gt;Windows LAPS and legacy Microsoft LAPS cannot manage the same account on the same machine. Microsoft recommends switching systems to Windows LAPS. However, there are some considerations:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Because Windows LAPS has a learning curve, Microsoft offers a legacy Microsoft LAPS emulation mode to ease the transition period.&lt;/li&gt; 
  &lt;li&gt;Another option is to use both legacy Microsoft LAPS and Windows LAPS side by side until you are comfortable with the new version.&lt;/li&gt; 
  &lt;li&gt;If you decide to use both security features on the same machine, then you need to create an additional local administrator account on managed devices with a different name for use with the Windows LAPS policies.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="What are Windows LAPS prerequisites?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are Windows LAPS prerequisites?&lt;/h2&gt;
 &lt;p&gt;Windows LAPS works on the following Windows OSes with the April 11, 2023, update or later installed:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Windows 11 23H2.&lt;/li&gt; 
  &lt;li&gt;Windows 11 22H2.&lt;/li&gt; 
  &lt;li&gt;Windows 11 21H2.&lt;/li&gt; 
  &lt;li&gt;Windows 10.&lt;/li&gt; 
  &lt;li&gt;Windows Server 23H2.&lt;/li&gt; 
  &lt;li&gt;Windows Server 2022.&lt;/li&gt; 
  &lt;li&gt;Windows Server 2019.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Windows Server 2025, released in November 2024, also supports Windows LAPS.&lt;/p&gt;
 &lt;p&gt;Microsoft includes Windows LAPS as part of the Windows OS -- added through Windows Update -- rather than requiring a separate download.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Key differences between Windows LAPS and legacy Microsoft LAPS"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key differences between Windows LAPS and legacy Microsoft LAPS&lt;/h2&gt;
 &lt;p&gt;There are several key differences between Windows LAPS and legacy Microsoft LAPS, including the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Windows LAPS is built into Windows 11, &lt;a href="https://www.techtarget.com/searchenterprisedesktop/news/252526389/Latest-Windows-11-update-adds-tabbed-File-Explorer"&gt;starting with 22H2&lt;/a&gt;, and Windows Server 2022 with updates and newer versions of Windows.&lt;/li&gt; 
  &lt;li&gt;Windows LAPS supports Microsoft Entra ID and AD. Legacy Microsoft LAPS only worked with AD.&lt;/li&gt; 
  &lt;li&gt;Legacy Microsoft LAPS was a standalone tool and required standalone Group Policy settings.&lt;/li&gt; 
  &lt;li&gt;Although legacy Microsoft LAPS is still supported, Microsoft has deprecated it. Microsoft recommends adopting Windows LAPS, regardless of infrastructure arrangement.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;div class="btt-thumbnailContainer"&gt;
  &lt;span class="btt-thumbnailTitle"&gt;How to work with the new Windows LAPS feature&lt;/span&gt;
  &lt;a class="btt-thumbnailLink" data-video-id="645321" data-channel-id="18865"&gt;
   &lt;div class="btt-thumbnailImgContainer"&gt;
    &lt;img class="btt-videoBtThumbnail" src="https://cdn.brighttalk.com/ams/california/images/communication/645321/image_1044012.png?width=640&amp;amp;height=360"&gt;
   &lt;/div&gt;&lt;/a&gt;
  &lt;time class="btt-video-duration" datetime="PT6M12S"&gt;6:12&lt;/time&gt;
 &lt;/div&gt;
 &lt;div class="btt-modal"&gt;
  &lt;div class="btt-modal-content"&gt;&lt;/div&gt;
 &lt;/div&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="How to migrate from legacy Microsoft LAPS"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to migrate from legacy Microsoft LAPS&lt;/h2&gt;
 &lt;p&gt;Before you can migrate from legacy Microsoft LAPS, some prep work is necessary. You start by identifying the machines using the legacy version and then verifying they run an OS that is compatible with Windows LAPS. It's also a good idea to ensure those systems have the latest patches.&lt;/p&gt;
 &lt;p&gt;Next, prepare the &lt;a href="https://www.techtarget.com/searchwindowsserver/answer/Understand-Active-Directory-basics-for-enterprise-success"&gt;AD infrastructure&lt;/a&gt;. You must update the schema -- the definition of the structure of the database -- because Windows LAPS adds new attributes to AD. Back up the AD environment, and then extend the schema using the &lt;span style="font-family: courier new, courier, monospace;"&gt;Update-LapsADSchema&lt;/span&gt;&lt;b&gt; &lt;/b&gt;cmdlet. You might need to apply some permissions using the &lt;span style="font-family: courier new, courier, monospace;"&gt;Set-LapsADComputerSelfPermission&lt;/span&gt; cmdlet, which gives the computer account the ability to update Windows LAPS password attributes and also enables password rotation.&lt;/p&gt;
 &lt;p&gt;Next, decide if you want to allow coexistence between legacy Microsoft LAPS and Windows LAPS or if you want to perform a cutover migration. At a minimum, you must enable and configure the Windows LAPS Group Policy settings. If you disable legacy Microsoft LAPS, then you must set the legacy Microsoft LAPS Group Policy settings to "not configured." Only do this after you have verified Windows LAPS is working.&lt;/p&gt;
 &lt;p&gt;Next, verify that passwords are being stored correctly with the following PowerShell command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-LapsADPassword -Identity &amp;lt;ComputerName&amp;gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Next, delete the machine's local administrator password and expiration data in AD with the following command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Set-ADComputer -Identity "ComputerName" -Clear "ms-Mcs-AdmPwd","ms-Mcs-AdmPwdExpirationTime"&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;To remove these attributes from multiple machines in an organizational unit (OU), adapt the following PowerShell command to your infrastructure.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=com" | Set-ADComputer -Clear "ms-Mcs-AdmPwd","ms-Mcs-AdmPwdExpirationTime"&lt;/code&gt;&lt;/pre&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="How to deploy Windows LAPS"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to deploy Windows LAPS&lt;/h2&gt;
 &lt;p&gt;There are two options to deploy Windows LAPS. The first is to &lt;a target="_blank" href="https://www.techtarget.com/searchenterprisedesktop/tip/Using-the-Intune-management-extension-for-PowerShell-scripts" rel="noopener"&gt;use Intune&lt;/a&gt; to create a LAPS policy that admins push to managed Windows devices.&lt;/p&gt;
 &lt;p&gt;The other option is to push LAPS settings to managed devices using Group Policy, which is only appropriate when managing domain-joined Windows devices.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How to create the Intune policy for Windows LAPS"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to create the Intune policy for Windows LAPS&lt;/h2&gt;
 &lt;p&gt;From the Microsoft Intune admin center, go to the &lt;b&gt;Endpoint security&lt;/b&gt; tab to &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Understanding-how-GPOs-and-Intune-interact"&gt;create the policy&lt;/a&gt; for Windows LAPS.&lt;/p&gt;
 &lt;p&gt;Click on &lt;b&gt;Account protection&lt;/b&gt; and then the &lt;b&gt;Create Policy&lt;/b&gt; link.&lt;/p&gt;
 &lt;p&gt;The interface displays a prompt to choose a platform and a profile.&lt;/p&gt;
 &lt;p&gt;Set the platform to &lt;b&gt;Windows&lt;/b&gt; and the profile to &lt;b&gt;Local Admin Password Solution (Windows LAPS)&lt;/b&gt;.&lt;/p&gt;
 &lt;p&gt;Click &lt;b&gt;Create&lt;/b&gt;.&lt;/p&gt;
 &lt;p&gt;When prompted, give the profile a name.&lt;/p&gt;
 &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt; to move to the &lt;b&gt;Configuration settings&lt;/b&gt; screen.&lt;/p&gt;
 &lt;p&gt;Specify the desired backup directory, &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tip/Construct-a-solid-Active-Directory-password-policy" rel="noopener"&gt;password length and complexity requirements&lt;/a&gt;, and other relevant settings.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_windows_laps1-f.jpg 1280w" alt="Windows LAPS password settings" height="314" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;In Microsoft Intune, set the password length and complexity requirements for Windows LAPS.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt; to advance to the &lt;b&gt;Scope Tags&lt;/b&gt; tab.&lt;/p&gt;
 &lt;p&gt;Select a custom scope tag -- if one exists -- or the default one.&lt;/p&gt;
 &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt; to open the &lt;b&gt;Assignments&lt;/b&gt; tab.&lt;/p&gt;
 &lt;p&gt;Select the group to which you want to apply the policy.&lt;/p&gt;
 &lt;p&gt;Set the &lt;b&gt;Target Type&lt;/b&gt; to &lt;b&gt;Include&lt;/b&gt; or &lt;b&gt;Exclude&lt;/b&gt;, depending on whether you want the group included in the policy.&lt;/p&gt;
 &lt;p&gt;Click &lt;b&gt;Next&lt;/b&gt; to advance to the &lt;b&gt;Review + Create&lt;/b&gt; screen.&lt;/p&gt;
 &lt;p&gt;Take a moment to review the settings shown on this screen. If everything looks good, click the &lt;b&gt;Create&lt;/b&gt; button to build the policy.&lt;/p&gt;
&lt;/section&gt;                 
&lt;section class="section main-article-chapter" data-menu-title="How to set up Group Policy for Windows LAPS"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to set up Group Policy for Windows LAPS&lt;/h2&gt;
 &lt;p&gt;You can use Group Policy settings to push Windows LAPS settings to domain-joined devices, but you must first prepare AD by extending the schema to support Windows LAPS and provide the necessary permissions.&lt;/p&gt;
 &lt;p&gt;It's a good idea to &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tutorial/Get-back-on-the-mend-with-Active-Directory-recovery-methods" rel="noopener"&gt;back up AD&lt;/a&gt; to roll back the changes if necessary.&lt;/p&gt;
 &lt;p&gt;Next, open an elevated PowerShell session on your domain controller, and then enter the following command to update the AD schema.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Update-LapsADSchema&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_windows_laps2-f.jpg 1280w" alt="Active Directory schema update" height="315" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Run the PowerShell command to update the schema in Active Directory.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;If an error about the command not being recognized appears, check that the server has all available updates, and confirm its role as a domain controller.&lt;/p&gt;
 &lt;p&gt;Next, configure Windows LAPS.&lt;/p&gt;
 &lt;p&gt;Grant the domain-joined computers permission to use Windows LAPS. The easiest way is to grant permission to the &lt;b&gt;Computers&lt;/b&gt; container in AD. The command syntax varies depending on your &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tip/Active-Directory-nesting-groups-strategy-and-implementation" rel="noopener"&gt;AD structure&lt;/a&gt;. In the case of a single domain forest with the name poseylab.com, the PowerShell command is the following.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Set-LapsADComputerSelfPermission -Identity "CN=Computers,DC=poseylab,DC=com"&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Use Group Policy Management Editor to find the LAPS-related Group Policy settings in the Computer Configuration &amp;gt; Policies &amp;gt; Administrative Templates &amp;gt; System &amp;gt; LAPS section.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_windows_laps3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_windows_laps3-f.jpg 1280w" alt="Windows LAPS group policy settings" height="385" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Configure the Windows LAPS settings at the Group Policy level.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Configure the policy settings to meet your organization's needs.&lt;/p&gt;
 &lt;p&gt;Passwords for local administrator accounts are not going away, so the updated Windows LAPS is Microsoft's attempt to make the best of the situation. This automated process is an improvement on the legacy Microsoft LAPS system, so it is worthwhile to see if it works for your organization.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Microsoft improved the feature that automates local administrator password management in Windows Server and the client OS. This tutorial explains the updates and how to set it up.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/check_g530502390.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/How-to-work-with-the-new-Windows-LAPS-feature</link>
            <pubDate>Fri, 13 Jun 2025 09:00:00 GMT</pubDate>
            <title>How to deploy Windows LAPS for tighter security</title>
        </item>
        <item>
            <body>&lt;p&gt;When you struggle to remember your work password -- particularly after a long vacation -- you can accidentally trigger a security policy that freezes you out of your laptop until someone from IT can come to the rescue. Many organizations automatically lock a user's account after a set number of failed login attempts. This account lockout policy is designed to stop brute-force attacks from &lt;a target="_blank" href="https://www.techtarget.com/searchsecurity/tip/6-common-types-of-cyber-attacks-and-how-to-prevent-them" rel="noopener"&gt;hackers trying to find a user's password&lt;/a&gt;. But lockouts happen for other reasons, such as password mismatches when a user leaves home to work in the office or when an application uses an automated login process with expired credentials. By using &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/PowerShell"&gt;PowerShell&lt;/a&gt; to monitor event logs, admins can find these issues and track down the cause to determine whether there is malicious intent or a more innocent reason. This tutorial explains how to use automation to correct Active Directory account lockouts and monitor for suspicious activity.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What are causes of Active Directory account lockouts?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are causes of Active Directory account lockouts?&lt;/h2&gt;
 &lt;p&gt;Not all account lockouts are from malicious sources or even from users who forget their passwords.&lt;/p&gt;
 &lt;p&gt;Applications often rely on a service account for the necessary permissions to function. However, if the service account's password changes and the application does not get the updated password, this can lock the &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tip/Get-a-grasp-on-using-group-managed-service-accounts" rel="noopener"&gt;service account&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Redundant login information is another reason for account lockouts. An enterprise user might have a dozen or more credentials tied to a common username. It takes effort to keep track of all these accounts. It's not difficult to foresee someone using the wrong set of credentials multiple times until they trigger an account lockout in Active Directory.&lt;/p&gt;
 &lt;p&gt;Account lockouts can also occur when users change work locations. A common scenario is when a user switches from working on a domain-joined Windows desktop in the office to a Windows laptop at home not connected to a network. Because the laptop is offline, it does not record password changes. The user must log in with the old password. If the user brings that laptop into the office and attempts to access the network, the combination of password mismatch and end-user confusion could lead to an account lockout.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Account lockout policies can help and hinder admins"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Account lockout policies can help and hinder admins&lt;/h2&gt;
 &lt;p&gt;One of the main reasons account lockouts are problematic is that they tend to happen silently. As an administrator, you might never even know that an account lockout has occurred unless a user calls or you see an account lockout event &lt;a target="_blank" href="https://www.techtarget.com/searchwindowsserver/tip/Filter-and-query-Windows-event-logs-with-PowerShell" rel="noopener"&gt;listed in the Windows event logs&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Account lockouts can be problematic for IT because, while unlocking accounts and resetting passwords is simple enough, a high volume of reset requests or account lockout tickets can overload the help desk and waste the IT staff's time. Of course, these lockouts affect the end user, who cannot work while waiting for a fix to their account lockout.&lt;/p&gt;
 &lt;p&gt;Even though Active Directory account lockouts are meant to keep an organization secure, they sometimes backfire. Users frustrated by account lockouts might try to sidestep the organization's security protocols and write down their passwords or use weak passwords that are easy to remember. An automated brute-force attack could cycle through every user in an organization and cause widespread damage by locking out every account; one way to counteract this is to set the account lockout threshold to 0, which never locks any accounts but relies on other security means to prevent these hack attempts.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="How to investigate account lockouts in the Windows event logs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to investigate account lockouts in the Windows event logs&lt;/h2&gt;
 &lt;p&gt;To search the event logs for account lockout events, it's best to begin by checking the Security log for &lt;b&gt;Event ID 4740: A user account was locked out&lt;/b&gt;. While this event indicates an account was locked out, it doesn't explain why.&lt;/p&gt;
 &lt;p&gt;When investigating this issue, search for other events that can provide more information, such as &lt;b&gt;Event ID 4625: An account failed to log on&lt;/b&gt;. This event usually &lt;a target="_blank" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4625" rel="noopener"&gt;details&lt;/a&gt; why the login failure occurred. For example, you might find that the user entered their password incorrectly or that they tried to log in outside of authorized hours.&lt;/p&gt;
 &lt;p&gt;To stay ahead of these lockout situations, one option is to use PowerShell to check for lockouts in event logs with the following command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-WinEvent -FilterHashTable @{LogName="Security"; ID=4740} | Select-Object TimeCreated, Message | Format-Table -Wrap&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The following details the specifics of this command:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-WinEvent&lt;/span&gt; cmdlet queries Windows event logs.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;FilterHashTable&lt;/span&gt; specifies the items to search for within the event logs. In this case, the &lt;span style="font-family: courier new, courier, monospace;"&gt;LogName&lt;/span&gt; parameter targets the &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-to-filter-Security-log-events-for-signs-of-trouble"&gt;Windows Security log&lt;/a&gt; and filters for instances of Event ID 4740, referring to account lockout events in Active Directory.&lt;/li&gt; 
  &lt;li&gt;The command pipes results into the &lt;span style="font-family: courier new, courier, monospace;"&gt;Select-Object&lt;/span&gt; cmdlet, which displays the time when the event was created and event details, such as the device, user's name and domain.&lt;/li&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Format-Table&lt;/span&gt; cmdlet, along with the &lt;span style="font-family: courier new, courier, monospace;"&gt;Wrap&lt;/span&gt; parameter, forces PowerShell to display the pertinent information neatly in a table. Normally, PowerShell output truncates the account lockout message.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/bposey_adlockout1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/bposey_adlockout1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/bposey_adlockout1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/bposey_adlockout1-f.jpg 1280w" alt="PowerShell lockout query" height="293" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use PowerShell to query the event log to show Active Directory account lockout events.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;In a production environment, this Active Directory account lockout query could draw excessive results because it &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Query-event-logs-with-PowerShell-to-find-malicious-activity"&gt;checks the Security event log&lt;/a&gt; for all instances of &lt;b&gt;Event ID 4740&lt;/b&gt;, regardless of when the event occurred. The best way to address this problem is to use the &lt;span style="font-family: courier new, courier, monospace;"&gt;StartTime&lt;/span&gt; filter. For example, the following command looks at events from the last 24 hours.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$Start=(Get-Date).AddDays(-1)
Get-WinEvent -FilterHashTable @{LogName="Security"; ID=4740;StartTime=$Start} | Select-Object TimeCreated, Message | Format-Table -Wrap&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The following details the specifics of this command:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The variable named &lt;span style="font-family: courier new, courier, monospace;"&gt;$Start&lt;/span&gt;&lt;b&gt; &lt;/b&gt;serves as a starting point for the log search. &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Date.AddDays(-1)&lt;/span&gt; tells PowerShell to subtract one day from the current time. To check logs through the previous week, use &lt;span style="font-family: courier new, courier, monospace;"&gt;AddDays(-7)&lt;/span&gt;.&lt;/li&gt; 
  &lt;li&gt;The second command is identical to the previous one, except &lt;span style="font-family: courier new, courier, monospace;"&gt;StartTime=$Start&lt;/span&gt; is added as a parameter to the filter hash table to instruct PowerShell to ignore results older than the date and timestamp in the &lt;span style="font-family: courier new, courier, monospace;"&gt;$Start&lt;/span&gt; variable.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;            
&lt;section class="section main-article-chapter" data-menu-title="How to check your organization for account lockouts"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to check your organization for account lockouts&lt;/h2&gt;
 &lt;p&gt;Another way to use PowerShell to check for Active Directory lockouts is to query a user account using the &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-ADUser&lt;/span&gt; cmdlet and then check the value of the&lt;b&gt; &lt;/b&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;LockedOut&lt;/span&gt;&lt;b&gt; &lt;/b&gt;property.&lt;/p&gt;
 &lt;p&gt;The problem with this approach is reliability. It works if Active Directory treats the account lockout status as a stored property, but it does not work if it is a calculated property.&lt;/p&gt;
 &lt;p&gt;Instead, use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Search-ADAccount&lt;/span&gt; cmdlet for more consistent results. If you want to see a list users whose accounts are currently locked out, you can use this PowerShell command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Search-ADAccount -LockedOut | Select-Object SamAccountName, LockedOut&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The following details the specifics of this command:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Search-ADAccount&lt;/span&gt; cmdlet is designed to look at various user account properties.&lt;/li&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;LockedOut&lt;/span&gt; parameter designates whether an account is locked.&lt;/li&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Select-Object&lt;/span&gt; cmdlet determines the information displayed within the output. In this case, the command shows the Security Account Manager (SAM) account name -- or the username -- and the &lt;span style="font-family: courier new, courier, monospace;"&gt;LockedOut&lt;/span&gt; status.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;To check to see whether a specific user has been locked out, use this command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Search-ADAccount -LockedOut | Where-Object {$_.SAMAccountName -eq "&amp;lt;username&amp;gt;"} | Select-Object SamAccountName, LockedOut&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;This command is nearly identical to the previous command, except for the &lt;span style="font-family: courier new, courier, monospace;"&gt;Where-Object&lt;/span&gt; cmdlet, which filters the list to show results for the specified user. The command returns a status of &lt;span style="font-family: courier new, courier, monospace;"&gt;True&lt;/span&gt; if the user is locked out. No results show otherwise.&lt;/p&gt;
 &lt;p&gt;To unlock an account, use the following PowerShell command, replacing &lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;username&amp;gt;&lt;/span&gt; with the name of the user whose account you wish to unlock.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Unlock-ADAccount &amp;lt;username&amp;gt;&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;If you want to unlock the locked accounts, use this command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Search-ADAccount -LockedOut | Unlock-ADAccount&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The following details the specifics of this command:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Search-ADAccount&lt;/span&gt; cmdlet finds locked-out users.&lt;/li&gt; 
  &lt;li&gt;The results are piped into the &lt;span style="font-family: courier new, courier, monospace;"&gt;Unlock-ADAccount&lt;/span&gt; cmdlet, which removes the lockout status.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;                
&lt;section class="section main-article-chapter" data-menu-title="How to use the ADUC console to unlock accounts"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use the ADUC console to unlock accounts&lt;/h2&gt;
 &lt;p&gt;PowerShell tends to be the quickest and easiest option for unlocking accounts for certain scenarios, such as if you have a lot of accounts to unlock or if you aren't sure which accounts need attention, but it isn't your only option. You can also unlock accounts &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Speed-up-onboarding-with-Active-Directory-user-templates"&gt;using the Active Directory Users and Computers (ADUC) console&lt;/a&gt;:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Open the console, and then right-click on the account to unlock and select the &lt;b&gt;Properties&lt;/b&gt; command from the shortcut menu to open the user's properties sheet.&lt;/li&gt; 
  &lt;li&gt;Select the &lt;b&gt;Account&lt;/b&gt; tab, and then select the &lt;b&gt;Unlock&lt;/b&gt; &lt;b&gt;Account&lt;/b&gt; checkbox.&lt;/li&gt; 
  &lt;li&gt;Click &lt;b&gt;OK&lt;/b&gt; to complete the process.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How to troubleshoot frequent account lockouts"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to troubleshoot frequent account lockouts&lt;/h2&gt;
 &lt;p&gt;Frequent account lockouts can be a headache. When that happens, they are usually tied to a few specific causes.&lt;/p&gt;
 &lt;p&gt;One reason is cached credentials. Avoid this problem by always prompting users for their credentials rather than enabling Windows to remember them.&lt;/p&gt;
 &lt;p&gt;If a user device is often locked out while using a mobile device, consider enlisting Microsoft's Conditional Access policies. These policies reduce lockouts through more stringent login verification methods, such as using geographic location to prevent hack attempts or requiring Microsoft Authenticator to &lt;a href="https://www.techtarget.com/searchsecurity/tip/Use-these-6-user-authentication-types-to-secure-networks"&gt;implement passwordless authentication&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;You can also review the Active Directory account lockout settings in Group Policy and adjust the lockout threshold or the lockout duration to align them to your security requirements.&lt;/p&gt;
 &lt;p&gt;Some legacy applications store credentials inside the application. This setup can trigger lockouts if the password is changed without adjusting it in the application. It's best to limit this practice if possible and to avoid a lockout policy for accounts only used by these applications.&lt;/p&gt;
 &lt;p&gt;Finally, &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Active-Directory-replication-troubleshooting-tips-and-tools"&gt;Active Directory replication health problems&lt;/a&gt; sometimes cause account lockouts in complex Active Directory environments, such as when replication falters or there's a delay in replication between domain controllers. To check the Active Directory's replication status, use the &lt;span style="font-family: courier new, courier, monospace;"&gt;repadmin /replsummary&lt;/span&gt; command.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="What are some security considerations related to account lockouts?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are some security considerations related to account lockouts?&lt;/h2&gt;
 &lt;p&gt;When determining how to manage account lockouts in your organization, consider your options carefully.&lt;/p&gt;
 &lt;p&gt;First, it's important to adhere to least-privilege access principles, meaning that admins have just the permissions needed to do their jobs. The downside is that this limits the scope of how administrators use PowerShell to prevent unauthorized account lockout management.&lt;/p&gt;
 &lt;p&gt;Second, while it is possible to build PowerShell scripts that automate the account unlocking process, it's important to protect those scripts from unauthorized access.&lt;b&gt; &lt;/b&gt;If you have properly implemented least-privilege access, then this restricts unsanctioned access to these scripts. This limitation prevents any malicious modifications to your code and stops attackers from accessing the code to learn more about your infrastructure.&lt;/p&gt;
 &lt;p&gt;Finally, checking account access patterns before unlocking an account is important. If you find that an account -- &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Learn-to-adjust-the-AdminCount-attribute-in-protected-accounts"&gt;particularly a privileged account&lt;/a&gt; -- gets locked repeatedly, it may be an indication that an attacker is targeting that account.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="How to define the organization's lockout policy"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to define the organization's lockout policy&lt;/h2&gt;
 &lt;p&gt;You adjust the account lockout policy settings by using the Group Policy Management Editor and navigating to the following menu: Computer Configuration &amp;gt; Policies &amp;gt; Windows Settings &amp;gt; Security Settings &amp;gt; Account Policies &amp;gt; Account Lockout Policy. The Group Policy settings provide options to adjust the account lockout duration, threshold and lockout reset counter.&lt;/p&gt;
 &lt;p&gt;Microsoft does not have a universally applicable best practice for account lockouts. Some Microsoft &lt;a target="_blank" href="https://learn.microsoft.com/en-us/services-hub/unified/health/remediation-steps-ad/set-the-account-lockout-threshold-to-the-recommended-value" rel="noopener"&gt;documentation&lt;/a&gt; suggests setting the account lockout threshold to either 0 -- to prevent denial-of-service attacks -- or to 10. If you configure accounts to be locked out, Microsoft recommends keeping the account lockout duration relatively short, such as 15 minutes.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Entering the wrong credentials so many times can block users from logging in. This tutorial explains how to find and correct these issues and other lockout events.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/security_a135187239.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/How-to-fix-Active-Directory-account-lockouts-with-PowerShell</link>
            <pubDate>Mon, 09 Jun 2025 09:00:00 GMT</pubDate>
            <title>Fix Active Directory account lockouts with PowerShell</title>
        </item>
        <item>
            <body>&lt;p&gt;In today's complex and ever-expanding IT environments, no one has time to wait for a PowerShell script to plod along to completion, especially when timeliness is crucial.&lt;/p&gt; 
&lt;p&gt;As an administrator who wants to automate extensively with &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/PowerShell"&gt;PowerShell&lt;/a&gt;, you get to the point where you want to write advanced scripts that easily handle complex tasks. Sometimes, performance is slow for various reasons and waiting for the script to finish almost defeats the purpose of writing it. While having many PowerShell consoles open like tabs on a browser isn't necessarily bad, if you work this way because your scripts are slow, that is a problem. Thankfully, PowerShell has a feature called background jobs to run scripts and commands in parallel. This enables you to execute a long-running task in the background without affecting the current console. Let's take a more in-depth look at what PowerShell background jobs are, how you can start using and managing them, and examples of how to use them.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is a job in PowerShell?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is a job in PowerShell?&lt;/h2&gt;
 &lt;p&gt;In all cases, a job is a task that PowerShell runs asynchronously, meaning that it runs the command or script without affecting the prompt's availability. PowerShell has several background job types:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;RemoteJob.&lt;/b&gt; Commands and scripts that run through a remote session.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;ThreadJob.&lt;/b&gt; Commands and scripts that run in a separate thread of the same process as the parent PowerShell process.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;BackgroundJob.&lt;/b&gt; Commands and scripts that run in a separate process from the parent PowerShell process.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The choice between a ThreadJob and a BackgroundJob comes down to process isolation and performance. A script running in the same process, even as a different thread, can affect the parent process. If a ThreadJob encounters a terminating error, then it can affect the parent process. While this is not the case with a BackgroundJob, running in a separate process does add some overhead, including how objects are handled since you cannot receive a live object from a BackgroundJob.&lt;/p&gt;
 &lt;p&gt;Generally, because BackgroundJobs are more extensive, they are the recommended job type and are what are examined for the rest of this article.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="The basics of managing PowerShell background jobs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;The basics of managing PowerShell background jobs&lt;/h2&gt;
 &lt;p&gt;PowerShell background job management is done with cmdlets that are part of the Microsoft.PowerShell.Core snap-in.&lt;/p&gt;
 &lt;p&gt;The easiest way to see the available commands is to query with &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Command&lt;/span&gt; to get all commands that end with&lt;b&gt; &lt;/b&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;-Job&lt;/span&gt;, using the &lt;span style="font-family: courier new, courier, monospace;"&gt;Format-Table&lt;/span&gt; alias for cleaner output.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-Command *-Job | ft -a&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Here is the output from PowerShell 7.5.&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_1-f.jpg 1280w" alt="PowerShell 7.5 job commands" height="207" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;This is the list of job-related cmdlets in PowerShell 7.5.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;And here is the output for Windows PowerShell.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_2-f.jpg 1280w" alt="Job cmdlets in Windows PowerShell" height="220" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;This is the list of commands for jobs in Windows PowerShell.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Upon closer examination, you see &lt;span style="font-family: courier new, courier, monospace;"&gt;Resume-Job&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Suspend-Job&lt;/span&gt; are no longer available in PowerShell 7.5, but this tutorial provides examples that work with Windows PowerShell and PowerShell 7.&lt;/p&gt;
 &lt;p&gt;One of the great things about PowerShell is you can infer from cmdlet names what they do. Want to start a job? Let's try &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Job&lt;/span&gt;.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {Write-Host 'this command runs in a background job'}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;There is no &lt;span style="font-family: courier new, courier, monospace;"&gt;Write-Host&lt;/span&gt; output, but rather a job object. The background job runs asynchronously and requires specific commands to check on its status and find its output. If you didn't assign the output of that command to a variable, as in this example, pay attention to the &lt;span style="font-family: courier new, courier, monospace;"&gt;Id&lt;/span&gt;. Use &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Job&lt;/span&gt; to find the job information.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-Job -Id 4&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Now, you can see the state marked as Completed.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_3-f.jpg 1280w" alt="background job information" height="72" width="557"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use the Get-Job cmdlet to find information about a specific background job.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;To receive the data from the job, check that the &lt;span style="font-family: courier new, courier, monospace;"&gt;HasMoreData&lt;/span&gt; property is &lt;span style="font-family: courier new, courier, monospace;"&gt;True&lt;/span&gt;, indicating available output. Use &lt;span style="font-family: courier new, courier, monospace;"&gt;Receive-Job&lt;/span&gt;&lt;b&gt; &lt;/b&gt;to collect that data, assigning the output to a variable.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$jobOutput = Receive-Job -Id 4&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;In this case, the data was simply output from &lt;span style="font-family: courier new, courier, monospace;"&gt;Write-Host&lt;/span&gt;. The &lt;span style="font-family: courier new, courier, monospace;"&gt;$jobOutput&lt;/span&gt; variable is empty.&lt;/p&gt;
 &lt;p&gt;If you need to wait for a job to complete, which command can you use? Let's try &lt;span style="font-family: courier new, courier, monospace;"&gt;Wait-Job&lt;/span&gt;.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Wait-Job -Id 4&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;PowerShell pauses until the job completes. In this case, it returns immediately. However, since you are in PowerShell, use the pipeline to pass the output of each command to the next command to make a nice one-liner.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {Write-Host 'Pipeline'} | Wait-Job | Receive-Job&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Wait-Job&lt;/span&gt; cmdlet is useful when you need a specific job to complete before the next command.&lt;/p&gt;
 &lt;p&gt;Finally, to remove the job, use &lt;span style="font-family: courier new, courier, monospace;"&gt;Remove-Job&lt;/span&gt;.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Remove-Job -Id 4&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Any remaining jobs are removed when the PowerShell session closes.&lt;/p&gt;
&lt;/section&gt;                          
&lt;section class="section main-article-chapter" data-menu-title="How background jobs differ from Start-Process"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How background jobs differ from Start-Process&lt;/h2&gt;
 &lt;p&gt;If you think background jobs are a fancy wrapper around &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Process&lt;/span&gt;, you aren't completely wrong. While they both run processes that are separate from the main PowerShell session, background jobs can continue to interact with the parent session to check the status and perform other actions. &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Process&lt;/span&gt; does not have the same functionality.&lt;/p&gt;
 &lt;p&gt;Replicating the earlier example, try the following -- replacing &lt;span style="font-family: courier new, courier, monospace;"&gt;pwsh&lt;/span&gt; for &lt;span style="font-family: courier new, courier, monospace;"&gt;powershell&lt;/span&gt; in Windows PowerShell.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Process pwsh -ArgumentList '-c Write-Host "this command runs in a background job"'&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Running that command opens and closes the PowerShell console in a flash, leaving no indication if it worked.&lt;/p&gt;
 &lt;p&gt;Reproducing background jobs with &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Process&lt;/span&gt; requires significant work to construct a redirect of standard input/output from the process and then perform object serialization that loads back into the original parent PowerShell process. All this effort is redundant to recreate the functionality that already exists in background jobs. You might prefer &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Process&lt;/span&gt; to a background job for process isolation from the parent PowerShell session when launching a GUI application or running a process with different credentials.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="How to use background jobs in scripts"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use background jobs in scripts&lt;/h2&gt;
 &lt;p&gt;Converting your PowerShell code to run as a background job might require some effort. Background jobs do not provide interactive input to the parent session. For example, checking the job in the following command gives a state of Blocked.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {Read-Host 'Data please: ';Read-Host 'More data: '}&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_4-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_4-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_4-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_4-f.jpg 1280w" alt="background job blocked state" height="138" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;A PowerShell background job shows its state as Blocked, which prevents interactive input. 
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;To pass data to a job, you can use the &lt;span style="font-family: courier new, courier, monospace;"&gt;-ArgumentList&lt;/span&gt; parameter and a scriptblock that has a &lt;span style="font-family: courier new, courier, monospace;"&gt;param()&lt;/span&gt; block.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {param($string)Write-Host $string} -ArgumentList 'Output from job'&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;This screenshot shows the output from the string in the &lt;span style="font-family: courier new, courier, monospace;"&gt;-ArgumentList&lt;/span&gt;&lt;b&gt; &lt;/b&gt;parameter was passed and handled by the job.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_5-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_5-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_5-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_5-f.jpg 1280w" alt="background job data" height="113" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The PowerShell code shows how to send data to a background job.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Error handling also needs to be considered. If a stopping error occurs, the job fails. For example, if you run the following simple script and then query the job, it returns a Failed&lt;b&gt; &lt;/b&gt;state.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {Throw 'error'}
Get-Job -Id 14&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_6-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_6-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_6-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_6-f.jpg 1280w" alt="check for background jobs errors" height="137" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Check for errors with jobs using the Get-Job cmdlet.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Therefore, it is important to handle any errors and to only force the script to stop on errors if that is the desired behavior.&lt;/p&gt;
 &lt;p&gt;One approach to make this process significantly easier is to debug the script in an interactive session, paying attention to input, output and errors, and then add steps to log to a file to track execution information. The logging can include simple checkpoints to denote which sections of the script were executed or can take a more comprehensive approach that logs errors and object properties.&lt;/p&gt;
&lt;/section&gt;             
&lt;section class="section main-article-chapter" data-menu-title="How to handle data from PowerShell background jobs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to handle data from PowerShell background jobs&lt;/h2&gt;
 &lt;p&gt;PowerShell is not a &lt;a href="https://www.techtarget.com/whatis/definition/strongly-typed"&gt;strongly typed programming language&lt;/a&gt;. This might not be a problem, but it is something to be aware of when working across different execution contexts. Objects returned from background jobs go through a serialization and deserialization process, which affects the functionality.&lt;/p&gt;
 &lt;p&gt;Receiving data from a background job is almost as easy as receiving data from any other cmdlet in PowerShell. Use &lt;span style="font-family: courier new, courier, monospace;"&gt;Receive-Job&lt;/span&gt; to collect data output. For example, the following PowerShell command gets the file object.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Start-Job -ScriptBlock {Get-Item C:\tmp\test.txt} | Wait-Job | Receive-Job&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_7-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_7-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_7-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_7-f.jpg 1280w" alt="output file details" height="123" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The PowerShell command checks the file and outputs the file details.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The returned object looks like a legitimate &lt;span style="font-family: courier new, courier, monospace;"&gt;FileInfo&lt;/span&gt; object, but double-check with the following code, which checks the type.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$file = Start-Job -ScriptBlock {Get-Item C:\tmp\test.txt} | Wait-Job | Receive-Job
$file.GetType()&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_8-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_8-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_8-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_8-f.jpg 1280w" alt="object type check" height="90" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The code creates a background job to get file information and then displays the object type.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;If you do the same thing in the interactive session, then you get the expected type.&lt;br&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$file = Get-Item C:\tmp\test.txt
$file.GetType()&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_9-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_9-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_9-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_9-f.jpg 1280w" alt="checking object type" height="93" width="558"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The same code from the interactive session returns a different object type.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The results differ because PowerShell serializes the object and then deserializes the object when returning it from a background job. The properties or data are preserved, but the methods -- actions or functions invoked with parentheses -- are not available.&lt;/p&gt;
 &lt;p&gt;For example, these commands work in an interactive session but don't work if you receive the &lt;span style="font-family: courier new, courier, monospace;"&gt;FileInfo&lt;/span&gt; object from a job, as shown here.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_10-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_10-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_10-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_10-f.jpg 1280w" alt="objects from background jobs" height="116" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;While objects from jobs appear similar to those obtained directly, those returned from a background job lose their methods and limit their functionality.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;A background job is ideal for use with data-only objects, such as &lt;span style="font-family: courier new, courier, monospace;"&gt;PSCustomObject&lt;/span&gt;.&lt;/p&gt;
&lt;/section&gt;               
&lt;section class="section main-article-chapter" data-menu-title="How to scale PowerShell background jobs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to scale PowerShell background jobs&lt;/h2&gt;
 &lt;p&gt;While running a single PowerShell task in the background is helpful, the real benefit comes by running &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/PowerShell-commands-to-copy-files-Basic-to-advanced-methods"&gt;several background jobs concurrently&lt;/a&gt;, especially when time is of the essence.&lt;/p&gt;
 &lt;p&gt;For example, maybe you need to run &lt;span style="font-family: courier new, courier, monospace;"&gt;gpupdate&lt;/span&gt; to apply Group Policy changes on all your servers ASAP. With a &lt;span style="font-family: courier new, courier, monospace;"&gt;foreach&lt;/span&gt; loop and no background jobs, this task runs on each server sequentially as in the following PowerShell script.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$servers = Get-ADComputer -filter {OperatingSystem -like "*Windows Server*"}
foreach ($server in $servers) {
Invoke-Command -ComputerName $Server.Name -ScriptBlock {
gpupdate.exe /force
}
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The script processes each server sequentially, performing the update on a server before it moves to the next. For an enterprise with hundreds or thousands of servers, this procedure could take a long time.&lt;/p&gt;
 &lt;p&gt;However, with background jobs, PowerShell can complete this quickly.&lt;/p&gt;
 &lt;p&gt;The first idea might be to use the &lt;span style="font-family: courier new, courier, monospace;"&gt;-AsJob&lt;/span&gt; parameter on &lt;span style="font-family: courier new, courier, monospace;"&gt;Invoke-Command&lt;/span&gt; and end up with the following.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$servers = Get-ADComputer -filter {OperatingSystem -like "*Windows Server*"}
foreach ($server in $servers) {
Invoke-Command -ComputerName $Server.Name -AsJob -ScriptBlock {
gpupdate.exe /force
}
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Due to job overhead and depending on the number of servers, this script could overload the local machine. You can manage this by &lt;a href="https://www.techtarget.com/searchitoperations/tutorial/Build-a-PowerShell-performance-monitoring-script-step-by-step"&gt;monitoring the number of jobs&lt;/a&gt; running with the following command:&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;(Get-Job -State Running).Count&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The number of jobs that can be run simultaneously varies depending on the host system, but a good place to start for a simple script like this might be 20. Let's update the script accordingly and have it sleep for five seconds if the count is 20 or greater to prevent system overload.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$servers = Get-ADComputer -filter {OperatingSystem -like "*Windows Server*"}
foreach ($server in $servers) {
while ((Get-Job -State "Running").Count -ge 20) {
Start-Sleep -Seconds 5
}
Invoke-Command -ComputerName $Server.Name -AsJob -ScriptBlock {
gpupdate.exe /force
}
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Now, you have a solution to apply Group Policy changes to all servers in AD in a quick and scalable fashion. Before running a script like this in your environment, properly source your servers. For example, you may have an &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/organizational-unit-OU"&gt;organizational unit&lt;/a&gt; that you can use with the &lt;span style="font-family: courier new, courier, monospace;"&gt;-SearchBase&lt;/span&gt; parameter to target specific servers rather than all of them.&lt;/p&gt;
 &lt;p&gt;Be aware that using &lt;span style="font-family: courier new, courier, monospace;"&gt;Invoke-Command&lt;/span&gt; with the &lt;span style="font-family: courier new, courier, monospace;"&gt;-AsJob&lt;/span&gt;&lt;b&gt; &lt;/b&gt;parameter technically initiates a RemoteJob, not a BackgroundJob. However, a RemoteJob is handled in the same way as a BackgroundJob, so &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Job&lt;/span&gt;,&lt;b&gt; &lt;/b&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;Wait-Job&lt;/span&gt;&lt;b&gt; &lt;/b&gt;and&lt;b&gt; &lt;/b&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;Receive-Job&lt;/span&gt; still work with this method.&lt;/p&gt;
&lt;/section&gt;              
&lt;section class="section main-article-chapter" data-menu-title="How to work with data at scale with background jobs"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to work with data at scale with background jobs&lt;/h2&gt;
 &lt;p&gt;After running many jobs, it can be daunting to track the state of each of them, especially in the previous example where the script ran a &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Automate-Active-Directory-jobs-with-PowerShell-scripts"&gt;command on every server in AD&lt;/a&gt;. To track status on a per-job basis, you can give each of them meaningful names in several ways:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;-Name&lt;/span&gt; parameter in &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Job&lt;/span&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;-JobName&lt;/span&gt; parameter in &lt;span style="font-family: courier new, courier, monospace;"&gt;Invoke-Command&lt;/span&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;Location&lt;/span&gt; property on the job itself.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;If you are running a group of jobs that target specific resources, folders in file shares or IP addresses on a network, then you can track that information by using the &lt;span style="font-family: courier new, courier, monospace;"&gt;-Name&lt;/span&gt; parameter in &lt;span style="font-family: courier new, courier, monospace;"&gt;Start-Job&lt;/span&gt;.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$fileShares = Get-Content C:\temp\fileshares.txt
foreach ($share in $fileShares) {
Start-Job -Name $share -ScriptBlock {
param($share)
# do something with $share
} -ArgumentList $share
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Running &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Job&lt;/span&gt;&lt;b&gt; &lt;/b&gt;shows the name of the share for each job.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_11-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_11-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_11-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_11-f.jpg 1280w" alt="-Name parameter" height="87" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Using the -Name parameter displays the status of the background jobs.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Or, if you are working with a RemoteJob, as in the gpupdate example, you could either use the &lt;span style="font-family: courier new, courier, monospace;"&gt;-JobName&lt;/span&gt;&lt;b&gt; &lt;/b&gt;parameter or the &lt;span style="font-family: courier new, courier, monospace;"&gt;Location&lt;/span&gt; property. For example, when running a job on a remote system, the name of the remote host in the &lt;span style="font-family: courier new, courier, monospace;"&gt;Location&lt;/span&gt; property appears after running the following PowerShell command.&lt;br&gt;&lt;br&gt;&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Invoke-Command -AsJob -ScriptBlock {write-host 'yes'} -ComputerName dc.domain.local&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ah_psjobs_12-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ah_psjobs_12-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ah_psjobs_12-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ah_psjobs_12-f.jpg 1280w" alt="background jobs location property" height="68" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Target specific resources in background jobs by using the location property.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;That enables you to easily run a &lt;a target="_blank" href="https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/get-job?view=powershell-7.5" rel="noopener"&gt;report&lt;/a&gt; on the status of each job in a scalable fashion, such as the following example.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$report = while ((Get-Job -HasMoreData $true).Count -gt 0) {
foreach ($job in (Get-Job -HasMoreData $true)) {
[pscustomobject]@{
Share = $job.Name
JobState = $job.State
Data = Receive-Job -Job $job
}
}
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;If you have long-running jobs, then you might need to wait for them to finish before running the report.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Anthony Howell is an IT strategist with extensive experience in infrastructure and automation technologies. His expertise includes PowerShell, DevOps, cloud computing, and working in both Windows and Linux environments.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>When you need a PowerShell script to execute as quickly as possible, try this native feature to run multiple jobs in parallel to overcome processing bottlenecks.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/keyboard_g1140860048.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tutorial/Try-these-PowerShell-Start-Job-examples-for-more-efficiency</link>
            <pubDate>Mon, 02 Jun 2025 09:00:00 GMT</pubDate>
            <title>PowerShell background jobs unlock scripting performance</title>
        </item>
        <item>
            <body>&lt;p&gt;The Windows Management Instrumentation Command-line (WMIC) utility is a command-line interface (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/command-line-interface-CLI"&gt;CLI&lt;/a&gt;) for working with Windows Management Instrumentation (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Windows-Management-Instrumentation"&gt;WMI&lt;/a&gt;), a Web-Based Enterprise Management (WBEM) framework for accessing and managing information about Windows computers in enterprise environments.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is the purpose of WMIC?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the purpose of WMIC?&lt;/h2&gt;
 &lt;p&gt;The main purpose of WMIC (Wmic.exe) is to provide a user-friendly CLI that allows &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Windows"&gt;Windows&lt;/a&gt; local system admins to access WMI. WMIC is fully compatible with existing shells and utility commands. Admins can use many prebuilt commands at the WMIC command prompt to do everything from the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Determine what aliases are available for WMIC.&lt;/li&gt; 
  &lt;li&gt;List all the processes on specified computers where the ProcessID is greater than a certain number.&lt;/li&gt; 
  &lt;li&gt;Add to the list of nodes from which information is to be retrieved.&lt;/li&gt; 
  &lt;li&gt;Retrieve properties or call on a defined method.&lt;/li&gt; 
  &lt;li&gt;Perform specific actions using verbs like &lt;i&gt;Assoc&lt;/i&gt; (to show the associations that the Administrators group has with the system), &lt;i&gt;Create&lt;/i&gt; (to add a variable with a specific name and set its value to a folder below the Program Files folder), &lt;i&gt;Delete&lt;/i&gt; (to delete an environment variable), &lt;i&gt;List&lt;/i&gt; (to show data, such as system properties, object status or instance paths), and &lt;i&gt;Get&lt;/i&gt; (to return the boot-partition &lt;a href="https://www.techtarget.com/whatis/definition/Boolean"&gt;Boolean&lt;/a&gt; description string).&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Benefits of WMIC"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of WMIC&lt;/h2&gt;
 &lt;p&gt;Without WMIC, do-it-yourself systems management with WMI can be very difficult. One reason is that system admins would need to know a programming language like &lt;a href="https://www.techtarget.com/searchdatamanagement/definition/C"&gt;C++&lt;/a&gt; or a &lt;a href="https://www.techtarget.com/whatis/definition/scripting-language"&gt;scripting language&lt;/a&gt; like VBScript to write scripts. These scripts would be needed to gather information by means of WMI. But with WMIC, admins don't have to write scripts. Instead, they can use the utility on a local machine regardless of WMI namespace permissions to obtain management data from remote computers with WMI.&lt;/p&gt;
 &lt;p&gt;The WMIC utility also eliminates the need to use WMI-based applications, the WMI Scripting API or tools to manage WMI-enabled computers. It provides a simple and intuitive way, plus batch scripts to extend WMI for operation from several command-line interfaces.&lt;/p&gt;
 &lt;p&gt;Admins don't need to understand the WMI namespace to use WMIC. They can use the utility on local machines regardless of WMI namespace permissions. WMIC makes DIY systems management less complex by using &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/How-to-find-and-customize-your-PowerShell-profile"&gt;&lt;i&gt;aliases&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt; An alias refers to a simple renaming of a class, property or method. Aliases take simple commands entered at the WMIC command line and then act on the WMI namespace in a predefined manner. By functioning as user-friendly syntax intermediaries between the user (admin) and the WMI namespace, aliases in WMIC make it easier for admins to use and read WMI for accessing management information.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="How does WMI work?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How does WMI work?&lt;/h2&gt;
 &lt;p&gt;WMI is Microsoft's implementation of WBEM -- a set of management specifications for defining how resources in &lt;a href="https://www.techtarget.com/searchitoperations/The-definitive-guide-to-enterprise-IT-monitoring"&gt;enterprise computing environments&lt;/a&gt; can be discovered, accessed and manipulated. WMI is also based on the Common Information Model (&lt;a href="https://www.techtarget.com/searchstorage/definition/Common-Information-Model"&gt;CIM&lt;/a&gt;), a computer industry standard for representing systems, devices, applications and other managed components. The CIM standard lets &lt;a href="https://www.techtarget.com/searchnetworking/definition/system-administrator"&gt;system administrators&lt;/a&gt; and management programs control devices and applications from multiple manufacturers or sources in the same way.&lt;/p&gt;
 &lt;p&gt;WMI provides users with information about the status of local or remote computer systems and supports the following actions:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Establish a connection to a remote computer to obtain data about it, such as its &lt;a href="https://www.techtarget.com/whatis/definition/domain"&gt;domain&lt;/a&gt; or currently logged-on user.&lt;/li&gt; 
  &lt;li&gt;Control hardware or software.&lt;/li&gt; 
  &lt;li&gt;Get information about a hardware component, such as its properties, presence or state.&lt;/li&gt; 
  &lt;li&gt;Get information about the hardware state or logical volume of a disk drive.&lt;/li&gt; 
  &lt;li&gt;Get information about software or operating system, i.e., its version.&lt;/li&gt; 
  &lt;li&gt;Get event notifications.&lt;/li&gt; 
  &lt;li&gt;Add a new printer connection for a remote computer.&lt;/li&gt; 
  &lt;li&gt;Find all the installed hotfixes on a specific computer.&lt;/li&gt; 
  &lt;li&gt;Back up or clear log files.&lt;/li&gt; 
  &lt;li&gt;Get event data from NT Event log files.&lt;/li&gt; 
  &lt;li&gt;Change file or folder properties.&lt;/li&gt; 
  &lt;li&gt;Create (or modify) registry keys and values.&lt;/li&gt; 
  &lt;li&gt;Access (or refresh) data about computer performance.&lt;/li&gt; 
  &lt;li&gt;Create processes and get information related to a running process, such as the account under which it is running.&lt;/li&gt; 
  &lt;li&gt;Get information about scheduled tasks and implemented services.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The WMIC utility provides an interface to WMI that makes it easy to access information and perform administrative functions. To obtain any of the data listed above, admins can write a script or application in a language like C++, &lt;a href="https://www.techtarget.com/whatis/definition/C-Sharp"&gt;C#&lt;/a&gt; or WMI .NET. The other option is to use the WMIC utility, which makes it easy to access WMI for the above tasks. It provides an interface to WMI that makes it easy to access information and perform administrative functions without having to write a script.&lt;/p&gt;
 &lt;p&gt;To supply data to WMI, admins need to write a WMI COM provider. They can do this with the WMI ATL Wizard in &lt;a href="https://www.techtarget.com/searchsoftwarequality/news/366585953/Microsoft-Visual-Studio-Azure-updates-target-AI-developers"&gt;Visual Studio&lt;/a&gt; or by using COM directly in any integrated development environment (&lt;a href="https://www.techtarget.com/searchsoftwarequality/definition/integrated-development-environment"&gt;IDE&lt;/a&gt;). A simpler method is to create a managed code provider by using WMI in the &lt;a href="https://www.techtarget.com/whatis/definition/NET-Framework"&gt;.NET Framework&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="WMIC modes of operation"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;WMIC modes of operation&lt;/h2&gt;
 &lt;p&gt;WMIC operates in two modes: &lt;i&gt;interactive&lt;/i&gt; and &lt;i&gt;noninteractive&lt;/i&gt;.&lt;/p&gt;
 &lt;h3&gt;Interactive mode&lt;/h3&gt;
 &lt;p&gt;Users can use WMIC in interactive mode when they first start WMIC. When WMIC starts in interactive mode, the default WMIC role is &lt;b&gt;Root\cli. &lt;/b&gt;Once Windows installs the utility on the computer, the user will see the WMIC command prompt, wmic:root\cli&amp;gt;. Then, they can enter &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/What-do-admins-need-to-know-about-the-CLI-for-Microsoft-365"&gt;a relevant command&lt;/a&gt; on one line. After one command runs, the WMIC command prompt will reappear, and the user can insert new comments (again, on one line).&lt;/p&gt;
 &lt;p&gt;Once in interactive mode, the user can run WMIC commands without specifying the wmic keyword at the beginning of each command. The user remains in this mode until they specifically exit from it by entering the &lt;i&gt;Quit&lt;/i&gt; or &lt;i&gt;Exit&lt;/i&gt; commands. The interactive mode is most useful if the user needs to enter a series of WMIC commands.&lt;/p&gt;
 &lt;p&gt;Here's how to run WMIC in interactive mode:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;Click &lt;b&gt;Start&lt;/b&gt; &amp;gt; &lt;b&gt;Run&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Type &lt;b&gt;WMIC&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Press &lt;b&gt;ENTER&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;Type the alias, command or global switch that WMIC is to perform.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;h3&gt;Noninteractive mode&lt;/h3&gt;
 &lt;p&gt;WMIC can also be used in noninteractive mode. In this mode, the WMIC command prompt disappears after WMIC performs a previously entered command. This mode is useful for carrying out one-off tasks or when including WMIC commands in a &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/batch-file"&gt;batch file&lt;/a&gt; (doing this removes the need to retype command sequences in order to repeat common tasks).&lt;/p&gt;
 &lt;p&gt;The WMIC interactive mode can be invoked at a Terminal command prompt just like other commands. A user can invoke WMIC noninteractive mode by preceding the WMIC command with the utility's name. For example, Figure 1 shows a WMIC command at a command prompt in &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/What-admins-should-know-about-Microsoft-Windows-Terminal"&gt;Windows Terminal&lt;/a&gt;. This command retrieves information about currently running processes that are named RuntimeBroker.exe.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_1-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_1-f.jpg 1280w" alt="Screenshot of a WMIC command." height="191" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The WMIC command retrieves information about currently running processes that are named RuntimeBroker.exe.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The command begins with the wmic keyword -- the utility's name -- followed by the command body. The body starts with the alias process. Aliases play an integral role in the WMIC utility. They provide friendly names that abstract the more complex underlying logic needed to retrieve WMI information and carry out administrative tasks. In this case, the process alias is used to retrieve a list of specific &lt;a href="https://www.techtarget.com/whatis/definition/process"&gt;processes&lt;/a&gt;, as qualified by the WHERE option and its name value.&lt;/p&gt;
 &lt;p&gt;The process alias and its WHERE option are then followed by the verb list, which is one of multiple verbs WMIC supports. A verb carries out some type of action. In this context, the list verb returns information about the specified processes. The verb is also accompanied by the brief option, which tells WMI to return only a subset of the available information about each process.&lt;/p&gt;
 &lt;p&gt;When a user runs a WMIC command in noninteractive mode, they're returned to the command prompt after the command has completed. However, if they want to work interactively with WMIC, they should type &lt;b&gt;wmic&lt;/b&gt; at the command prompt and press &lt;b&gt;Enter&lt;/b&gt;. The command prompt changes to wmic:root\cli, as shown in Figure 2.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_2-f.jpg 1280w" alt="Screenshot of command prompt changes." height="204" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Once a user types wmic at the command prompt and presses Enter, the command prompt changes to wmic:root\cli.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Here's how to run WMIC in noninteractive mode:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;Open Command prompt.&lt;/li&gt; 
  &lt;li&gt;Here, type &lt;b&gt;WMIC&lt;/b&gt;.&lt;/li&gt; 
  &lt;li&gt;Type the command, aliases or global switches WMIC should perform.&lt;/li&gt; 
  &lt;li&gt;Press &lt;b&gt;ENTER&lt;/b&gt;.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Another option for running WMIC is to invoke the utility directly in the Run dialog box. This method is available locally or through a .NET Server Terminal Services session. After the user opens the dialog box, they can type &lt;b&gt;wmic&lt;/b&gt; in the text box and click &lt;b&gt;OK&lt;/b&gt;. This launches a Terminal window with the WMIC command prompt active, where they can enter commands, as shown in Figure 3.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/sheldon_wmic_screenshot_3-f.jpg 1280w" alt="Screenshot of a Run dialog box." height="196" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Users can run WMIC by invoking the utility directly in the Run dialog box.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;                   
&lt;section class="section main-article-chapter" data-menu-title="WMIC commands list"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;WMIC commands list&lt;/h2&gt;
 &lt;p&gt;Admins can choose from numerous WMIC commands to easily access and use WMI and the WMI namespace. Commonly used commands include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;CLASS.&lt;/b&gt; To escape from WMIC's default alias mode to directly access &lt;i&gt;classes&lt;/i&gt; in the WMI schema.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;PATH.&lt;/b&gt; To escape from WMIC's default alias mode to directly access &lt;a href="https://www.techtarget.com/whatis/definition/instance"&gt;&lt;i&gt;instances&lt;/i&gt;&lt;/a&gt; in the WMI schema.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;CONTEXT.&lt;/b&gt; To display the current values of all global switches.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;QUIT.&lt;/b&gt; To exit from WMIC.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;EXIT.&lt;/b&gt; To exit from WMIC.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;In addition to commands, WMIC uses global switches, aliases, verbs and Command-line Help. Global switches are settings that apply to the entire WMIC session, aliases are the syntax intermediaries between users and the WMI namespace, and verbs are the specific actions a user wants WMI to take.&lt;/p&gt;
 &lt;p&gt;Users can get help on individual WMIC elements by using the &lt;a href="https://www.techtarget.com/whatis/post/CLI-commands-every-IT-pro-should-know"&gt;Command-line Help&lt;/a&gt;. Specific characters must be typed at a WMIC command prompt to find specific information. For example, they can review a complete list of aliases and global switches by entering /? or -? at the command prompt, or get information about a specific alias by entering the alias name, followed by /? Similarly, &amp;lt;command_name&amp;gt; /? will show information about one command while &amp;lt;alias_name&amp;gt; /? will show information about one alias.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Is WMIC still used?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Is WMIC still used?&lt;/h2&gt;
 &lt;p&gt;Microsoft &lt;a href="https://www.techtarget.com/whatis/definition/deprecated"&gt;deprecated&lt;/a&gt; the WMIC utility beginning with versions 21H1 of &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-10"&gt;Windows 10&lt;/a&gt; and the 21H1 semi-annual release of Windows Server. It has been superseded by Windows &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/PowerShell"&gt;PowerShell&lt;/a&gt; for WMI. For that reason, administrators will want to invest their time in PowerShell for WMI. However, they might need to understand WMIC if working with legacy systems or WMIC scripts, in which case, having some knowledge of the utility could be useful.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/C6HdheMRyPw?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;It's important to note that only the WMIC utility has been deprecated. WMI remains unchanged and can still be used to obtain management data about managed &lt;a href="https://www.techtarget.com/whatis/definition/component"&gt;components&lt;/a&gt; like systems, applications, networks and devices. Enterprise admins can also use Windows Management Infrastructure (MI), the next generation of WMI to remotely manage Windows computer systems.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;The Windows Command Prompt and PowerShell can perform similar tasks, but their methods might influence users to prefer one over the other. &lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>The Windows Management Instrumentation Command-line (WMIC) utility is a command-line interface (CLI) for working with Windows Management Instrumentation (WMI), a Web-Based Enterprise Management (WBEM) framework for accessing and managing information about Windows computers in enterprise environments.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/searchenterprisedesktop/definition/Windows-Management-Instrumentation-Command-line-WMIC</link>
            <pubDate>Fri, 25 Apr 2025 12:11:00 GMT</pubDate>
            <title>What is the Windows Management Instrumentation Command-line (WMIC) utility?</title>
        </item>
        <item>
            <body>&lt;p&gt;Copying files between folders, drives and machines can be a waste of your time if you do it manually on a regular basis. A bit of PowerShell know-how automates this tedious process and even handles the most complex situations.&lt;/p&gt; 
&lt;p&gt;Once you understand the parameters associated with the &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; command and how they work together, you can produce comprehensive scripts with more advanced &lt;span style="font-family: courier new, courier, monospace;"&gt;&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/PowerShell"&gt;PowerShell&lt;/a&gt;&lt;/span&gt; commands to copy files and directories.&lt;/p&gt; 
&lt;p&gt;The examples in this article work on both Windows PowerShell and PowerShell 7.&lt;/p&gt; 
&lt;p&gt;PowerShell has providers -- .NET programs that expose the data in a data store for viewing and manipulation -- and a set of &lt;a href="https://www.techtarget.com/searchdatacenter/feature/Build-your-PowerShell-command-cheat-sheet-with-these-basics"&gt;generic cmdlets&lt;/a&gt; that work across providers.&lt;/p&gt; 
&lt;p&gt;These include the following cmdlets:&lt;/p&gt; 
&lt;ul class="default-list"&gt; 
 &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;*-Item&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;*-ItemProperty&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;*-Content&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;*-Path&lt;/span&gt;&lt;/li&gt; 
 &lt;li&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;*-Location&lt;/span&gt;&lt;/li&gt; 
&lt;/ul&gt; 
&lt;p&gt;With a default installation of PowerShell or Windows PowerShell, you can use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; cmdlet to copy files, registry keys and variables. This is facilitated by the provider feature that enables interaction with different content types with the same command. Some modules include custom providers, such as the &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/Set-up-users-with-key-PowerShell-Active-Directory-commands"&gt;AD module&lt;/a&gt;, which enable you to use those generic cmdlets in the AD data they expose. Run the following command to see the PowerShell providers in your PowerShell session.&lt;/p&gt; 
&lt;pre class="language-powershell"&gt;&lt;code&gt;Get-PsProvider&lt;/code&gt;&lt;/pre&gt; 
&lt;p&gt;For example, these are the providers available in the &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Why-you-should-consider-an-upgrade-from-PowerShell-51-to-7"&gt;PowerShell 7 session&lt;/a&gt; on my Windows 11 machine.&lt;/p&gt; 
&lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-1-f.jpg"&gt;
 &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-1-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-1-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-1-f.jpg 1280w" alt="PowerShell providers" height="156" width="559"&gt;
 &lt;figcaption&gt;
  &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use the Get-PsProvider cmdlet to list the available PowerShell providers in the current session.
 &lt;/figcaption&gt;
 &lt;div class="main-article-image-enlarge"&gt;
  &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
 &lt;/div&gt;
&lt;/figure&gt; 
&lt;section class="section main-article-chapter" data-menu-title="How do you use the Copy-Item command?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How do you use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; command?&lt;/h2&gt;
 &lt;p&gt;The simplest form of &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; involves a source path and a destination path. To use the FileSystem provider, specify the paths by starting with a drive letter and a colon on Windows or a forward slash on Linux.&lt;/p&gt;
 &lt;p&gt;Using &lt;span style="font-family: courier new, courier, monospace;"&gt;.\&lt;/span&gt; or &lt;span style="font-family: courier new, courier, monospace;"&gt;./&lt;/span&gt; to represent the current directory infers the current path based on the current working directory, which doesn't have to be a FileSystem provider path. You can always check your current working directory with the &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-Location&lt;/span&gt; command.&lt;/p&gt;
 &lt;p&gt;The example in the following PowerShell command copies a single file located at the &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt; parameter to the location specified in the &lt;span style="font-family: courier new, courier, monospace;"&gt;Destination&lt;/span&gt; parameter.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\source\path\file.txt -Destination D:\dest\path\text.txt&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;To use a shorter command, PowerShell offers several aliases for its major cmdlets. The following command shows the three aliases -- &lt;span style="font-family: courier new, courier, monospace;"&gt;copy&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;cp&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;cpi&lt;/span&gt; -- for the &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; cmdlet.&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-Alias -Definition Copy-Item&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-2-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-2-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-2-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-2-f.jpg 1280w" alt="Get-Alias command" height="147" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Get-Alias command shows how to find the aliases for a cmdlet.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;In &lt;a href="https://www.techtarget.com/searchitoperations/tutorial/How-and-why-PowerShell-Linux-commands-differ-from-Windows"&gt;PowerShell on Linux&lt;/a&gt;, the &lt;span style="font-family: courier new, courier, monospace;"&gt;cp&lt;/span&gt; alias does not exist since there is an existing Linux command called &lt;span style="font-family: courier new, courier, monospace;"&gt;cp&lt;/span&gt;.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="How can you use PowerShell commands to copy files?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How can you use PowerShell commands to copy files?&lt;/h2&gt;
 &lt;p&gt;To show how the various &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; parameters work, create a test file with the following command.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-Process | Out-File -FilePath c:\test\p1.txt&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Use this command to copy a file with the &lt;span style="font-family: courier new, courier, monospace;"&gt;Destination&lt;/span&gt; parameter. You do not specify a file name in the &lt;span style="font-family: courier new, courier, monospace;"&gt;Destination&lt;/span&gt; parameter. In this case, it uses the original file name of p1.txt.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; command does not display any message or confirmation when a copy operation is successful, which can be confusing for new users.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-3-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-3-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-3-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-3-f.jpg 1280w" alt="Copy-Item cmdlet" height="87" width="558"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Copy-Item cmdlet does not show the results of the operation.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;To take advantage of both the command's alias and position parameters, specify the source and destination in order.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy C:\test\p1.txt C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Alias use in saved scripts isn't considered best practice and should be avoided for the most part.&lt;/p&gt;
 &lt;p&gt;To get feedback from &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt;, use the &lt;span style="font-family: courier new, courier, monospace;"&gt;PassThru&lt;/span&gt; parameter. This feature returns objects for each of the items that were copied. It's a helpful tool to confirm the command performed properly.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\ -PassThru&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-4-g.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-4-g_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-4-g_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-4-g.jpg 1280w" alt="PassThru parameter output" height="126" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The PassThru parameter output shows if the command ran as expected.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The other option to see the results from the &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; command is to use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Verbose&lt;/span&gt; parameter.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\ -Verbose&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-5-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-5-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-5-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-5-f.jpg 1280w" alt="Verbose parameter output" height="42" width="554"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Verbose parameter provides detailed output when running a PowerShell command.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Verbose&lt;/span&gt; parameter displays information as the command executes, while the &lt;span style="font-family: courier new, courier, monospace;"&gt;PassThru&lt;/span&gt; parameter gives the resulting file object.&lt;/p&gt;
 &lt;p&gt;By default, PowerShell overwrites the file if a file with the same name exists in the target folder. If the file in the target directory is set to read-only, you get an error.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-6-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-6-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-6-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-6-f.jpg 1280w" alt="read-only error" height="86" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Copy-Item cmdlet returns an error if the file in the destination exists and is set to read-only.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;You need to be a PowerShell Jedi to avoid this error by using the &lt;span style="font-family: courier new, courier, monospace;"&gt;Force&lt;/span&gt; parameter.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\ -Force&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;PowerShell can rename files as part of the copy process. For example, this code creates nine copies of the p1.txt file called p2.txt through p10.txt.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;2..10 | Foreach-Object {
&amp;nbsp;$newname = "p$_.txt"
&amp;nbsp;Copy-Item -Path C:\test\p1.txt -Destination C:\test2\$newname
Verbose
}&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-7-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-7-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-7-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-7-f.jpg 1280w" alt="renaming files during copy process" height="209" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Using the Foreach-Object cmdlet with the Copy-Item cmdlet renames the file copies automatically.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;In this case, the &lt;span style="font-family: courier new, courier, monospace;"&gt;..&lt;/span&gt; operator creates an array of integers from two to 10. Then, for each of those integers, the code creates a file with the new name.&lt;/p&gt;
&lt;/section&gt;                           
&lt;section class="section main-article-chapter" data-menu-title="How to use PowerShell commands to copy multiple files or folders"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use PowerShell commands to copy multiple files or folders&lt;/h2&gt;
 &lt;p&gt;There are a few techniques to copy multiple files or folders when using PowerShell.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\*.txt -Destination C:\test2\
Copy-Item -Path C:\test\* -Filter *.txt -Destination C:\test2\
Copy-Item -Path C:\test\* -Include *.txt -Destination C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;These commands copy all the .txt files from the test folder to the test2 folder, but the &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; parameter lets PowerShell be more selective. For example, this command only copies files with a 6 in the file name.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\* -Include *6*.txt -Destination C:\test2\ -PassThru&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-8-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-8-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-8-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-8-f.jpg 1280w" alt="Include parameter in PowerShell" height="147" width="558"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Copy-Item cmdlet with the Include parameter specifies which files to copy.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; has an &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameter to reject certain files from the copy operation. This PowerShell command only copies text files that start with the letter p unless there is a 7 in the name.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\* -Filter p*.txt -Exclude *7*.txt -Destination C:\test2\ -PassThru&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-9-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-9-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-9-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-9-f.jpg 1280w" alt="Exclude parameter in PowerShell" height="207" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Customize the PowerShell commands to copy files from a folder if they begin with a certain letter but ignore them if they contain a particular character.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="How to use the Path, Filter, Include and Exclude parameters"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameters&lt;/h2&gt;
 &lt;p&gt;A combination of the &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; or &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameters refines the copy process even further. However, if you use &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; in the same call, &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; is applied after the inclusions.&lt;/p&gt;
 &lt;p&gt;For example, combine &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt;. In this example, the &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt; parameter selects all files in C:\test, the &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt; parameter finds all files that start with the letter p, the &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; parameter specifies only .txt files from that selection and the &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameter eliminates files with 7 in the name.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\* -Filter p* -Include *.txt -Exclude *7* -Destination C:\test2\ -PassThru&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-10-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-10-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-10-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-10-f.jpg 1280w" alt="Include and Exclude parameters" height="203" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Use a combination of the Include and Exclude parameters to add more flexibility to the file copy process.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;You can also supply an array of file names. The path is simplified if your working folder is the source folder for the copy.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path p1.txt,p3.txt,p5.txt -Destination C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt; parameter also accepts pipeline input. In the following example, PowerShell checks the p*.txt files in the C:\test folder to see if the second character is divisible by two. If so, PowerShell copies the file to the C:\test2 folder.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-ChildItem -Path C:\test\p*.txt | Where-Object
{(($_.BaseName).Substring(1,1) % 2 ) -eq 0} |

Copy-Item -Destination C:\test2\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;If you end up with a folder or file name that contains wildcard characters -- *, [, ], ? -- use the &lt;span style="font-family: courier new, courier, monospace;"&gt;LiteralPath&lt;/span&gt; parameter instead of the &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt; parameter. &lt;span style="font-family: courier new, courier, monospace;"&gt;LiteralPath&lt;/span&gt; does no interpretation of any wildcard characters and specifies the exact path to an item.&lt;/p&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="How to test the Filter, Include and Exclude parameters"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to test the &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameters&lt;/h2&gt;
 &lt;p&gt;If you are using a complex combination of &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt;, it can be hard to predict what files PowerShell will copy. To test a &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-File&lt;/span&gt; command before executing it, append the &lt;span style="font-family: courier new, courier, monospace;"&gt;WhatIf&lt;/span&gt; parameter to any &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-File&lt;/span&gt; command. PowerShell outputs a description of the operation rather than executing the action.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path C:\test\* -Filter p* -Include *.txt -Exclude *7* -Destination C:\test2\ -PassThru -WhatIf&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-11-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-11-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-11-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-11-f.jpg 1280w" alt="WhatIf parameter" height="239" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The WhatIf parameter helps to troubleshoot a Copy-File command before executing it.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Another method to report on the files is to use &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-ChildItem&lt;/span&gt;, which utilizes the same &lt;span style="font-family: courier new, courier, monospace;"&gt;Path&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Filter&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;Include&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;Exclude&lt;/span&gt; parameters. They function in the same way as with &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt;. Take the same parameters, remove &lt;span style="font-family: courier new, courier, monospace;"&gt;Destination&lt;/span&gt; and apply them to &lt;span style="font-family: courier new, courier, monospace;"&gt;Get-ChildItem&lt;/span&gt;. The command outputs the list of files and folder objects that start with the letter p and have a .txt extension, and it removes any files that have 7 in the file name.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Get-ChildItem -Path C:\test\* -Filter p* -Include *.txt -Exclude *7*&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-12-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-12-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-12-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-12-f.jpg 1280w" alt="Get-ChildItem cmdlet" height="259" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The Get-ChildItem lists files and directories and is another command that can show the results of a copy command before executing it.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Because the command returns the files in an array, you can then work with the file objects and generate a report on the files that would be copied, among other things.&lt;/p&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="How to perform a recursive copy"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to perform a recursive copy&lt;/h2&gt;
 &lt;p&gt;To copy a folder and its entire contents, use the &lt;span style="font-family: courier new, courier, monospace;"&gt;Recurse&lt;/span&gt; parameter.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path c:\test\ -Destination c:\test2\ -Recurse&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;A recursive copy works its way through all the subfolders below the C:\test folder. PowerShell then creates a folder named test in the destination folder and copies the contents of C:\test into it.&lt;/p&gt;
 &lt;p&gt;When copying between machines, you can use &lt;a href="https://www.techtarget.com/whatis/definition/Universal-Naming-Convention-UNC"&gt;Universal Naming Convention&lt;/a&gt; paths to bypass the local machine.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path \\server1\fs1\test\p1.txt -Destination \\server2\arc\test\&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Another option is to use PowerShell commands to copy files over a &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/PowerShell-7-remoting-expands-management-horizons"&gt;remoting session&lt;/a&gt;. The following command prompts the user for the password to the Administrator account on the remote machine named W16ND01. The session object gets stored in the &lt;span style="font-family: courier new, courier, monospace;"&gt;$s&lt;/span&gt; variable, which can be used in ensuing commands to run operations on W16ND01.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$cred = Get-Credential -Credential W16ND01\Administrator
$s = New-PSSession -VMName W16ND01 -Credential $cred&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;In this case, &lt;a href="https://www.techtarget.com/searchwindowsserver/tutorial/How-PowerShell-Direct-helps-polish-off-those-VMs"&gt;use PowerShell Direct&lt;/a&gt; to connect to the remote machine. You need the Hyper-V module loaded to create the remoting session over VMBus. Next, use the following PowerShell commands to copy files to the remote machine.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path c:\test\ -Destination c:\ -Recurse -ToSession $s&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;You can also copy files from the remote machine.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path c:\test\p*.txt -Destination c:\test3\ -FromSession $s&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;ToSession&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;FromSession&lt;/span&gt; parameters control the direction of the copy and whether the source and destination are on the local machine or a remote one. Sending data to a remote machine uses &lt;span style="font-family: courier new, courier, monospace;"&gt;ToSession&lt;/span&gt;, and recieving files from a remote machine uses &lt;span style="font-family: courier new, courier, monospace;"&gt;FromSession&lt;/span&gt;.&lt;/p&gt;
 &lt;p&gt;Unfortunately, &lt;span style="font-family: courier new, courier, monospace;"&gt;ToSession&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;FromSession&lt;/span&gt; cannot be used in the same command, nor are relative paths supported. To copy something from your user account's home directory on one server to another while connecting to both servers via PowerShell remoting, get creative while specifying fully qualified paths.&lt;/p&gt;
 &lt;p&gt;In the code in the following example, the remote file from server1 is copied locally and then copied to server2.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$server1 = New-PSSession -ComputerName server1.domain.com -Credential
$cred
$server2 = New-PSSession -ComputerName server2.domain.com -Credential
$cred
$path = 'C:\Users\user\Downloads\file.zip'
Copy-Item -Path $path -Destination .\file.zip -FromSession $server1
Copy-Item -Path .\file.zip -Destination $path -ToSession $server2&lt;/code&gt;&lt;/pre&gt;
&lt;/section&gt;                
&lt;section class="section main-article-chapter" data-menu-title="How to track the progress of a copy command"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to track the progress of a copy command&lt;/h2&gt;
 &lt;p&gt;A useful addition to &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; is the &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/How-admins-can-benefit-from-switching-to-PowerShell-74"&gt;introduction of a progress bar in PowerShell 7.4&lt;/a&gt;. This feature shows a visual representation of the status of a running command and helps the user estimate how long until the operation completes. This is not supported in Windows PowerShell.&lt;/p&gt;
 &lt;p&gt;The following PowerShell code copies files from the C:\PowerShell folder and its subfolders to the D:\PowerShell folder.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item C:\PowerShell\ D:\PowerShell\ -Recurse&lt;/code&gt;&lt;/pre&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-13-f.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-13-f_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-13-f_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/ahowell-copyfiles-13-f.jpg 1280w" alt="PowerShell progress bar" height="35" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;PowerShell 7.4 introduced a progress bar that can show the status of an ongoing copy command.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The output shows the overall progress of the copy operation in terms of files copied, the total size of data transferred and the current data transfer rate.&lt;/p&gt;
 &lt;p&gt;PowerShell also introduced a &lt;span style="font-family: courier new, courier, monospace;"&gt;ProgressAction&lt;/span&gt; common parameter that can disable the progress bar if speed is of the essence.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item C:\PowerShell\ D:\PowerShell\ -Recurse -ProgressAction SilentlyContinue&lt;/code&gt;&lt;/pre&gt;
&lt;/section&gt;        
&lt;section class="section main-article-chapter" data-menu-title="How to copy files to multiple machines"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to copy files to multiple machines&lt;/h2&gt;
 &lt;p&gt;There are times when a file, such as a configuration file, needs to be copied to multiple remote servers or clients. This is easy enough to do if the machines have PowerShell remoting enabled.&lt;/p&gt;
 &lt;p&gt;First, import the list of computer names. In this example, assume that there is a list of names in a text file, but this could come from an AD query or another source.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$remoteTargets = Get-Content .\names.txt&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Next, store the credentials in a variable.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$cred = Get-Credential&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Next, use a &lt;span style="font-family: courier new, courier, monospace;"&gt;Foreach-Object&lt;/span&gt; loop to take advantage of multithreading in PowerShell 7 with the &lt;span style="font-family: courier new, courier, monospace;"&gt;Parallel&lt;/span&gt; parameter to create a session object, copy the file -- a config.json file -- to the device and close the session.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$remoteTargets | Foreach-Object -Parallel {
&amp;nbsp;&amp;nbsp;&amp;nbsp; $session = New-PSSession -ComputerName $_ -Credential $using:cred
&amp;nbsp;&amp;nbsp; Copy-Item -Path .\config.json -Destination
C:\ProgramData\app\config.json -ToSession $session
Remove-PsSession $session
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Note how the code uses the &lt;span style="font-family: courier new, courier, monospace;"&gt;$using:&lt;/span&gt; syntax to pass the &lt;span style="font-family: courier new, courier, monospace;"&gt;$cred&lt;/span&gt; variable into the &lt;span style="font-family: courier new, courier, monospace;"&gt;Foreach-Object&lt;/span&gt; scriptblock.&lt;/p&gt;
&lt;/section&gt;         
&lt;section class="section main-article-chapter" data-menu-title="How to create backups of a file"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How to create backups of a file&lt;/h2&gt;
 &lt;p&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; is also useful to create backups for items such as configuration files or frequently modified files in a file share. This example places each backup in a dated folder to provide multiple copies.&lt;/p&gt;
 &lt;p&gt;First, define the date string. The frequency of the backup dictates the format. For example, a daily backup has a date string that only includes the year, month and day or YYYYMMDD format. This is also called the &lt;a href="https://www.techtarget.com/whatis/definition/ISO-date-format"&gt;ISO 8601 format&lt;/a&gt; for dates and is recommended due to its relative ease to sort.&lt;/p&gt;
 &lt;p&gt;For a simple daily backup, generate the date string with the following PowerShell code.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$dateStr = Get-Date -Format FileDate&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;This returns a string of the current date as a four-digit year, two-digit month and two-digit day.&lt;/p&gt;
 &lt;p&gt;Next, define the file paths, and create the new directory if needed.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;$source = "C:\ProgramData\app\config.json"
$dest = "D:\Backups\app\$dateStr"
if (-not (Test-Path $dest -PathType Container)) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;New-Item -ItemType "directory" -Path $dest
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;Lastly, copy the file.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;Copy-Item -Path $source -Destination $dest&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;To get the most out of a backup script, schedule it with the Task Scheduler on Windows or as a cron job on Linux.&lt;/p&gt;
&lt;/section&gt;           
&lt;section class="section main-article-chapter" data-menu-title="Use advanced PowerShell techniques to check for errors and resume a copy"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Use advanced PowerShell techniques to check for errors and resume a copy&lt;/h2&gt;
 &lt;p&gt;The &lt;span style="font-family: courier new, courier, monospace;"&gt;Copy-Item&lt;/span&gt; cmdlet lacks error checking or restart capabilities. For those features, you need to write the code.&lt;/p&gt;
 &lt;p&gt;The following script tests the source file path, calculates the file hash, checks for the file's existence and verifies the integrity of the copied file using a hash comparison. The file copy process occurs within a &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/PowerShell-7-features-admins-should-examine"&gt;try/catch block&lt;/a&gt; used for exception handling. If an error occurs, a "File copy failed" message is output.&lt;/p&gt;
 &lt;pre class="language-powershell"&gt;&lt;code&gt;function Copy-FileSafer {
&amp;nbsp;[CmdletBinding()]
&amp;nbsp;param (
&amp;nbsp; &amp;nbsp;[string]$path,
&amp;nbsp; &amp;nbsp;[string]$destinationfolder
&amp;nbsp;)
&amp;nbsp;if (-not (Test-Path -Path $path)) {
&amp;nbsp; &amp;nbsp;throw "File not found: $path"
&amp;nbsp;}
&amp;nbsp;$sourcefile = Split-Path -Path $path -Leaf
&amp;nbsp;$destinationfile = Join-Path -Path $destinationfolder -ChildPath
$sourcefile
&amp;nbsp;$b4hash = Get-FileHash -Path $path
&amp;nbsp;try {
&amp;nbsp;&amp;nbsp; &amp;nbsp;Copy-Item -Path $path -Destination $destinationfolder -ErrorAction
Stop
&amp;nbsp;}
&amp;nbsp;catch {
&amp;nbsp; &amp;nbsp;throw "File copy failed"
&amp;nbsp;}
&amp;nbsp;finally {
&amp;nbsp; &amp;nbsp;$afhash = Get-FileHash -Path $destinationfile
&amp;nbsp; &amp;nbsp;if ($afhash.Hash -ne $b4hash.Hash) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;throw "File corrupted during copy"
&amp;nbsp; &amp;nbsp;}
&amp;nbsp; &amp;nbsp;else {
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Write-Information -MessageData "File copied successfully" -InformationAction Continue
&amp;nbsp; &amp;nbsp;}
&amp;nbsp;}
}&lt;/code&gt;&lt;/pre&gt;
 &lt;p&gt;With additional coding, the script can recursively retry several times. After each copy attempt, the script can &lt;a target="_blank" href="https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.5&amp;amp;viewFallbackFrom=powershell-7.1" rel="noopener"&gt;calculate&lt;/a&gt; the hash of the file and compare it to the original. If they match, all is well. If not, an error is reported.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Anthony Howell is an IT strategist with extensive experience in infrastructure and automation technologies. His expertise includes PowerShell, DevOps, cloud computing, and working in both Windows and Linux environments.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Take a closer look at these Copy-Item coding examples to build advanced PowerShell scripts that copy files with safety measures to ensure the duplicates reach their destinations.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/folder-files13.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/PowerShell-commands-to-copy-files-Basic-to-advanced-methods</link>
            <pubDate>Tue, 15 Apr 2025 09:00:00 GMT</pubDate>
            <title>How to copy files from source to destination in PowerShell</title>
        </item>
        <item>
            <body>&lt;p&gt;Active Directory (AD) is Microsoft's proprietary directory service that enables network admins to manage users, permissions and their access to networking resources. It runs on &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Windows-Server-OS-operating-system"&gt;Windows Server&lt;/a&gt; and stores information about &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/object"&gt;objects&lt;/a&gt;, such as shared network resources, on a corporate network in a logical, hierarchical format. This enables administrators to manage those resources, as well as the users who need to access those resources to get their work done.&lt;/p&gt; 
&lt;p&gt;A &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/domain-controller"&gt;domain controller&lt;/a&gt; is needed to run the AD service. A &lt;a href="https://www.techtarget.com/whatis/definition/domain"&gt;domain&lt;/a&gt; controller is a server running a version of the Windows Server operating system that has Active Directory Domain Services (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Active-Directory-Domain-Services-AD-DS"&gt;AD DS&lt;/a&gt;) installed. By installing AD DS, admins can configure a specific server role for a computer, such as the role of a domain controller.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is the role of Active Directory and what is it used for?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the role of Active Directory and what is it used for?&lt;/h2&gt;
 &lt;p&gt;Active Directory stores data about all the objects on a network. An object is a single element, such as a user, group, application or shared device, such as a server or printer. Objects are normally defined as either resources, such as printers or computers, or security principals, such as users or groups.&lt;/p&gt;
 &lt;p&gt;Active Directory uses a set of rules known as the &lt;i&gt;&lt;a href="https://www.techtarget.com/searchdatamanagement/definition/schema"&gt;schema&lt;/a&gt;&lt;/i&gt; to define object classes and their attributes. The schema also determines the format of each object's name. AD also includes a global catalog that contains information about all the objects. The schema and global catalog make it easy for network admins to identify and manage objects. Also, by storing relevant information about user accounts on a network, such as their names and passwords, AD enables other authorized users and admins on that network to access this information.&lt;/p&gt;
 &lt;p&gt;AD also enables admins, users and applications to publish and find objects and the objects' properties. They can do this via AD's &lt;a href="https://www.techtarget.com/searchdatamanagement/definition/query"&gt;query&lt;/a&gt; and index mechanism. Additionally, AD provides a &lt;a href="https://www.techtarget.com/searchdisasterrecovery/definition/data-replication"&gt;replication&lt;/a&gt; service that has two roles. It ensures that all domain controllers in a network contain a complete copy of all directory information for their domain, and it ensures that any change to the data in the directory is replicated to all domain controllers in the domain. By maintaining replicas of directory data on all domain controllers, the replication service ensures the directory's availability and also optimizes its performance for all users.&lt;/p&gt;
 &lt;figure class="main-article-image half-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/windows_server-active_directory-h.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/windows_server-active_directory-h_half_column_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/windows_server-active_directory-h_half_column_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/windows_server-active_directory-h.png 1280w" alt="what are the services in Active Directory graphic" height="304" width="279"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Microsoft Active Directory provides a variety of services to manage network security and control access to applications and other resources.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="What is Active Directory Domain Services?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is Active Directory Domain Services?&lt;/h2&gt;
 &lt;p&gt;In older versions of Windows Server -- Windows 2000 Server and Windows Server 2003 -- the directory service was named Active Directory. However, from Windows Server 2008 R2 and Windows Server 2008 onward, Microsoft changed the name of the directory service to Active Directory Domain Services.&lt;/p&gt;
 &lt;p&gt;AD DS stores directory information, including information about user accounts. It does this using a &lt;a href="https://www.techtarget.com/whatis/definition/structured-data"&gt;structured data&lt;/a&gt; store known as the &lt;i&gt;directory&lt;/i&gt;. This directory enables the directory information to be organized in a logical and hierarchical format. AD DS also makes directory data available to authorized network users and administrators, allowing them to access it as required.&lt;/p&gt;
 &lt;p&gt;As with AD, AD DS includes a replication system that automatically builds and updates the global catalog server, which is a domain controller. This catalog stores a full, writable replica of all objects and their attributes in a domain, as well as partial, &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Read-only"&gt;read-only&lt;/a&gt; replicas of all the other domains in the &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory-forest-AD-forest"&gt;forest&lt;/a&gt;. Such attribute replication makes it easy for users and admins to search for objects in AD DS.&lt;/p&gt;
 &lt;p&gt;AD DS provides security through built-in sign-in &lt;a href="https://www.techtarget.com/searchsecurity/definition/authentication"&gt;authentication&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchsecurity/definition/access-control"&gt;access control&lt;/a&gt; mechanisms. These mechanisms allow authorized users to access network resources and enable admins to easily manage directory data and organization throughout the network using a single network username and password.&lt;/p&gt;
 &lt;p&gt;To further support network admins, AD DS provides policy-based administration. This enables admins to easily manage even complex networks.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Active Directory modes, protocols and services"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Active Directory modes, protocols and services&lt;/h2&gt;
 &lt;p&gt;Several different services constitute Active Directory. The main service is Domain Services, but Active Directory also has the following other services:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;strong&gt;Active Directory Lightweight Directory Services (AD LDS)&lt;/strong&gt; is an independent mode of AD, meaning it operates independently of AD domains or forests and can be installed without affecting AD. It provides directory services for applications, including a data store, and uses standard application programming interfaces (&lt;a href="https://www.techtarget.com/searchapparchitecture/definition/application-program-interface-API"&gt;APIs&lt;/a&gt;) to access application data. However, it doesn't include AD's infrastructure features.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Lightweight Directory Access Protocol (&lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/LDAP"&gt;LDAP&lt;/a&gt;)&lt;/strong&gt; is a directory service protocol used to access and maintain directories over a network. Based on a &lt;a href="https://www.techtarget.com/searchnetworking/definition/client-server"&gt;client-server&lt;/a&gt; model, LDAP runs on a layer above the &lt;a href="https://www.techtarget.com/searchnetworking/definition/TCP-IP"&gt;TCP/IP&lt;/a&gt; stack. LDAP cannot be used to create directories or to specify how a directory service should operate. Its main function is to help with directory management.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Active Directory Certificate Services (AD CS)&lt;/strong&gt; is used to generate, manage and share &lt;a href="https://www.techtarget.com/searchsecurity/definition/PKI"&gt;public key infrastructure&lt;/a&gt; certificates. A certificate uses encryption to enable a user to exchange information over the internet securely with a &lt;a href="https://www.techtarget.com/searchsecurity/definition/public-key"&gt;public key&lt;/a&gt;. These certificates provide confidentiality through encryption; authenticate computers, users and device accounts on a network; and help to maintain the integrity of digital documents through &lt;a href="https://www.techtarget.com/searchsecurity/definition/digital-signature"&gt;digital signatures&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Active Directory Federation Services (&lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/Active-Directory-Federation-Services-AD-Federation-Services"&gt;AD FS&lt;/a&gt;)&lt;/strong&gt; authenticates user access to multiple applications -- even on different networks -- using single sign-on (&lt;a href="https://www.techtarget.com/searchsecurity/definition/single-sign-on"&gt;SSO&lt;/a&gt;). As the name indicates, SSO only requires the user to sign on once rather than use multiple dedicated authentication keys for each service. By allowing the secure sharing of digital identity and entitlements rights across security and enterprise boundaries, AD FS helps to streamline user experiences as they access internet-facing applications.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Active Directory Rights Management Services (AD RMS)&lt;/strong&gt; enables organizations to protect their documents using information rights management (&lt;a href="https://www.techtarget.com/searchcontentmanagement/definition/information-rights-management-IRM"&gt;IRM&lt;/a&gt;). With AD RMS, they can create IRM policies to specify who can access sensitive information, thus preventing its use or misuse by unauthorized people.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/SK8Yw-CiRHk?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Key features of AD and AD DS logical model"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key features of AD and AD DS logical model&lt;/h2&gt;
 &lt;p&gt;Active Directory Domain Services uses a logical model consisting of forests, domains and organizational units (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/organizational-unit-OU"&gt;OUs&lt;/a&gt;). This model is important because it provides a way to do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Store and manage information about network resources.&lt;/li&gt; 
  &lt;li&gt;Store and manage application-specific data from directory-enabled applications.&lt;/li&gt; 
  &lt;li&gt;Enable administrators to organize users, computers, devices and other elements of a network into a hierarchical containment structure.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Different objects, such as users and devices that share the same database, are on the same domain. A &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory-tree-AD-tree"&gt;tree&lt;/a&gt; is one or more domains grouped together with hierarchical trust relationships. A forest is a group of multiple trees. Forests provide security boundaries, while domains -- which share a common database -- can be managed for settings such as authentication and encryption. These different elements have the following functions:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;A &lt;b&gt;forest &lt;/b&gt;is the top-level container in AD DS. It refers to a group of one or more AD domains. It provides a common logical structure for those domains and automatically links them with two-way, transitive trust relationships. These relationships enable AD DS to provide security across multiple domains or forests. They also enable domains to extend authentication services to users in domains outside their own forest.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;domain &lt;/b&gt;is a container or partition within a forest. It provides network-wide user identity, so user identities need to be created only once. Once that is done, they can be referenced on any computer joined to the forest in which that domain is located. Domains use one or more domain controllers to store user accounts and user credentials, provide authentication services for users and control access to network resources. A domain controller for a particular domain has a copy of the directory for the entire domain in which it is located.&lt;/li&gt; 
  &lt;li&gt;An &lt;b&gt;OU&lt;/b&gt; is the smallest element of the AD DS logical model. OUs form a hierarchy of containers within a domain. Admins typically use OUs to simplify administrative tasks, such as the application of &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Group-Policy"&gt;Group Policies&lt;/a&gt;. OUs are also useful for the delegation of authority, which allows owners to transfer administrative control -- full or limited -- over objects to other users or groups in order to simplify the management of those objects.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The domain-forest-OU model of AD DS applies regardless of the &lt;a href="https://www.techtarget.com/searchnetworking/definition/network-topology"&gt;network topology&lt;/a&gt; and the number of domain controllers required within each domain.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/windowsserver-domain_forest_configuration-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/windowsserver-domain_forest_configuration-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/windowsserver-domain_forest_configuration-f_mobile.png 960w,https://www.techtarget.com/rms/onlineImages/windowsserver-domain_forest_configuration-f.png 1280w" alt="domain forest configuration diagram" height="358" width="559"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Microsoft uses a tree and forest arrangement to create hierarchies with Active Directory to manage network assets and user access to network resources.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="Key features of AD and Active Directory Domain Services"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Key features of AD and Active Directory Domain Services&lt;/h2&gt;
 &lt;p&gt;One of the main features of AD and AD DS is that they use a structured and hierarchical data store to logically organize and publish directory information, i.e., information about the objects stored in the AD DS directory. These objects may include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Users.&lt;/li&gt; 
  &lt;li&gt;Groups.&lt;/li&gt; 
  &lt;li&gt;Computers.&lt;/li&gt; 
  &lt;li&gt;Domains.&lt;/li&gt; 
  &lt;li&gt;OUs.&lt;/li&gt; 
  &lt;li&gt;Security policies.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;A standardized schema is used to define object classes, attributes and names, as well as the constraints and limits on instances of these objects. The default schema in AD is modeled after the International Organization for Standardization &lt;a href="https://www.techtarget.com/searchsecurity/definition/X509-certificate"&gt;X.500&lt;/a&gt; series of standards for directory services. It is also extensible, meaning classes and attributes can be added to it and modified as needed. The AD schema is stored in the schema directory partition and replicated to all domain controllers in a forest.&lt;/p&gt;
 &lt;p&gt;Another important feature of AD is that it uses four directory partition types to store and copy different types of data in the Ntds.dit file on a domain's domain controller. Users and administrators can access this information throughout a domain. A directory partition typically contains data about a domain, configuration, schema and applications.&lt;/p&gt;
 &lt;p&gt;AD and AD DS feature a query and index mechanism. This mechanism enables network users or applications to find objects and their properties stored in AD. Finally, AD's replication service distributes directory data across a network. AD includes Knowledge Consistency Checker, which automatically creates replication connections from a source domain controller to a destination domain controller and generates the replication topology for the AD forest.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Trusting terminology"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Trusting terminology&lt;/h2&gt;
 &lt;p&gt;Active Directory relies on &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Best-Practices-for-Active-Directory-Forest-Trusts"&gt;trusts&lt;/a&gt; to facilitate authentication and to provide security across multiple domains or forests. These trust relationships apply to both domains and forests in AD. AD trusts work properly only if every resource has a direct trust path to a domain controller in the domain in which it is located. Also, to enable facilitation, Windows checks if a domain being requested by a user or computer already has a trust relationship with the requesting account's domain.&lt;/p&gt;
 &lt;p&gt;The most important trust-related terms used in AD include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;A &lt;b&gt;one-way trust&lt;/b&gt; is when a first domain (Domain A) allows access privileges to users on a second domain (Domain B). However, Domain B does not allow users access to Domain A. Simply put, it is a unidirectional authentication path between Domains A and B.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;two-way trust&lt;/b&gt; is when two domains trust each other. Thus, authentication requests can be passed between these domains, meaning each domain enables access to users of the other domain.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;trusted domain &lt;/b&gt;is a single domain that enables user access to another domain, which is called the &lt;i&gt;trusting domain&lt;/i&gt;. Forests used trusted domain objects to store all of the trusted namespaces, such as domain tree names, &lt;a href="https://www.techtarget.com/whatis/definition/User-Principal-Name-UPN"&gt;user principal name&lt;/a&gt; suffixes, service principal name suffixes and &lt;a href="https://www.techtarget.com/searchsecurity/definition/security-identifier"&gt;security identifier&lt;/a&gt; namespaces used in partner forests.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;transitive trust&lt;/b&gt; can extend beyond two domains and allow access to other trusted domains within a forest. In AD, a two-way, transitive trust relationship is automatically established between new domains and parent domains in a forest.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;nontransitive trust&lt;/b&gt; is a one-way trust that is limited to two domains. It is typically used to deny trust relationships with other domains.&lt;/li&gt; 
  &lt;li&gt;A &lt;b&gt;forest trust&lt;/b&gt; provides seamless authentication and authorization across multiple AD forests, thus enabling access to resources and other objects in those forests. It can be one-way or two-way transitive.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="History and development of Active Directory"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;History and development of Active Directory&lt;/h2&gt;
 &lt;p&gt;Microsoft offered a preview of Active Directory in 1999 and released it a year later with Windows 2000 Server. Microsoft continued to develop new features with each successive Windows Server release.&lt;/p&gt;
 &lt;p&gt;Windows Server 2003 included a notable update to add forests and the ability to edit and change the position of domains within forests. Domains on Windows 2000 Server could not support newer AD updates running in Server 2003.&lt;/p&gt;
 &lt;p&gt;Windows Server 2008 introduced AD FS. Additionally, Microsoft rebranded the directory for domain management as AD DS, and AD became an umbrella term for the directory-based services it supported. AD DS is available in all the latest versions of Windows Server, including Windows Server 2016, Windows Server 2019, Windows Server 2022 and Windows Server 2025.&lt;/p&gt;
 &lt;p&gt;Windows Server 2016 updated AD DS to improve AD security and migrate AD environments to cloud or &lt;a href="https://www.techtarget.com/searchcloudcomputing/definition/hybrid-cloud"&gt;hybrid cloud&lt;/a&gt; environments. Security updates included the addition of privileged access management. &lt;a href="https://www.techtarget.com/searchsecurity/definition/privileged-access-management-PAM"&gt;PAM&lt;/a&gt; monitors access to an object, the type of access granted and what actions the user takes. PAM adds bastion AD forests to provide an additional secure and isolated forest environment. Windows Server 2016 ended support for devices on Windows Server 2003.&lt;/p&gt;
 &lt;p&gt;In December 2016, Microsoft released Azure AD Connect, now called Microsoft Entra Connect, to join an on-premises Active Directory system with &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Windows-Azure-Active-Directory-Windows-Azure-AD"&gt;Azure AD&lt;/a&gt;, now called Microsoft Entra ID. Through this integration, organizations could connect all the identities and access controls on their local networks with Microsoft's cloud services, such as &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Microsoft-Office-365-suite"&gt;Office 365&lt;/a&gt;, and enable user-friendly SSO for those services. Azure AD Connect worked with systems running Windows Server 2008, Windows Server 2012, Windows Server 2016 and Windows Server 2019. All 1.x versions of Azure AD Connect were retired on Aug. 31, 2022.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Domains vs. workgroups"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Domains vs. workgroups&lt;/h2&gt;
 &lt;p&gt;A &lt;i&gt;workgroup&lt;/i&gt; is Microsoft's term for Windows machines connected over a &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/peer-to-peer-network-P2P-network"&gt;peer-to-peer (P2P) network&lt;/a&gt;. Workgroups are another unit of organization for Windows computers in networks. Workgroups enable these machines to share files, internet access, printers and other resources over the network. P2P networking removes the need for a server for authentication. There are several differences between domains and workgroups:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Domains, unlike workgroups, can host computers from different local networks.&lt;/li&gt; 
  &lt;li&gt;Domains can be used to host many more computers than workgroups. Domains can include thousands of computers; workgroups typically have an upper limit of close to 20.&lt;/li&gt; 
  &lt;li&gt;In domains, at least one server is a computer, which is used to control permissions and security features for every computer within the domain. In workgroups, there is no server, and computers are all peers.&lt;/li&gt; 
  &lt;li&gt;Domain users typically require security identifiers, such as logins and passwords, unlike workgroups.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Main competitors to Active Directory"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Main competitors to Active Directory&lt;/h2&gt;
 &lt;p&gt;Other directory services on the market that provide similar functionality to AD include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Red Hat Directory Server&lt;/b&gt; is an LDAP-based directory that manages user access to multiple systems in &lt;a href="https://www.techtarget.com/searchdatacenter/definition/Unix"&gt;Unix&lt;/a&gt; environments. It provides a network-based registry to centralize identity information and includes user ID- and certificate-based authentication to restrict access to data in the directory. In addition, it provides centralized, fine-grained access control over the directory and enhanced data protection, even if the number of systems and users increases.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Apache Directory&lt;/b&gt; is an &lt;a href="https://www.techtarget.com/whatis/definition/open-source"&gt;open source&lt;/a&gt; project that runs on &lt;a href="https://www.theserverside.com/definition/Java"&gt;Java&lt;/a&gt; and operates on any LDAP server, including systems on Windows, &lt;a href="https://www.techtarget.com/whatis/definition/Mac-OS"&gt;macOS&lt;/a&gt; and &lt;a href="https://www.techtarget.com/searchdatacenter/definition/Linux-operating-system"&gt;Linux&lt;/a&gt;. It provides an LDAP v3-compliant directory server and an &lt;a href="https://www.techtarget.com/searchapparchitecture/definition/Eclipse-Eclipse-Foundation"&gt;Eclipse&lt;/a&gt;-based directory tool called Apache Directory Studio. Additionally, the software includes an Apache Directory LDAP API that provides a convenient way to access all types of LDAP servers.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;OpenLDAP &lt;/b&gt;is another open source alternative to AD. Specifically, it is an open source implementation of LDAP, with modules like a standalone LDAP load balancer &lt;a href="https://www.techtarget.com/whatis/definition/daemon"&gt;daemon&lt;/a&gt;; standalone LDAP daemon (server); and various libraries, tools and sample clients to implement LDAP.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;&lt;em&gt;IT must carefully manage various Group Policies for desktops to ensure the correct policies are implemented. Learn when &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/When-does-AD-domain-joined-Group-Policy-override-local"&gt;AD domain-joined Group Policy overrides local&lt;/a&gt;. &lt;/em&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Active Directory (AD) is Microsoft's proprietary directory service that enables network admins to manage users, permissions and their access to networking resources.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/definition/Active-Directory</link>
            <pubDate>Fri, 11 Apr 2025 09:00:00 GMT</pubDate>
            <title>What is Active Directory (AD)?</title>
        </item>
        <item>
            <body>&lt;p&gt;Microsoft released Windows Server 2025 in November 2024, introducing various new features. Before planning an upgrade to Windows Server 2025, it's worth examining how this version differs from previous releases.&lt;/p&gt; 
&lt;p&gt;Windows Server 2025 arrived with plenty of updates to appeal to enterprises, including &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/See-whats-coming-in-Windows-Server-2025"&gt;enhanced AD functionality, hot patching and improvements in security&lt;/a&gt;. Before switching from an older Windows Server, admins should start with a look at the various editions to find the best fit. It's also important to see what's been removed and what might not make it to the next version so you can plan accordingly.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Compare the Windows Server 2025 editions"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Compare the Windows Server 2025 editions&lt;/h2&gt;
 &lt;p&gt;Microsoft offers several editions of Windows Server 2025, including Essentials, Standard, Datacenter and Datacenter Azure.&lt;/p&gt;
 &lt;p&gt;Smaller organizations with limited IT needs might find Windows Server Essentials the right choice for their workloads. Licenses are not available directly from Microsoft and can only be purchased from a hardware OEM, preinstalled on server hardware. Windows Server Essentials is only available on servers with a single CPU with less than 10 cores.&lt;/p&gt;
 &lt;p&gt;The Standard and Datacenter editions are similar with a few key differences. The main one is the Standard edition only licenses Hyper-V for up to two VMs. There is no limit for the Datacenter edition. Likewise, the Standard edition supports the &lt;a href="https://www.techtarget.com/searchwindowsserver/feature/4-Windows-Server-2019-storage-features-to-ease-management"&gt;disaster recovery feature Storage Replica&lt;/a&gt; but only allows a single partnership and one resource group. A partnership executes replication between two servers or clusters. There is also a volume size limit of 2 TB. The Datacenter edition does not have these limits.&lt;/p&gt;
 &lt;p&gt;Microsoft said it optimized the Windows Server Datacenter Azure edition for use on its cloud platform. Unlike the Standard and Enterprise editions, the Azure edition does not run on physical hardware and can only be installed in a VM. The main difference between Datacenter and Datacenter Azure is the delivery of product updates. The Windows Server Standard and Datacenter editions receive updated features as a part of new releases, which happen every couple of years. In contrast, the Windows Server Datacenter Azure edition gets &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/New-Active-Directory-features-coming-in-Windows-Server-2025"&gt;new features through Windows Update&lt;/a&gt; annually. Microsoft offers two "major updates" for the Azure edition in the first three years.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Understand the Windows Server 2025 hardware requirements"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Understand the Windows Server 2025 hardware requirements&lt;/h2&gt;
 &lt;p&gt;Windows Server 2025 requires a 64-bit CPU running at 1.4 GHz at minimum. The CPU must support the following instructions: NX, DEP, CMPXCHG16b, LAHF/SAHF, PrefetchW, Second Level Address Translation (EPT or NPT), POPCNT and SSE4.2. Windows Server 2025 allows for up to 2,048 logical processors.&lt;/p&gt;
 &lt;p&gt;The minimum memory requirement for Windows Server 2025 is 512 MB. However, at least 2 GB of RAM is required to use Desktop Experience, although Microsoft recommends at least 4 GB. If you are installing Windows Server 2025 onto a physical host, then it needs error correction code RAM.&lt;/p&gt;
 &lt;p&gt;Windows Server 2025 supports up to 4 petabytes of RAM on servers with five-level paging; with four-level paging, the limit is 256 TB. &lt;a href="https://www.techtarget.com/searchwindowsserver/feature/Will-Windows-Server-2025-release-spark-VMware-migrations"&gt;Organizations using servers with newer Intel processors benefit&lt;/a&gt; from the five-level paging to maximize the amount of RAM for more demanding workloads.&lt;/p&gt;
 &lt;p&gt;Windows Server 2025 can be installed on a system with 32 GB of storage, but Microsoft stresses that this is an absolute minimum. If the machine has 16 GB or more of RAM, then the system will use additional storage space to accommodate paging, hibernation and memory dumps. Microsoft recommends 64 GB or more storage space for best performance, particularly when running Desktop Experience.&lt;/p&gt;
 &lt;p&gt;Microsoft said improved support for non-volatile memory express (NVMe) storage in Windows Server 2025 delivers up to 90% more IOPS. Hyper-V VMs can also be hosted on &lt;a href="https://www.techtarget.com/searchstorage/definition/NVMe-over-Fabrics-Nonvolatile-Memory-Express-over-Fabrics"&gt;NVMe over Fabrics&lt;/a&gt; storage.&lt;/p&gt;
 &lt;p&gt;The minimum networking requirements for Windows Server 2025 include a Gigabit Ethernet adapter that is PCIe-compliant.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="Deprecated features in Windows Server 2025"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Deprecated features in Windows Server 2025&lt;/h2&gt;
 &lt;p&gt;There are a number of features that Microsoft has deprecated in Windows Server 2025. Deprecated does not mean unavailable or unsupported -- just that these features are on notice, will not receive any further enhancements and will likely be removed in the next Windows Server version. Workloads that depend on one or more &lt;a href="https://www.techtarget.com/searchwindowsserver/news/366619234/Microsoft-plugs-two-zero-days-for-February-Patch-Tuesday"&gt;deprecated features&lt;/a&gt; can run on Windows Server 2025, but customers should look for alternatives to avoid upgrade issues with the next Windows Server release.&lt;/p&gt;
 &lt;p&gt;The deprecated features include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Computer Browser.&lt;/li&gt; 
  &lt;li&gt;Failover Clustering Cluster Sets.&lt;/li&gt; 
  &lt;li&gt;L2TP and PPTP (in the Routing and Remote Access Services).&lt;/li&gt; 
  &lt;li&gt;Network Load Balancing.&lt;/li&gt; 
  &lt;li&gt;NTLM.&lt;/li&gt; 
  &lt;li&gt;TLS 1.0 and 1.1.&lt;/li&gt; 
  &lt;li&gt;WebDAV Redirector service.&lt;/li&gt; 
  &lt;li&gt;Windows Internal Database.&lt;/li&gt; 
  &lt;li&gt;&lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-Management-Instrumentation-Command-line-WMIC"&gt;Windows Management Instrumentation Command-line&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;VBScript.&lt;/li&gt; 
  &lt;li&gt;Windows Server Update Services.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Microsoft removed several features in Windows Server 2025, including the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;IIS 6 Management Console.&lt;/li&gt; 
  &lt;li&gt;NTLMv1.&lt;/li&gt; 
  &lt;li&gt;Wordpad.&lt;/li&gt; 
  &lt;li&gt;SMTP Server.&lt;/li&gt; 
  &lt;li&gt;Windows PowerShell 2.0 Engine.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Windows Server 2025 migration planning"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Windows Server 2025 migration planning&lt;/h2&gt;
 &lt;p&gt;Migrating to a new Windows Server OS is not a task to be taken lightly. Even so, migrations are often worthwhile if the organization wants to take advantage of new features and support for the latest hardware.&lt;/p&gt;
 &lt;p&gt;Before an organization can &lt;a href="https://www.techtarget.com/searchwindowsserver/tip/Plan-your-domain-controller-migration-to-Windows-Server-2025"&gt;migrate to Windows Server 2025&lt;/a&gt;, it must verify that its existing hardware meets the minimum requirements. It is also worth considering the type of migration that is required.&lt;/p&gt;
 &lt;p&gt;If you are running Windows Server 2012 R2 or higher, then you can perform an in-place upgrade to Windows Server 2025. Customers who move to Windows Server 2025 are able to use Windows Update to upgrade to future Windows Server versions. Older server versions must first upgrade to at least Windows Server 2012 R2 to then upgrade to Server 2025.&lt;/p&gt;
 &lt;p&gt;It is extremely important to test the migration in a lab environment prior to attempting to migrate a production server. Testing should not only ensure that the migration process works, but also verify that workloads and applications continue to function properly on Windows Server 2025.&lt;/p&gt;
 &lt;p&gt;When you are ready to move forward with the migration, you should perform a full &lt;a target="_blank" href="https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj614621(v=ws.11)" rel="noopener"&gt;backup&lt;/a&gt; of the servers. That way, you have a way to roll back if serious problems occur. It's also a good idea to test your backup to make sure that it functions as intended before you begin the migration.&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Brien Posey is a former 22-time Microsoft MVP and a commercial astronaut candidate. In his more than 30 years in IT, he has served as a lead network engineer for the U.S. Department of Defense and a network administrator for some of the largest insurance companies in America.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>See what's been gained -- and lost -- in Microsoft's latest version of its server OS before you plan a migration from your existing workloads.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/storage_g1197646065.jpg</image>
            <link>https://www.techtarget.com/searchwindowsserver/tip/Learn-how-the-Windows-Server-2025-editions-differ</link>
            <pubDate>Tue, 18 Mar 2025 15:49:00 GMT</pubDate>
            <title>Learn how the Windows Server 2025 editions differ</title>
        </item>
        <item>
            <body>&lt;p&gt;The Server Message Block (SMB) protocol is a &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/client-server-network"&gt;client-server&lt;/a&gt; communication &lt;a href="https://www.techtarget.com/searchnetworking/definition/protocol"&gt;protocol&lt;/a&gt; used for sharing access to files, printers, serial ports and other resources on a &lt;a href="https://www.techtarget.com/searchnetworking/definition/network"&gt;network&lt;/a&gt;. It can also carry transaction protocols for interprocess communication.&lt;/p&gt; 
&lt;p&gt;A group at IBM developed the SMB protocol in the 1980s. The protocol has since spawned multiple variants, also known as &lt;i&gt;dialects&lt;/i&gt;, to meet evolving network requirements over the years. Throughout that time, SMB has been widely implemented and continues to be one of the most popular solutions for &lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/file-sharing"&gt;file sharing&lt;/a&gt; in the workplace.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What is the Server Message Block protocol used for?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is the Server Message Block protocol used for?&lt;/h2&gt;
 &lt;p&gt;The SMB protocol is mainly used to facilitate shared access to the resources on a network. These may be printers, serial ports, files, directories, etc. SMB also provides client applications with a secure and controlled method for opening, reading, moving, creating and updating files on remote servers. The protocol can also communicate with server programs configured to receive SMB client requests.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineImages/networking-smb.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineImages/networking-smb_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineImages/networking-smb_mobile.jpg 960w,https://www.techtarget.com/rms/onlineImages/networking-smb.jpg 1280w" alt="Infographic of how the SMB response-request protocol works." height="285" width="520"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Server Message Block is known as a response-request protocol between client and server.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="How does the SMB protocol work?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How does the SMB protocol work?&lt;/h2&gt;
 &lt;p&gt;Known as a &lt;i&gt;response-request protocol&lt;/i&gt;, the SMB protocol is one of the most common methods used for network communications. In this model, a series of request-response messages are used to initiate and facilitate communication between devices on a computer network.&lt;/p&gt;
 &lt;p&gt;The client sends an SMB request to the server to initiate the connection. When the server receives the request, it sends an SMB response back to the client, establishing the communication channel necessary for a two-way conversation. Once it is granted access, the client can access the required resource for reading, writing, executing and so on. Since the network server has a resource that it shares with one or more clients, the protocol is also known as a &lt;i&gt;server-client protocol&lt;/i&gt;.&lt;/p&gt;
 &lt;p&gt;The SMB protocol operates at the &lt;a href="https://www.techtarget.com/searchnetworking/definition/Application-layer"&gt;application layer&lt;/a&gt; but relies on lower network levels for transport. At one time, SMB ran on top of &lt;a href="https://www.techtarget.com/searchnetworking/definition/NetBIOS"&gt;Network BIOS&lt;/a&gt; over &lt;a href="https://www.techtarget.com/searchnetworking/definition/TCP-IP"&gt;TCP/IP&lt;/a&gt; or, to a lesser degree, legacy protocols, such as Internetwork Packet Exchange or NetBIOS Extended User Interface.&lt;/p&gt;
 &lt;p&gt;When SMB was using NBT, it relied on &lt;a href="https://www.techtarget.com/searchnetworking/definition/port"&gt;ports&lt;/a&gt; 137, 138 and 139 for transport. Now, SMB runs directly over TCP/IP and uses port 445. Port 445 supports &lt;a href="https://www.techtarget.com/searchsecurity/opinion/Understanding-the-importance-of-data-encryption"&gt;data encryption&lt;/a&gt; and digital signing of SMB packets, providing a more secure means of communication than port 139. Communications with devices that do not support SMB directly over TCP/IP require the use of NetBIOS over the transport protocol.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="SMB protocol in Windows"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;SMB protocol in Windows&lt;/h2&gt;
 &lt;p&gt;Over the years, SMB has been used primarily to connect Windows computers. Microsoft Windows operating systems (&lt;a href="https://www.techtarget.com/whatis/definition/operating-system-OS"&gt;OSes&lt;/a&gt;) since Windows 95 have included client and server SMB protocol support.&lt;/p&gt;
 &lt;p&gt;Windows Server 2012 and up include the SMB 3.0 feature, enabling applications to do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Access and read resources, including files, at a remote server.&lt;/li&gt; 
  &lt;li&gt;Create and update files on the remote server.&lt;/li&gt; 
  &lt;li&gt;Communicate with server programs that can receive SMB client requests.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;The SMB 3.0 protocol can also be used to store &lt;a href="https://www.techtarget.com/searchitoperations/definition/virtual-machine-VM"&gt;virtual machine&lt;/a&gt; files -- by standalone file servers and &lt;a href="https://www.techtarget.com/whatis/definition/cluster"&gt;clustered&lt;/a&gt; file servers -- to store user database files on SMB file shares and to reduce application latencies over wide area networks (&lt;a href="https://www.techtarget.com/searchnetworking/definition/WAN-wide-area-network"&gt;WANs&lt;/a&gt;).&lt;/p&gt;
 &lt;p&gt;These OSes include numerous functionalities to streamline resource sharing and access over a network. One such functionality is SMB Transparent Failover, which simplifies the hardware or software maintenance of nodes in a clustered file server. Admins can perform these maintenance tasks without interrupting any server applications that may be storing data on the file shares. Other key SMB 3.0 features in Windows Server include SMB Scale Out to create file shares that provide simultaneous access to data files, SMB performance counters that enable admins to analyze the performance of SMB 3.0 file shares, SMB Directory Leasing that reduces round trips from client to server and maintains &lt;a href="https://www.techtarget.com/searchstorage/definition/cache"&gt;cache&lt;/a&gt; coherency, and SMB Encryption that encrypts and protects SMB data on untrusted networks from &lt;a href="https://www.techtarget.com/searchunifiedcommunications/definition/eavesdropping"&gt;eavesdropping&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Most other OSes also include client components for connecting to SMB resources. In addition, &lt;a href="https://www.techtarget.com/searchdatacenter/definition/Unix"&gt;Unix&lt;/a&gt;-based systems can use Samba to facilitate SMB access to file and print services.&lt;/p&gt;
&lt;/section&gt;       
&lt;section class="section main-article-chapter" data-menu-title="What are SMB protocol dialects?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What are SMB protocol dialects?&lt;/h2&gt;
 &lt;p&gt;Since the SMB protocol was introduced in the 1980s, a number of SMB dialects have been released that have improved on the original implementation, delivering greater capabilities, scalability, security and efficiency. A client and server can implement different SMB dialects. If they do, the systems must first negotiate the differences between editions before starting a session.&lt;/p&gt;
 &lt;p&gt;Here is a brief overview of the most notable dialects:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;SMB 1.0 (1984).&lt;/b&gt; SMB 1.0 was created by IBM for file sharing in &lt;a href="https://www.techtarget.com/searchsecurity/definition/DOS"&gt;DOS&lt;/a&gt;. It introduced opportunistic locking (OpLock) as a client-side caching mechanism designed to reduce network traffic. Microsoft later included the SMB protocol in its LAN Manager product and incorporated SMB support into the &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Microsoft-Windows-Server-OS-operating-system"&gt;Windows Server OS&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Common Internet File System (1996).&lt;/b&gt; &lt;a href="https://www.techtarget.com/searchstorage/definition/Common-Internet-File-System-CIFS"&gt;CIFS&lt;/a&gt;, an improvement over SMB 1.0, is a Microsoft-developed SMB dialect that debuted in Windows 95. CIFS added support for larger file sizes, direct transport over TCP/IP, and symbolic links and hard links.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SMB 2.0 (2006).&lt;/b&gt; SMB 2.0 was released with Windows Vista in 2006 and Windows Server 2008. It reduced chattiness in SMB 1.0 to improve the protocol's performance and enhance its efficiency, scalability and resiliency. It also added support for &lt;a href="https://www.techtarget.com/searchnetworking/definition/WAN-optimization-WAN-acceleration"&gt;WAN acceleration&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SMB 2.1 (2010).&lt;/b&gt; SMB 2.1 was introduced with Windows Server 2008 R2 and Windows 7. The client OpLock leasing model replaced OpLock to enhance caching and improve performance. Other updates included large &lt;a href="https://www.techtarget.com/searchnetworking/definition/maximum-transmission-unit"&gt;maximum transmission unit&lt;/a&gt; support and improved energy efficiency, which enabled clients with open files from an SMB server to enter sleep mode.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SMB 3.0 (2012).&lt;/b&gt; &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/SMB-30-Server-Message-Block-30"&gt;SMB 3.0&lt;/a&gt; debuted in Windows 8 and Windows Server 2012. It added several significant upgrades to improve availability, performance, backup, security and management. Noteworthy new features included SMB Multichannel, SMB Direct, Transparent Failover of client access, Remote Volume Shadow Copy Service support, SMB Encryption and more.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SMB 3.0.2 (2014).&lt;/b&gt; SMB 3.0.2 was introduced in Windows 8.1 and Windows Server 2012 R2. It included performance updates and the ability to disable CIFS/SMB 1.0 support, including removal of the related binaries. Other features included CopyFile SRV_COPYCHUNK over SMB support, performance improvements for small input/output &lt;a href="https://www.techtarget.com/searchdatacenter/definition/workload"&gt;workloads&lt;/a&gt; and automatic rebalancing of scale-out file server clients.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;SMB 3.1.1 (2015).&lt;/b&gt; SMB 3.1.1 was released with &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-10"&gt;Windows 10&lt;/a&gt; and Windows Server 2016. It added support for advanced encryption, preauthentication integrity to prevent man-in-the-middle (&lt;a href="https://www.techtarget.com/iotagenda/definition/man-in-the-middle-attack-MitM"&gt;MitM&lt;/a&gt;) attacks and Cluster Dialect Fencing, among other updates. Additional features included directory caching, rolling cluster upgrades and direct client support.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="Why is SMB vulnerable?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Why is SMB vulnerable?&lt;/h2&gt;
 &lt;p&gt;In 2017, the &lt;a href="https://www.techtarget.com/searchsecurity/definition/WannaCry-ransomware"&gt;WannaCry&lt;/a&gt; and Petya &lt;a href="https://www.techtarget.com/searchsecurity/definition/ransomware"&gt;ransomware&lt;/a&gt; attacks exploited a vulnerability in SMB 1.0 that made it possible to load &lt;a href="https://www.techtarget.com/searchsecurity/definition/malware"&gt;malware&lt;/a&gt; on vulnerable clients and then propagate the malware across networks. Many of these attacks were the result of threat actors exploiting known vulnerabilities in SMB 1.0, such as EternalBlue, EternalRomance, EternalChampion and EternalSynergy.&lt;/p&gt;
 &lt;p&gt;Microsoft subsequently released patches to address these vulnerabilities. However, experts have advised users and administrators to disable SMB 1.0/CIFS on all systems and upgrade to the more secure SMB 3.0.&lt;/p&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Is the SMB protocol safe?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Is the SMB protocol safe?&lt;/h2&gt;
 &lt;p&gt;SMB 3.0 and later are far more secure than previous dialects, having introduced a number of protections. For example, SMB 3.0 added &lt;a href="https://www.techtarget.com/searchsecurity/definition/end-to-end-encryption-E2EE"&gt;end-to-end data encryption&lt;/a&gt; while protecting data from eavesdropping. Encryption may be enabled for any scenario where data traverses over an untrusted network without incurring costs for deploying IPsec, specialized hardware or WAN accelerators. SMB 3.0 also offered secure dialect negotiation, which helps protect against MitM attacks.&lt;/p&gt;
 &lt;p&gt;SMB 3.1.1 improved on security even further by updating the encryption capabilities of SMB 3.0. The updated protocol also adds preauthentication integrity to protect SMB connections and &lt;a href="https://www.techtarget.com/searchsecurity/definition/authentication"&gt;authentication&lt;/a&gt; messages again MitM attacks. It also included a mechanism for negotiating the crypto-algorithm -- AES-128-CCM and AES-128-GCM -- on a per-connection basis.&lt;/p&gt;
 &lt;p&gt;That said, SMB 3.0 is not completely safe. In 2020, a vulnerability dubbed SMBGhost (CoronaBlue) was discovered in SMB 3.0. If exploited, it could expose users to remote code execution. To protect users, admins must adopt multiple security strategies, including &lt;a href="https://www.techtarget.com/searchenterprisedesktop/tip/Use-this-10-step-patch-management-process-to-ensure-success"&gt;patching&lt;/a&gt; against known vulnerabilities, using secure authentication methods and restricting SMB at the host level.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="CIFS vs. SMB"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;CIFS vs. SMB&lt;/h2&gt;
 &lt;p&gt;As noted above, CIFS is an early dialect of the SMB protocol developed by Microsoft. Although the terms SMB and CIFS are sometimes used interchangeably, CIFS refers specifically to a single implementation of SMB. That said, application interfaces and technical documentation often refer to them as one and the same, particularly SMB 1.0 and CIFS, using labels such as SMB 1.0/CIFS.&lt;/p&gt;
 &lt;p&gt;However, the distinction between dialects is important to recognize. For example, SMB 1.0 and CIFS do not have the same level of security protections found in later dialects, as demonstrated by the WannaCry ransomware. SMB 3.0 provides far more advanced security protections. For this reason, most modern systems use the newer SMB dialects. For example, Windows 10 and Windows Server 2012 and newer support SMB 3.1.1, the most recent SMB dialect.&lt;/p&gt;
 &lt;p&gt;Dialects also make a difference when it comes to performance. For instance, CIFS was noted for being a &lt;a href="https://www.techtarget.com/searchnetworking/definition/chatty-protocol"&gt;chatty protocol&lt;/a&gt; that bogged WAN performance due to the combined burdens of latency and numerous acknowledgments. The dialect to follow, SMB 2.0, improved the protocol's efficiency by drastically reducing its hundreds of commands and subcommands down to just 19.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/whatis-cifs_nfs_smb-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/whatis-cifs_nfs_smb-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/whatis-cifs_nfs_smb-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/whatis-cifs_nfs_smb-f.png 1280w" alt="Infographic comparing CIFS, NFS and SMB file-sharing protocols." height="336" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;CIFS, NFS and SMB file-sharing protocols compared
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Samba vs. SMB"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Samba vs. SMB&lt;/h2&gt;
 &lt;p&gt;Released in 1992, Samba is an open source implementation of the SMB protocol for Unix systems and &lt;a href="https://www.techtarget.com/searchdatacenter/definition/Linux-distros-Linux-distribution"&gt;Linux distributions&lt;/a&gt;. The Samba platform includes a server that enables various client types to access SMB resources.&lt;/p&gt;
 &lt;p&gt;The server supports file sharing and print services, authentication and authorization, name resolution, and service announcements (browsing) between Linux/Unix servers and Windows clients. For example, Samba can be installed on a Unix server to provide file and print services to Windows 10 desktops.&lt;/p&gt;
 &lt;p&gt;In addition, Samba makes it possible to integrate Linux/Unix servers and desktops in an &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory"&gt;Active Directory&lt;/a&gt; environment. Windows Server systems include built-in SMB support. However, some macOS and Linux systems require Samba for SMB access.&lt;/p&gt;
&lt;/section&gt;    
&lt;section class="section main-article-chapter" data-menu-title="SMB vs. SFTP"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;SMB vs. SFTP&lt;/h2&gt;
 &lt;p&gt;Like SMB, Secure File Transfer Protocol (&lt;a href="https://www.techtarget.com/searchcontentmanagement/definition/Secure-File-Transfer-Protocol-SSH-File-Transfer-Protocol"&gt;SFTP&lt;/a&gt;) enables secure file transfers between a remote host and one or more local systems. It enables users to securely access, upload, retrieve, download and manipulate remote files over a shared network. All data is encrypted and an &lt;a href="https://www.techtarget.com/searchsecurity/tutorial/How-to-use-SSH-tunnels-to-cross-network-boundaries"&gt;Secure Shell (SSH) tunnel&lt;/a&gt; is created to safeguard files and ensure secure transfers. Admins can configure granular user access controls to further strengthen security.&lt;/p&gt;
 &lt;p&gt;One of the differences between SFTP and SMB is that SMB enables the sharing of entire file directories. These directories can be mounted as &lt;a href="https://www.techtarget.com/whatis/definition/network-drive"&gt;network drives&lt;/a&gt; to enable share-level access. Even so, SMB is better suited for small file transfers on a local area network, while SFTP can efficiently handle large batches or files, even over longer distances.&lt;/p&gt;
 &lt;p&gt;Another difference is that SFTP uses SSH port 22 to enable secure connections and communications, while SMB uses port 445 (3.0) or 139 (older versions). Usability also differs between SMB and SFTP. Whereas SMB shares automatically appear as standard network drives and can be easily accessed via Windows File Explorer, an FTP client is required to use SFTP.&lt;/p&gt;
 &lt;p&gt;Older versions of SMB operated over TCP for file transfers and did not provide data encryption support. Encryption is included in SMB 3.0 and above. In Windows Server 2012, SMB 3.1.1 also includes a mechanism to negotiate the crypto-algorithm per connection. The newer versions of SMB also include other security features, like preauthentication integrity and reduced application latencies, to provide security benefits that are on par with SFTP and SSH encryption.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/k3RxOqftzsU?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
 &lt;p&gt;&lt;em&gt;Networking enables the internet to function, relying on several key protocols. These essential network protocols facilitate communication and connection across the internet. Learn about &lt;a href="https://www.techtarget.com/searchnetworking/feature/12-common-network-protocols-and-their-functions-explained"&gt;common network protocols and their functions&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>The Server Message Block (SMB) protocol is a client-server communication protocol used for sharing access to files, printers, serial ports and other resources on a network.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/5.jpg</image>
            <link>https://www.techtarget.com/searchnetworking/definition/Server-Message-Block-Protocol</link>
            <pubDate>Mon, 17 Mar 2025 09:00:00 GMT</pubDate>
            <title>What is the Server Message Block (SMB) protocol? How does it work?</title>
        </item>
        <item>
            <body>&lt;p&gt;Kerberos is a &lt;a href="https://www.techtarget.com/searchnetworking/definition/protocol"&gt;protocol&lt;/a&gt; for &lt;a href="https://www.techtarget.com/searchsecurity/definition/authentication"&gt;authenticating&lt;/a&gt; service requests between trusted &lt;a href="https://www.techtarget.com/searchnetworking/definition/host"&gt;hosts&lt;/a&gt; across an untrusted network, such as the internet. By providing a &lt;a href="https://www.techtarget.com/iotagenda/definition/gateway"&gt;gateway&lt;/a&gt; between users and a network, Kerberos helps verify the identities of users and hosts, and it keeps unauthorized or malicious users out of a private network. Kerberos support is built into all major computer operating systems (OSes), including Microsoft Windows, Apple macOS, FreeBSD, Unix and Linux.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="What does the Kerberos authentication protocol do?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What does the Kerberos authentication protocol do?&lt;/h2&gt;
 &lt;p&gt;Kerberos provides a standardized way to verify a user's or host's identity over a network. Its aim is to authenticate service requests between trusted hosts, such as &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/client"&gt;clients&lt;/a&gt; and &lt;a href="https://www.techtarget.com/whatis/definition/server"&gt;servers&lt;/a&gt;, on untrusted networks, like the internet.&lt;/p&gt;
 &lt;p&gt;The protocol's mechanism assumes that the transactions between those hosts are happening on an open network, meaning the &lt;a href="https://www.techtarget.com/searchnetworking/definition/packet"&gt;packets&lt;/a&gt; traveling on it are susceptible to eavesdropping and tampering. To prevent these issues, it uses secret key &lt;a href="https://www.techtarget.com/searchsecurity/definition/cryptography"&gt;cryptography&lt;/a&gt;. This facilitates mutual authentication between the hosts and allows their identities to be verified prior to the establishment of a secure network connection. To authenticate user identities and authorize users for access, Kerberos uses &lt;a href="https://www.techtarget.com/searchsecurity/answer/What-are-the-differences-between-symmetric-and-asymmetric-encryption-algorithms"&gt;symmetric key cryptography&lt;/a&gt; and a &lt;a href="https://www.computerweekly.com/news/1280096067/Five-steps-to-using-the-Kerberos-protocol"&gt;key distribution center&lt;/a&gt; (KDC).&lt;/p&gt;
 &lt;p&gt;The name Kerberos was taken from Greek mythology; Kerberos (Cerberus) was a three-headed dog who guarded the gates of Hades. Like the mythical dog, the Kerberos protocol has three heads:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Client or principal.&lt;/b&gt; The entity that initiates a service request on behalf of a user.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Network resource&lt;/b&gt;. The &lt;a href="https://www.theserverside.com/feature/What-is-an-Application-Server"&gt;application server&lt;/a&gt; that provides access to the network resource requested by the client.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;KDC.&lt;/b&gt; A centralized server that&lt;b&gt; &lt;/b&gt;acts as Kerberos' trusted third-party authentication service. The KDC includes an authentication server (&lt;a href="https://www.techtarget.com/searchsecurity/definition/authentication-server"&gt;AS&lt;/a&gt;) that does the initial authentication, a ticket-granting server (TGS) that issues service tickets and connects the service-requesting user to the service server (SS), and a database that stores the details of all verified users to facilitate authentication and authorization.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Kerberos was also designed to interface with secure accounting systems. This provided the third "A" of the authentication, authorization and accounting, or &lt;a href="https://www.techtarget.com/searchsecurity/definition/authentication-authorization-and-accounting"&gt;AAA&lt;/a&gt;, triad.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="How does the Kerberos authentication protocol work?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;How does the Kerberos authentication protocol work?&lt;/h2&gt;
 &lt;p&gt;A simplified description of how Kerberos works follows; the actual &lt;a href="https://www.techtarget.com/whatis/definition/process"&gt;process&lt;/a&gt; is more complicated and may vary from one implementation to another:&lt;/p&gt;
 &lt;ol class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;AS request.&lt;/b&gt; To access a service, the initiating client starts the Kerberos client authentication process. To do this, it sends an authentication request to the Kerberos KDC AS. The initial authentication request is sent as &lt;a href="https://www.techtarget.com/searchsecurity/definition/plaintext"&gt;plaintext&lt;/a&gt; because no &lt;a href="https://www.techtarget.com/whatis/definition/sensitive-information"&gt;sensitive information&lt;/a&gt; is included in the request. The AS verifies that the client is in the KDC &lt;a href="https://www.techtarget.com/searchdatamanagement/definition/database"&gt;database&lt;/a&gt; and retrieves the initiating client's &lt;a href="https://www.techtarget.com/searchsecurity/definition/private-key"&gt;private key&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;AS response.&lt;/b&gt; The AS starts the initial authentication by looking for the initiating client's username in the KDC database. If the name is not found, the client cannot be authenticated, and the authentication process stops. Otherwise, the AS sends the client a ticket-granting ticket (TGT) and a &lt;a href="https://www.techtarget.com/searchsecurity/definition/session-key"&gt;session key&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Service ticket request. &lt;/b&gt;Once authenticated by the AS, the client asks for a service ticket from the TGS. This request must be accompanied by the TGT sent by the KDC AS.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Service ticket response.&lt;/b&gt; If the TGS can authenticate the client, it sends credentials and a ticket to access the requested service. This transmission is &lt;a href="https://www.techtarget.com/searchsecurity/definition/encryption"&gt;encrypted&lt;/a&gt; with a session key specific to the user and service being accessed. This proof of identity is used to access the requested "Kerberized" service. That service validates the original request and then confirms its identity to the requesting system.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Application server request.&lt;/b&gt; The client sends a request to access the application server. This request includes the service ticket received in step 4. If the application server can authenticate this request, the client can access the server.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Application server response.&lt;/b&gt; In cases where the client requests the application server to authenticate itself, this response is required. The client has already authenticated itself, and the application server response includes Kerberos authentication of the server.&lt;/li&gt; 
 &lt;/ol&gt;
 &lt;p&gt;The service ticket sent by the TGS enables the client to access the desired service. The service ticket is &lt;a href="https://www.techtarget.com/whatis/definition/timestamp"&gt;timestamped&lt;/a&gt;, so a single ticket can be used for a specific period without having to be reauthenticated.&lt;/p&gt;
 &lt;p&gt;Making the ticket valid for a limited time reduces the possibility that some other user or attacker is able to use it later. The maximum lifetime can be set to 0, in which case service tickets do not expire. Microsoft recommends a maximum lifetime of 600 minutes for service tickets; this is the default value in Windows Server implementations of Kerberos.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/kerberos_authentication_process_diagram-f.png"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/kerberos_authentication_process_diagram-f_mobile.png" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/kerberos_authentication_process_diagram-f_mobile.png 960w,https://www.techtarget.com/rms/onlineimages/kerberos_authentication_process_diagram-f.png 1280w" alt="Flow chart showing how a user request leads to authentication and approved access" height="416" width="560"&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;With Kerberos, a client requests access through the authentication server, launching the flow of data requests and, finally, an approved ticket.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Benefits of Kerberos authentication"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Benefits of Kerberos authentication&lt;/h2&gt;
 &lt;p&gt;Kerberos provides an extensive and proven authentication mechanism for service systems and users. Users, systems and services relying on Kerberos need only trust the KDC. It runs as a single process and provides two services: the authentication service and the ticket-granting service.&lt;/p&gt;
 &lt;p&gt;Kerberos authentication uses conventional shared-secret cryptography to prevent packets that are traveling across the network from being read or changed.&lt;/p&gt;
 &lt;p&gt;Kerberos' authentication mechanism also protects messages from &lt;a href="https://www.techtarget.com/searchunifiedcommunications/definition/eavesdropping"&gt;eavesdropping&lt;/a&gt; and replay attacks. This is due to the use of strong cryptography with encrypted secret keys and third-party authorization. Also, &lt;a href="https://www.techtarget.com/searchsecurity/definition/password"&gt;passwords&lt;/a&gt; are never sent over networks, minimizing the potential for threat actors to steal user identities or impersonate them to access systems and services on the network.&lt;/p&gt;
 &lt;p&gt;Another benefit of Kerberos is that it enables effective access control. IT &lt;a href="https://www.techtarget.com/searchnetworking/definition/system-administrator"&gt;admininistrators&lt;/a&gt; can enforce security policies to control system access. It also improves user experience because they need to be authenticated only once. As long as the Kerberos ticket is active, users don't have to enter their login credentials multiple times to access a system.&lt;/p&gt;
&lt;/section&gt;     
&lt;section class="section main-article-chapter" data-menu-title="Kerberos objectives, concepts and terms"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Kerberos objectives, concepts and terms&lt;/h2&gt;
 &lt;p&gt;Goals for the Kerberos system are spelled out in a &lt;a target="_blank" href="https://www.kerberos.org/software/tutorial.html" rel="noopener"&gt;tutorial&lt;/a&gt; written by Fulvio Ricciardi of the National Institute of Nuclear Physics in Lecce, Italy. They include the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Passwords must never be transmitted over the network.&lt;/li&gt; 
  &lt;li&gt;Passwords must never be stored on client systems and always must be discarded immediately after they are used.&lt;/li&gt; 
  &lt;li&gt;Passwords are never stored in plaintext, even on the ASes.&lt;/li&gt; 
  &lt;li&gt;A password is entered only once in each session. This is an early form of single sign-on (&lt;a href="https://www.techtarget.com/searchsecurity/definition/single-sign-on"&gt;SSO&lt;/a&gt;) authentication, and it means that users can authenticate themselves just once but still access any systems for which they are authorized.&lt;/li&gt; 
  &lt;li&gt;All authentication information is maintained in a centralized AS. The application servers themselves do not store any authentication information. This enables the following features:&lt;/li&gt; 
  &lt;li style="list-style: none;"&gt; 
   &lt;ul style="list-style-type: circle;" class="default-list"&gt; 
    &lt;li&gt;An administrator can disable authorization for a user to use &lt;i&gt;any&lt;/i&gt; application server from the centralized AS. Access to individual servers is not necessary to revoke authorization.&lt;/li&gt; 
    &lt;li&gt;A single user password is enough to access all Kerberos-authenticated services. A user can reset their password just once, no matter how many services they are authenticated to use.&lt;/li&gt; 
    &lt;li&gt;Protecting user information is simplified because all user authentication information is stored on one centralized AS rather than on all the individual servers the user is authorized to use.&lt;/li&gt; 
   &lt;/ul&gt; &lt;/li&gt; 
  &lt;li&gt;All parties -- users and application servers -- must authenticate themselves when prompted. Users authenticate when they sign in. Application services may be required to authenticate themselves to the client.&lt;/li&gt; 
  &lt;li&gt;Kerberos provides a mechanism for clients and servers to set up an encrypted circuit so that networked communications are private.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="History of Kerberos"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;History of Kerberos&lt;/h2&gt;
 &lt;p&gt;Kerberos was developed in the 1980s at the Massachusetts Institute of Technology (MIT) as part of Project Athena. This project, named after the ancient Greek goddess of wisdom, aimed to provide MIT students with easier access to computing resources. One of the outcomes of this groundbreaking project was the development of Kerberos as the authentication system.&lt;/p&gt;
 &lt;p&gt;Before Athena and Kerberos, networked systems at MIT typically authenticated users with a user ID-and-password combination. Systems routinely transmitted passwords "in the clear," meaning unencrypted. Attackers with access to the network could eavesdrop on network transmissions, intercept user IDs and passwords, and then attempt to access systems for which they were not authorized.&lt;/p&gt;
 &lt;p&gt;Kerberos developers set out to provide a network authentication protocol that could authenticate trusted hosts communicating over untrusted networks. In particular, they intended to provide system administrators with a mechanism for authenticating access to systems over an open network -- the internet.&lt;/p&gt;
 &lt;p&gt;Kerberos was initially designed as the Kerberos Authentication and Authorization System in a &lt;a target="_blank" href="https://web.mit.edu/Saltzer/www/publications/athenaplan/e.2.1.pdf" rel="noopener"&gt;paper&lt;/a&gt; with the same name written by S.P. Miller, B.C. Neuman, J.I. Schiller and J.H. Saltzer. The designers intended Kerberos' authentication as a means for supporting authorization. Thus, its original objectives were to provide a way for users of the MIT network to do the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;Securely authenticate themselves to the systems they needed to use.&lt;/li&gt; 
  &lt;li&gt;Be authorized to access those systems.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;In 2005, the &lt;a href="https://www.techtarget.com/whatis/definition/IETF-Internet-Engineering-Task-Force"&gt;Internet Engineering Task Force&lt;/a&gt; published the Kerberos protocol as a Proposed Standard in &lt;a target="_blank" href="https://datatracker.ietf.org/doc/html/rfc4120" rel="noopener"&gt;Request for Comments 4120&lt;/a&gt;. The MIT Kerberos Consortium was founded in September 2007 to further the development of the technology. In 2013, the consortium was expanded and renamed the MIT Kerberos and Internet Trust Consortium.&lt;/p&gt;
 &lt;p&gt;Since its early days, numerous OSes have incorporated Kerberos' authentication system. Starting with &lt;a href="https://www.techtarget.com/searchenterprisedesktop/definition/Windows-2000"&gt;Windows 2000&lt;/a&gt;, Microsoft has used the Kerberos protocol as the default authentication method in Windows versions, and it is an integral part of the Windows Active Directory (&lt;a href="https://www.techtarget.com/searchwindowsserver/definition/Active-Directory"&gt;AD&lt;/a&gt;) service. &lt;a href="https://www.techtarget.com/searchnetworking/definition/broadband"&gt;Broadband&lt;/a&gt; service providers also use the protocol to authenticate cable modems and set-top boxes accessing their networks. Many secure systems also use Kerberos for authentication, including file sharing software, file storing mechanisms and SSO systems.&lt;/p&gt;
 &lt;p&gt;The current version of Kerberos -- as of March 2025 -- is V5 Release 1.21.3. This version, which was released in June 2024, is free to download from &lt;a href="https://web.mit.edu/kerberos/" target="_blank" rel="noopener"&gt;MIT's Kerberos webpage&lt;/a&gt;. It fixes many issues from previous versions, including vulnerabilities in General Support System message token handling and a memory leak in the macOS cache type.&lt;/p&gt;
 &lt;div class="youtube-iframe-container"&gt;
  &lt;iframe id="ytplayer-0" src="https://www.youtube.com/embed/YvHmP2WyBVY?autoplay=0&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;widget_referrer=null&amp;amp;enablejsapi=1&amp;amp;origin=https://www.techtarget.com" type="text/html" height="360" width="640" frameborder="0"&gt;&lt;/iframe&gt;
 &lt;/div&gt;
&lt;/section&gt;          
&lt;section class="section main-article-chapter" data-menu-title="What is Kerberos used for?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;What is Kerberos used for?&lt;/h2&gt;
 &lt;p&gt;The protocol is used by default in many widely used networking systems. Some systems in which Kerberos support is incorporated or available are the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Amazon Web Services (AWS).&lt;/b&gt; A cloud computing platform that provides 200-plus services, like compute, storage, databases, analytics and artificial intelligence -- all of which can be accessed on demand from anywhere and in a pay-as-you-go fashion.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Google Cloud.&lt;/b&gt; Similar to AWS, a set of cloud computing services delivered on demand from Google's globally distributed data centers.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Microsoft Azure.&lt;/b&gt; Another cloud computing platform that provides services like compute, storage, networking and analytics delivered over the cloud.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Apple macOS.&lt;/b&gt; A GUI-based OS for Apple's Mac computers.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Hewlett Packard Unix. &lt;/b&gt;A proprietary OS for HP systems that provides high availability and security, plus features for virtualization and workload management for mission-critical computing applications.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;IBM Advanced Interactive eXecutive.&lt;/b&gt; A stable and secure Unix-based OS for use in workstations, servers and network-attached storage.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Microsoft Windows Server.&lt;/b&gt; A family of server OSes that implements Kerberos V5 for public key authentication.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Microsoft AD.&lt;/b&gt; A directory service to manage user access and permissions -- it uses a domain controller and Kerberos to authenticate user accounts.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Oracle Solaris. &lt;/b&gt;A proprietary Unix OS and platform for deploying enterprise-grade clouds.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Red Hat Enterprise Linux.&lt;/b&gt; An enterprise Linux platform that runs on all major public clouds, including AWS, Azure and Google Cloud.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;FreeBSD and OpenBSD.&lt;/b&gt; Two free, open source, Unix-like OSes suitable for a wide range of applications.&lt;/li&gt; 
 &lt;/ul&gt;
&lt;/section&gt;   
&lt;section class="section main-article-chapter" data-menu-title="Is Kerberos secure?"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Is Kerberos secure?&lt;/h2&gt;
 &lt;p&gt;The Kerberos protocol, which has been widely implemented in recent decades, is considered a secure, mature and safe mechanism for authenticating users. One reason is that it uses strong cryptography, including secret key encryption, to protect sensitive data and to limit resource access only to authenticated and authorized users.&lt;/p&gt;
 &lt;p&gt;Over the years, security researchers have found some weaknesses in specific Kerberos implementations and in the protocol itself. Some of these historic weaknesses as used in Windows networks were &lt;a target="_blank" href="https://dfirblog.wordpress.com/2015/12/13/protecting-windows-networks-kerberos-attacks/" rel="noopener"&gt;summarized in a 2015 blog post&lt;/a&gt; by security researcher Elmar Nabigaev. They included the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Pass-the-key attack.&lt;/b&gt; This is a form of &lt;a href="https://www.techtarget.com/searchsecurity/definition/pass-the-hash-attack"&gt;pass-the-hash attack&lt;/a&gt; in which attackers impersonate authorized users by replaying their credentials.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Pass-the-ticket attack.&lt;/b&gt; Attackers intercept and reuse tickets sent to or from an authenticated user to impersonate them and reuse their service tickets.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Golden ticket attack.&lt;/b&gt; This is an attack that uses access to the Windows &lt;a href="https://www.techtarget.com/searchwindowsserver/definition/domain-controller"&gt;domain controller&lt;/a&gt; to create credentials that give unlimited access to application services.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;But these weaknesses have been addressed in subsequent releases, and Kerberos remains a secure choice for authentication applications over the internet.&lt;/p&gt;
 &lt;p&gt;To keep Kerberos secure, you should stay updated on information about its security vulnerabilities that may be published online, particularly on MIT's Kerberos webpage. It's equally important to implement all the software updates that can mitigate or remediate these flaws.&lt;/p&gt;
&lt;/section&gt;      
&lt;section class="section main-article-chapter" data-menu-title="Kerberos vs. other network authentication protocols"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Kerberos vs. other network authentication protocols&lt;/h2&gt;
 &lt;p&gt;Kerberos is not the only authentication protocol in general use, but it is probably the most widely used one. Kerberos has been proven to be a secure protocol, capable of coping with unexpected input or errors during execution.&lt;/p&gt;
 &lt;h3&gt;Kerberos vs. Microsoft NTLM&lt;/h3&gt;
 &lt;p&gt;Microsoft New Technology LAN Manager (NTLM) is a family of authentication protocols used in Microsoft Windows 10, Windows 11, Windows Server 2019, Windows Server 2022 and Windows Server 2025. These protocols incorporate a &lt;a href="https://www.techtarget.com/searchsecurity/definition/challenge-response-system"&gt;challenge-response&lt;/a&gt; mechanism to prove to a server that a user knows the password associated with an account, thus authenticating them for accessing that account.&lt;/p&gt;
 &lt;p&gt;Both Microsoft and non-Microsoft applications can use NTLM for user authentication. However, for AD environments, Microsoft prefers Kerberos V5 authentication.&lt;/p&gt;
 &lt;h3&gt;Kerberos vs. LDAP&lt;/h3&gt;
 &lt;p&gt;Lightweight Directory Access Protocol (&lt;a href="https://www.techtarget.com/searchmobilecomputing/definition/LDAP"&gt;LDAP&lt;/a&gt;) is a standard directory access protocol to connect to and search internet directories. Running above the TCP/IP stack, it offers a method for maintaining and accessing authoritative information about user accounts and for authorizing user access to accounts on networked services.&lt;/p&gt;
 &lt;p&gt;Unlike LDAP, Kerberos is a ticket-based authentication protocol. That said, LDAP and Kerberos are often used together, with LDAP providing authorization services and Kerberos providing authentication services for large networks.&lt;/p&gt;
 &lt;h3&gt;Kerberos vs. RADIUS&lt;/h3&gt;
 &lt;p&gt;The Remote Authentication Dial-In User Service (&lt;a href="https://www.techtarget.com/searchsecurity/definition/RADIUS"&gt;RADIUS&lt;/a&gt;) protocol was designed to provide an authentication service for dial-in users to remotely access &lt;a href="https://www.techtarget.com/whatis/definition/ISP-Internet-service-provider"&gt;internet service providers&lt;/a&gt; or corporate networks over direct connections, like dial-up phone lines. RADIUS can be used for authorization and accounting of network services. It can also be integrated with Kerberos to provide stronger authentication.&lt;/p&gt;
 &lt;p&gt;Three different sets of entities use Kerberos:&lt;/p&gt;
 &lt;ol type="1" start="1" class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Kerberos principal.&lt;/b&gt; This is any unique identity that Kerberos can assign a ticket to. For most users, a principal is the same as a user ID. It also includes hosts and services that can be assigned Kerberos tickets. Individual clients are one type of Kerberos principal. The service principal is an identity assigned to an application service that is accessed through Kerberos. A principal is uniquely identified with at least three pieces of information:&lt;/li&gt; 
  &lt;ol type="a" start="1" class="default-list"&gt; 
   &lt;li&gt;For users, the principal primary is a username. For hosts, the primary is the word &lt;i&gt;host&lt;/i&gt;. For services, the primary name is the service's name.&lt;/li&gt; 
   &lt;li&gt;An optional identifier of the principal usually specifies the host name of the system the primary is associated with.&lt;/li&gt; 
   &lt;li&gt;Kerberos servers operate in a limited network region, called a &lt;i&gt;realm&lt;/i&gt;. Realms are identified by &lt;a href="https://www.techtarget.com/searchnetworking/definition/domain-name-system"&gt;domain name system&lt;/a&gt; named domains. A principal's realm is the domain name in which the Kerberos server operates.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;li&gt;&lt;b&gt;Kerberos application server.&lt;/b&gt; This is any system providing access to resources that need client authentication through Kerberos. For example, application servers can include file and print services, terminal emulation, &lt;a href="https://www.techtarget.com/searchsecurity/definition/remote-access"&gt;remote&lt;/a&gt; computing and &lt;a href="https://www.techtarget.com/whatis/definition/e-mail-electronic-mail-or-email"&gt;email&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Kerberos KDC.&lt;/b&gt; The Kerberos authentication process depends on the following KDC components:&lt;/li&gt; 
  &lt;ol type="a" start="1" class="default-list"&gt; 
   &lt;li&gt;&lt;b&gt;Kerberos database.&lt;/b&gt; This maintains a record for each principal in the realm. This is the centralized repository for Kerberos authentication information. It includes identifying information of the principal and the systems and services for which that principal can be authenticated to use.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Kerberos authentication service.&lt;/b&gt; Network clients use this Kerberos service to authenticate themselves to get a TGT, also known as an &lt;i&gt;authentication ticket&lt;/i&gt;.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Kerberos ticket-granting service.&lt;/b&gt; This Kerberos service accepts the TGT so that clients can access their application servers.&lt;/li&gt; 
  &lt;/ol&gt; 
 &lt;/ol&gt;
 &lt;p&gt;Authentication with Kerberos is based on the use of authentication tickets. An authentication ticket indicates that the user is authenticated through the Kerberos authentication service. After it has been granted, the user can request other tickets to access specific application services.&lt;/p&gt;
 &lt;p&gt;&lt;em&gt;Authentication is a security layer used to protect all networks and applications. Read up on authentication types, from two-factor authentication to biometrics to certificates. Use these &lt;a href="https://www.techtarget.com/searchsecurity/tip/Use-these-6-user-authentication-types-to-secure-networks"&gt;user authentication types to secure networks&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Kerberos is a protocol for authenticating service requests between trusted hosts across an untrusted network, such as the internet.</description>
            <image>https://cdn.ttgtmedia.com/visuals/digdeeper/4.jpg</image>
            <link>https://www.techtarget.com/searchsecurity/definition/Kerberos</link>
            <pubDate>Mon, 10 Mar 2025 09:00:00 GMT</pubDate>
            <title>What is Kerberos and how does it work?</title>
        </item>
        <item>
            <body>&lt;p&gt;Hardcoded passwords have long been a standard in basic security and authentication practices. However, businesses and enterprises that manage critical data require further layers of security.&lt;/p&gt; 
&lt;p&gt;In Azure, service principals are a core part of access control management for applications and automation-related tasks. They represent a form of identity that applications or services use to authenticate and access specific resources in Azure. This helps secure interactions within a cloud environment.&lt;/p&gt; 
&lt;p&gt;Service principals are the modern replacement for the traditional service account that provides security context for specific services. With these principals, access to vital services can be much more fine-grained than a traditional account. Conveniently, principals can also enable access to resources without users needing to memorize or &lt;a href="https://www.techtarget.com/searchitoperations/tutorial/How-to-secure-passwords-with-PowerShell"&gt;store passwords&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt;Learn the basic steps to create an Azure service principal, and learn about other security identities that can protect valuable resources.&lt;/p&gt; 
&lt;section class="section main-article-chapter" data-menu-title="Create an Azure service principal"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Create an Azure service principal&lt;/h2&gt;
 &lt;p&gt;Let's walk through an example to better understand how Azure service principals function.&lt;/p&gt;
 &lt;p&gt;When creating a service principal, begin by registering an app in Microsoft Entra ID, which generates a unique application ID. Registration defines the application's identity in Entra ID and is the foundation for creating a service principal.&lt;/p&gt;
 &lt;p&gt;An Azure service principal consists of several discrete fields, such as the following:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;Application ID.&lt;/b&gt; This serves as a unique identifier for the service principal within Entra ID.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Directory ID. &lt;/b&gt;A representation of the Entra ID instance the service principal was created under.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Client secrets and certificates. &lt;/b&gt;The credential the application uses to authenticate itself when calling Azure resources. Certificates are usually preferred over client secrets as they are harder to compromise.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Role assignments. &lt;/b&gt;Role-based access control (&lt;a href="https://www.techtarget.com/searchsecurity/definition/role-based-access-control-RBAC"&gt;RBAC&lt;/a&gt;) assigns specific roles to the service principal, defining what it can access. Common roles include Contributor, Reader and Owner.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Environmental variables. &lt;/b&gt;These store credentials in pipelines or automation scripts.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;p&gt;Once these fields have been completed, users can deploy their Terraform plan. Be sure to delete the plan when done. Unless users intend to maintain their resource or service principal, they should delete it after use so they &lt;a href="https://www.techtarget.com/searchcloudcomputing/tip/Implement-these-Azure-cost-optimization-best-practices"&gt;don't incur further charges through Azure&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;Let's create an Azure service principal to deploy a Terraform plan and create a basic VM using the Azure CLI and the Terraform app. Ensure that both are installed locally.&lt;/p&gt;
 &lt;h3&gt;Step 1. Create the service principal&lt;/h3&gt;
 &lt;p&gt;Create an Azure service principal with the Azure CLI. Start the CLI from the command line, and log in to Azure using the command &lt;span style="font-family: courier new, courier, monospace;"&gt;az login&lt;/span&gt;.&lt;/p&gt;
 &lt;p&gt;Once logged in, create the service principal with the following command:&lt;/p&gt;
 &lt;pre&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; az ad sp create-for-rbac --name "myServicePrincipal" -- role Contributor -- scopes /subscriptions/&amp;lt;SUBSCRIPTION_ID&amp;gt;&lt;/span&gt;&lt;/pre&gt;
 &lt;p&gt;Replace &lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;SUBSCRIPTION_ID&amp;gt;&lt;/span&gt; with the appropriate subscription ID.&lt;/p&gt;
 &lt;p&gt;This command outputs the following key information:&lt;/p&gt;
 &lt;ul class="default-list"&gt; 
  &lt;li&gt;&lt;b&gt;AppId.&lt;/b&gt; The application ID.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Password.&lt;/b&gt; A client secret for this example for brevity.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Tenant.&lt;/b&gt; The directory ID.&lt;/li&gt; 
 &lt;/ul&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/burns_figure1-h.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/burns_figure1-h_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/burns_figure1-h_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/burns_figure1-h.jpg 1280w" alt="View of Azure's output console."&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;This output console displays, prompting the user to enter specific information.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Save this information because you will need this information again to configure Terraform in the system. Verify the service principal using the appId that was provided in the previous command:&lt;/p&gt;
 &lt;pre&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;az ad sp show --id &amp;lt;appId&amp;gt;&lt;/span&gt;&lt;/pre&gt;
 &lt;p&gt;This shows information about the service principal application ID.&lt;/p&gt;
 &lt;h3&gt;Step 2. Set up environment variables&lt;/h3&gt;
 &lt;p&gt;To enable Terraform to authenticate with Azure, set the following environment variables:&lt;/p&gt;
 &lt;pre&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; export ARM_CLIENT_ID="&amp;lt;appId&amp;gt;"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; export ARM_CLIENT_SECRET="&amp;lt;password&amp;gt;"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; export ARM_SUBSCRIPTION_ID="&amp;lt;SUBSCRIPTION_ID&amp;gt;"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp; export ARM_TENANT_ID="&amp;lt;tenant&amp;gt;"&lt;/span&gt;&lt;/pre&gt;
 &lt;p&gt;Replace &lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;appId&amp;gt;&lt;/span&gt;, &lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;password&amp;gt;&lt;/span&gt;,&lt;b&gt; &lt;/b&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;SUBSCRIPTION_ID&amp;gt;&lt;/span&gt; and &lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;lt;tenant&amp;gt;&lt;/span&gt; with the values from the output of the service principal creation earlier. This exposes those items as a variable so that Terraform can read them.&lt;/p&gt;
 &lt;h3&gt;Step 3. Deploy a VM using Terraform&lt;/h3&gt;
 &lt;p&gt;Create a new folder for the Terraform configuration file. Copy and paste the below data into a file and save it as main.tf file.&lt;/p&gt;
 &lt;pre&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;hcl&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt; &amp;nbsp; provider "azurerm" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; features {}&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; resource "azurerm_resource_group" "example" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "example-resources"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location = "East US"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; resource "azurerm_virtual_network" "example" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "example-network"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address_space&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ["10.0.0.0/16"]&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = azurerm_resource_group.example.location&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource_group_name = azurerm_resource_group.example.name&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; resource "azurerm_subnet" "example" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "example-subnet"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource_group_name&amp;nbsp; = azurerm_resource_group.example.name&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; virtual_network_name = azurerm_virtual_network.example.name&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; address_prefixes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = ["10.0.1.0/24"]&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; resource "azurerm_network_interface" "example" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "example-nic"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = azurerm_resource_group.example.location&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource_group_name = azurerm_resource_group.example.name&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_configuration {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "internal"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subnet_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = azurerm_subnet.example.id&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private_ip_address_allocation = "Dynamic"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; resource "azurerm_linux_virtual_machine" "example" {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "example-vm"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = azurerm_resource_group.example.location&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resource_group_name = azurerm_resource_group.example.name&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "Standard_DS1_v2"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; network_interface_ids = [&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; azurerm_network_interface.example.id,&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; os_disk {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; caching&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "ReadWrite"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; storage_account_type = "Standard_LRS"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_image_reference {&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publisher = "Canonical"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "UbuntuServer"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sku&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "22.04-LTS"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version&amp;nbsp;&amp;nbsp; = "latest"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin_username = "azureuser"&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin_ssh_key { username&amp;nbsp;&amp;nbsp; = "azureuser" public_key = file("~/.ssh/id_rsa.pub") # Path to your public key }&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin_password = "P@ssw0rd1234!" # Choose a strong password&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: courier new, courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/pre&gt;
 &lt;p&gt;To deploy it, use the same terminal window as before. Navigate to the newly created Terraform folder, and run the following command: &lt;span style="font-family: courier new, courier, monospace;"&gt;terraform init&lt;/span&gt;. This command prepares the file and checks that it is properly formatted.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/burns_figure2-h.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/burns_figure2-h_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/burns_figure2-h_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/burns_figure2-h.jpg 1280w" alt="Terraform has been initialized."&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Once users enter the initialization command, a window displays a 'successfully initialized' message.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The next stage is for Terraform to review and apply the configuration. Use the command &lt;span style="font-family: courier new, courier, monospace;"&gt;terraform plan&lt;/span&gt;.&lt;/p&gt;
 &lt;p&gt;Finally, assuming no errors, apply the Terraform configuration using the command &lt;span style="font-family: courier new, courier, monospace;"&gt;terraform apply&lt;/span&gt;.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/burns_figure3-h.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/burns_figure3-h_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/burns_figure3-h_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/burns_figure3-h.jpg 1280w" alt="The VM is created successfully."&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;The user's VM is created once they use the apply command.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;The administrator needs to confirm the deployment. Confirm the prompt to proceed with deployment by typing &lt;b&gt;yes&lt;/b&gt;. Terraform starts creating the resources as defined in the file.&lt;/p&gt;
 &lt;p&gt;Once Terraform deploys, an output message displays showing the VM's IP address. Verify the VM in the Azure portal. The administrator should be able to log in via SSH using the key pair included in the Terraform file. Below is the output of the Terraform plan from this example.&lt;/p&gt;
 &lt;figure class="main-article-image full-col" data-img-fullsize="https://www.techtarget.com/rms/onlineimages/burns_figure4-h.jpg"&gt;
  &lt;img data-src="https://www.techtarget.com/rms/onlineimages/burns_figure4-h_mobile.jpg" class="lazy" data-srcset="https://www.techtarget.com/rms/onlineimages/burns_figure4-h_mobile.jpg 960w,https://www.techtarget.com/rms/onlineimages/burns_figure4-h.jpg 1280w" alt="Output message displays the VM IP address."&gt;
  &lt;figcaption&gt;
   &lt;i class="icon pictures" data-icon="z"&gt;&lt;/i&gt;Users see an output message displaying the Terraform plan they launched and their VM's IP address.
  &lt;/figcaption&gt;
  &lt;div class="main-article-image-enlarge"&gt;
   &lt;i class="icon" data-icon="w"&gt;&lt;/i&gt;
  &lt;/div&gt;
 &lt;/figure&gt;
 &lt;p&gt;Remember, running resources in Azure costs money. Ensure that any unused resources are deleted after use to avoid further charges. Using Terraform and service principals, the administrator can destroy the resources with the &lt;span style="font-family: courier new, courier, monospace;"&gt;terraform destroy&lt;/span&gt; command.&lt;/p&gt;
 &lt;p&gt;Confirm when prompted, and Terraform removes all resources defined in the main.tf file.&lt;/p&gt;
&lt;/section&gt;                                   
&lt;section class="section main-article-chapter" data-menu-title="Azure service principals vs. managed identities"&gt;
 &lt;h2 class="section-title"&gt;&lt;i class="icon" data-icon="1"&gt;&lt;/i&gt;Azure service principals vs. managed identities&lt;/h2&gt;
 &lt;p&gt;Service principals are just one form of security identity in Azure -- &lt;a href="https://www.techtarget.com/searchcloudcomputing/tip/Managed-identity-vs-service-principal-for-Azure-apps"&gt;another is managed identities&lt;/a&gt;. They provide an identity to applications that access Azure resources. Both service principals and managed identities enable granular, programmatic access to Azure infrastructure without putting passwords into scripts.&lt;/p&gt;
 &lt;p&gt;Managed identities can be system-assigned or user-assigned. With system-assigned managed identities, admins create an identity as a part of a specific Azure resource, such as a VM. That identity shares a lifecycle with its associated resource. When an admin deletes the resource, they also delete the identity. User-assigned identities, on the other hand, are not tied to a specific resource. They have their own lifecycle and can be shared across resources.&lt;/p&gt;
 &lt;p&gt;The key difference between Azure service principals and managed identities is that, with the latter, admins do not have to manage credentials, including passwords.&lt;/p&gt;
 &lt;p&gt;To create a managed identity, go to the Azure portal, and navigate to the managed identity blade. Then, assign a role to the identity. From here, administrators can also set the duration of validity for a managed identity.&lt;/p&gt;
 &lt;p&gt;&lt;b&gt;Editor's note:&lt;/b&gt;&lt;i&gt; This article was updated to reflect changes in the best practices for creating Azure service principals.&lt;/i&gt;&lt;/p&gt;
 &lt;p&gt;&lt;i&gt;Stuart Burns is an enterprise Linux administrator at a leading company that specializes in catastrophe and disaster modeling.&lt;/i&gt;&lt;/p&gt;
&lt;/section&gt;</body>
            <description>Service principals are a convenient and secure way to protect Azure resources. Follow this step-by-step guide to create a service principal that defends vital Azure workloads.</description>
            <image>https://cdn.ttgtmedia.com/rms/onlineimages/maze_g824298136.jpg</image>
            <link>https://www.techtarget.com/searchcloudcomputing/tip/Why-and-how-to-create-Azure-service-principals</link>
            <pubDate>Fri, 28 Feb 2025 09:00:00 GMT</pubDate>
            <title>Why and how to create Azure service principals</title>
        </item>
        <title>SearchWindows Server Resources and Information from TechTarget</title>
        <ttl>60</ttl>
        <webMaster>webmaster@techtarget.com</webMaster>
    </channel>
</rss>
