> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/de/sicherheit/enterprise-security/windows-sso.md).

# Windows SSO

Aktivieren Sie die Windows-Single-Sign-on-Authentifizierung in PowerShell Universal mit Kerberos oder NTLM – einschließlich Hosting-Konfigurationen mit und ohne IIS.

Die Windows-Authentifizierung, auch bekannt als Negotiate-Authentifizierung, verwendet Kerberos oder NTLM, um sich zu authentifizieren, ohne den Benutzer nach einem Passwort zu fragen. Sie wird hauptsächlich in Windows-Domänen unterstützt, kann aber auch in Linux und Mac OS konfiguriert werden.

### appsettings.json

Die Windows-Authentifizierung bietet Single-Sign-on-Unterstützung für Browser und Umgebungen, die dies unterstützen. Um die Windows-Authentifizierung zu aktivieren, setzen Sie die Einstellung `WindowsAuthentication` in `appsettings.json` auf true.

{% code collapsedlinecount="10" %}

```javascript
"Windows": {
  "Enabled": "true"
},
```

{% endcode %}

### Authentication.ps1

Sie können die Windows-Authentifizierung aktivieren, indem Sie unter Secure > Authentication einen neuen Authentifizierungsanbieter hinzufügen. Wählen Sie Windows aus und aktivieren Sie die Authentifizierung.

Sobald Windows auf authentifiziert gesetzt ist, kann die Windows-Authentifizierung nun gegenüber Universal verwendet werden. Sie müssen sich abmelden, um die Windows-Authentifizierung zu verwenden.

### Windows-Authentifizierung in IIS

Um die Windows-Authentifizierung in IIS zu aktivieren, stellen Sie sicher, dass Sie die Windows-Authentifizierung aktivieren und die anonyme Authentifizierung deaktivieren.

Stellen Sie in der web.config-Datei, die mit PowerShell Universal mitgeliefert wird, sicher, dass Sie `forwardWindowsAuthToken` auf `true` gesetzt haben.

{% code collapsedlinecount="10" %}

```
<aspNetCore processPath="Universal.Server.exe" arguments="" forwardWindowsAuthToken="true" stdoutLogEnabled="true" stdoutLogFile=".\logs\log" hostingModel="OutOfProcess"/>
```

{% endcode %}

### Windows-Authentifizierung außerhalb von IIS

Die Windows-Authentifizierung wird auch außerhalb von IIS unterstützt, erfordert jedoch die Konfiguration des Kontos, unter dem der Universal-Dienst ausgeführt wird.

#### Windows

Unter Windows sollten Sie PowerShell Universal als [Windows-Dienst](/powershell-universal/de/getting-started.md#windows) installieren. Sobald der Dienst installiert ist, müssen Sie einen [Dienstkontobenutzer](/powershell-universal/de/config/running-as-a-service-account.md#application-service-account) erstellen und den Dienst so einstellen, dass er unter dem Konto dieses Benutzers ausgeführt wird. Die [Einstellung ](/powershell-universal/de/config/settings.md)für die Windows-Authentifizierung muss auf true gesetzt werden.

{% code collapsedlinecount="10" %}

```javascript
"Windows": {
  "Enabled": "true"
},
```

{% endcode %}

Für das Dienstkonto muss ein Service Principal Name (spn) für das Computerkonto konfiguriert sein. Sie können dies mit dem Befehl `setspn` tun. Der Computername muss der vollqualifizierte Name des Computers sein, auf dem Universal ausgeführt wird.

{% code collapsedlinecount="10" %}

```
setspn -S HTTP/myservername.mydomain.com myuser
```

{% endcode %}

Weitere Informationen finden Sie in der Microsoft-Dokumentation zur Konfiguration der ASP.NET Core-Windows-Authentifizierung: [Konfigurieren eines Windows-Computers für die Windows-Authentifizierung](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.1\&tabs=visual-studio#windows-environment-configuration)

#### Linux

[Konfigurieren eines Linux- oder Mac OS-Computers für die Windows-Authentifizierung](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-3.1\&tabs=visual-studio#linux-and-macos-environment-configuration)

### Zwischengespeicherte Claims

PowerShell Universal speichert Gruppenmitgliedschafts-Claims zwischen, wenn die Windows-Authentifizierung verwendet wird. Claims werden für den konfigurierten Sitzungs-Timeout-Wert zwischengespeichert (Standard ist 25 Minuten).

Um den Cache manuell zu löschen, navigieren Sie zu Secure > Roles und klicken Sie auf die Schaltfläche Clear Cached Claims.

## Browser-Konfiguration

Abhängig von Ihrer lokalen Umgebung müssen Sie möglicherweise Ihren Browser so konfigurieren, dass Anmeldeinformationen korrekt an PowerShell Universal übergeben werden.

* [Google Chrome](https://chromeenterprise.google/policies/#HTTPAuthentication)
* [Microsoft Edge](https://learn.microsoft.com/en-us/deployedge/microsoft-edge-policies#http-authentication-policies)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/de/sicherheit/enterprise-security/windows-sso.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
