{"id":208580,"date":"2024-02-22T14:09:06","date_gmt":"2024-02-22T14:09:06","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/anleitung-ntlm-authentifizierung-powershell-einrichten\/"},"modified":"2024-03-04T18:41:26","modified_gmt":"2024-03-04T18:41:26","slug":"anleitung-ntlm-authentifizierung-powershell-einrichten","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/anleitung-ntlm-authentifizierung-powershell-einrichten\/","title":{"rendered":"Festlegen der NTLM-Authentifizierung in Windows mit PowerShell"},"content":{"rendered":"<p>In einer sich st\u00e4ndig weiterentwickelnden Cybersecurity-Landschaft ist die Sicherung von Kommunikation und Datenaustausch von h\u00f6chster Bedeutung. Ein Protokoll, das in diesem Zusammenhang besonders diskutiert wird, ist NTLM (NT LAN Manager), das zur Authentifizierung von Benutzer:innen in Microsoft-Umgebungen verwendet wird. Mit den j\u00fcngsten Fortschritten und Bedenken hinsichtlich Sicherheit hat es eine Umstellung von \u00e4lteren NTLM-Versionen auf das sicherere NTLMv2 gegeben. Heute werden wir tief in ein PowerShell-Skript eintauchen, das dabei hilft, die <strong>NTLM-Authentifizierungs<\/strong>-Antworten zu verwalten, indem es den LmCompatibilityLevel in der Windows-Registrierung festlegt.<\/p>\n<h2>Hintergrund<\/h2>\n<p>Urspr\u00fcnglich von Microsoft als Authentifizierungsprotokoll entwickelt, hat NTLM mehrere Aktualisierungen durchlaufen, um verschiedene Sicherheitsl\u00fccken anzugehen. Allerdings wurde mit dem Aufkommen sicherer Authentifizierungsmechanismen, insbesondere NTLMv2, deutlich, dass es notwendig wurde, \u00e4ltere Versionen einzuschr\u00e4nken oder zu deaktivieren. Dieses Skript unterst\u00fctzt IT-Profis und <a href=\"https:\/\/www.ninjaone.com\/de\/was-ist-ein-msp\/\">Managed Service Providers (MSPs)<\/a> dabei, diese Umstellung reibungslos zu vollziehen, ohne manuell durch komplexe Registrierungseinstellungen navigieren zu m\u00fcssen.<\/p>\n<h2>Das Skript<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">#Requires -Version 5.1\r\n\r\n&lt;#\r\n.SYNOPSIS\r\n    Set the LM and NTLMv1 authentication responses via LmCompatibilityLevel in the registry\r\n.DESCRIPTION\r\n    Set the LM and NTLMv1 authentication responses via LmCompatibilityLevel in the registry\r\n.EXAMPLE\r\n    No parameters needed.\r\n    Sets LAN Manager auth level to 5, \"Send NTLMv2 response only. Refuse LM &amp; NTLM.\"\r\n.EXAMPLE\r\n     -LmCompatibilityLevel 5\r\n    Sets LAN Manager auth level to 5, \"Send NTLMv2 response only. Refuse LM &amp; NTLM.\"\r\n.EXAMPLE\r\n     -LmCompatibilityLevel 3\r\n    Sets LAN Manager auth level to 3, \"Send NTLMv2 response only.\"\r\n    This is the default from Windows 7 and up.\r\n.EXAMPLE\r\n    PS C:&gt; Disable-LmNtlmV1.ps1 -LmCompatibilityLevel 5\r\n    Sets LAN Manager auth level to 5, \"Send NTLMv2 response only. Refuse LM &amp; NTLM.\"\r\n.OUTPUTS\r\n    None\r\n.NOTES\r\n    Minimum OS Architecture Supported: Windows 10, Windows Server 2016\r\n    Reference chart: https:\/\/ss64.com\/nt\/syntax-ntlm.html\r\n    Release Notes:\r\n    Initial Release\r\nBy using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n    Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n.COMPONENT\r\n    ProtocolSecurity\r\n#&gt;\r\n\r\n[CmdletBinding()]\r\nparam (\r\n    [Parameter()]\r\n    [ValidateRange(0, 5)]\r\n    [int]\r\n    $LmCompatibilityLevel = 5\r\n)\r\n\r\nbegin {\r\n    function Test-IsElevated {\r\n        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()\r\n        $p = New-Object System.Security.Principal.WindowsPrincipal($id)\r\n        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))\r\n        { Write-Output $true }\r\n        else\r\n        { Write-Output $false }\r\n    }\r\n    function Set-ItemProp {\r\n        param (\r\n            $Path,\r\n            $Name,\r\n            $Value,\r\n            [ValidateSet(\"DWord\", \"QWord\", \"String\", \"ExpandedString\", \"Binary\", \"MultiString\", \"Unknown\")]\r\n            $PropertyType = \"DWord\"\r\n        )\r\n        New-Item -Path $Path -Force -ErrorAction SilentlyContinue | Out-Null\r\n        if ((Get-ItemProperty -Path $Path -Name $Name -ErrorAction SilentlyContinue)) {\r\n            Set-ItemProperty -Path $Path -Name $Name -Value $Value -Force -Confirm:$false | Out-Null\r\n        }\r\n        else {\r\n            New-ItemProperty -Path $Path -Name $Name -Value $Value -PropertyType $PropertyType -Force -Confirm:$false | Out-Null\r\n        }\r\n    }\r\n}\r\nprocess {\r\n    if (-not (Test-IsElevated)) {\r\n        Write-Error -Message \"Access Denied. Please run with Administrator privileges.\"\r\n        exit 1\r\n    }\r\n    $Path = @(\r\n        \"HKLM:SYSTEMCurrentControlSetServicesLsa\"\r\n        \"HKLM:SYSTEMCurrentControlSetControlLSA\"\r\n    )\r\n    $Name = \"LmCompatibilityLevel\"\r\n    # $Value = $LmCompatibilityLevel\r\n    # Sets LmCompatibilityLevel to $LmCompatibilityLevel\r\n    try {\r\n        $Path | ForEach-Object {\r\n            Set-ItemProp -Path $_ -Name $Name -Value $LmCompatibilityLevel\r\n        }\r\n        \r\n    }\r\n    catch {\r\n        Write-Error $_\r\n        exit 1\r\n    }\r\n    $Path | ForEach-Object {\r\n        $Value = Get-ItemPropertyValue -Path $_ -Name $Name -ErrorAction SilentlyContinue\r\n        if ($null -eq $Value) {\r\n            Write-Host \"$_$Name set to: OS's default value(3).\"\r\n        }\r\n        else {\r\n            Write-Host \"$_$Name set to: $Value\"\r\n        }\r\n    }\r\n}\r\nend {}<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p style=\"text-align: center;\">Zugriff auf \u00fcber 300 Skripte im NinjaOne Dojo<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/www.ninjaone.com\/de\/kostenlosetestversionformular\/\">Zugang erhalten<\/a><\/p>\n<\/div>\n<h2>Detailansicht<\/h2>\n<p>Das Skript ist im Wesentlichen in drei Phasen unterteilt: <em>begin<\/em>, <em>process<\/em> und <em>end<\/em>.<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Beginn der Phase<\/strong>: Das Skript beginnt mit der Definition zweier Funktionen:<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Test-IsElevated<\/strong>: \u00dcberpr\u00fcft, ob das Skript mit Administratorrechten ausgef\u00fchrt wird.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Set-ItemProp<\/strong>: Erstellt oder setzt eine Eigenschaft eines Registrierungsschl\u00fcssels.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Prozess-Phase<\/strong>: Es \u00fcberpr\u00fcft, ob der Benutzer erh\u00f6hte Rechte hat. Ist dies nicht der Fall, wird ein Fehler gemeldet. Andernfalls wird fortgefahren, den <strong>LmCompatibilityLevel<\/strong> in zwei potenziellen Registrierungspfaden zu \u00e4ndern. Nach der \u00c4nderung best\u00e4tigt das Skript die vorgenommene Einstellung.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Endphase<\/strong>: Nicht explizit verwendet, aber es dient als Platzhalter f\u00fcr m\u00f6gliche zuk\u00fcnftige Aktualisierungen oder Erweiterungen des Skripts.<\/li>\n<\/ul>\n<h2>Potenzielle Anwendungsf\u00e4lle<\/h2>\n<p><em>Fallstudie<\/em>: Stellen Sie sich Jenny vor, eine IT-Administratorin in einem mittelgro\u00dfen Unternehmen. Wenn aktiviert, werden alle Ger\u00e4usche vom entfernten Ger\u00e4t an die Lautsprecher des Technikers gesendet. (z.B. Wenn das entfernte Ger\u00e4t ein YouTube-Video abspielt, kann der Techniker den Ton h\u00f6ren.) Bei Hunderten von Maschinen ist es nicht praktikabel, jede einzelne manuell zu aktualisieren. Wenn aktiviert, werden alle Ger\u00e4usche vom entfernten Ger\u00e4t an die Lautsprecher des Technikers gesendet. (z.B. wenn das entfernte Ger\u00e4t ein YouTube-Video abspielt, kann der Techniker den Ton h\u00f6ren.)<\/p>\n<h2>Vergleiche<\/h2>\n<p>Obwohl Gruppenrichtlinien auch f\u00fcr die Verwaltung von NTLM-Einstellungen in einer Organisation verwendet werden k\u00f6nnen, bieten PowerShell-Skripte, wie das besprochene, eine genauere Steuerung und Automatisierung. Sie k\u00f6nnen in gr\u00f6\u00dfere Automatisierungstools oder Arbeitsabl\u00e4ufe integriert werden, um den Prozess effizienter zu gestalten und weniger anf\u00e4llig f\u00fcr manuelle Fehler zu sein.<\/p>\n<h2>FAQs<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Wie pr\u00fcft das Skript, ob es \u00fcber Administratorrechte verf\u00fcgt?<br \/>\n<\/strong> Das Skript verwendet die Funktion <strong>Test-IsElevated<\/strong>, um festzustellen, ob es mit Administratorrechten ausgef\u00fchrt wird.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><strong>Was ist, wenn ich einen anderen Wert f\u00fcr LmCompatibilityLevel festlegen m\u00f6chte?<\/strong><br \/>\nSie k\u00f6nnen dies tun, indem Sie den Parameter <strong>-LmCompatibilityLevel<\/strong> beim Ausf\u00fchren des Skripts angeben, z.B. <strong>Disable-LmNtlmV1.ps1 -LmCompatibilityLevel 3<\/strong>.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><strong>Ist es r\u00fcckw\u00e4rtskompatibel mit \u00e4lteren Windows-Versionen?<\/strong><br \/>\nDas Skript unterst\u00fctzt Windows 10 und Windows Server 2016 und h\u00f6her.<\/li>\n<\/ul>\n<h2>Auswirkungen<\/h2>\n<p>Durch Festlegen des LmCompatibilityLevel bestimmen IT-Profis, wie Systeme die NTLM-Authentifizierung behandeln. Die Beschr\u00e4nkung auf NTLMv2 verbessert die Sicherheit und reduziert Risiken im Zusammenhang mit \u00e4lteren, weniger sicheren Versionen. Es ist jedoch entscheidend sicherzustellen, dass die Kompatibilit\u00e4t gew\u00e4hrleistet ist, da \u00e4ltere Systeme oder Anwendungen nach den \u00c4nderungen m\u00f6glicherweise Konnektivit\u00e4tsprobleme haben k\u00f6nnten.<\/p>\n<h2>Empfehlungen<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Sichern Sie immer den aktuellen Zustand der Registrierung, bevor Sie \u00c4nderungen vornehmen.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Testen Sie das Skript zuerst in einer kontrollierten Umgebung, um seine Auswirkungen zu verstehen.<\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Informieren Sie sich \u00fcber die neuesten bew\u00e4hrten Sicherheitspraktiken und integrieren Sie diese in Ihre routinem\u00e4\u00dfigen Audits.<\/li>\n<\/ul>\n<h2>Abschlie\u00dfende \u00dcberlegungen<\/h2>\n<p>PowerShell-Skripte wie diese erm\u00f6glichen es IT-Profis, die Sicherheit zu st\u00e4rken. Dar\u00fcber hinaus erweitern \u00dcberwachungs- und <a href=\"https:\/\/www.ninjaone.com\/de\/rmm\/\">Managementtools<\/a> wie NinjaOne diese F\u00e4higkeiten zus\u00e4tzlich. Mit integrierten Plattformen f\u00fcr <a href=\"https:\/\/www.ninjaone.com\/de\/rmm\/it-automatisierung\/\">\u00dcberwachung, Automatisierung und Berichterstellung,<\/a> wie NinjaOne stellen Sie sicher, dass Ihre IT-Infrastruktur robust, sicher und effizient bleibt. Diese erg\u00e4nzen Skripte und manuelle Eingriffe.<\/p>\n<p>Denken Sie daran, im Bereich der IT ebnet eine proaktive Vorgehensweise in Kombination mit den richtigen Tools den Weg f\u00fcr <a href=\"https:\/\/www.ninjaone.com\/de\/it-management-fuer-unternehmen\/sicherheit\/\">erh\u00f6hte Sicherheit und effizientes Systemmanagement<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"author":35,"featured_media":144858,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4212],"use_cases":[4307],"class_list":["post-208580","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-windows","use_cases-allgemeine-konfiguration"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub\/208580","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/comments?post=208580"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media\/144858"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=208580"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=208580"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=208580"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}