Die Gewährung SeServiceLogonRight, um einen Benutzer aus der PowerShell
In einem Skript Schreibe ich momentan erstelle ich einen dedizierten Benutzer für den Start einige windows-Dienste, die wir intern entwickelt. Um zu beginnen, diese services, unsere "eigenen" Benutzer benötigt die Berechtigung SeServiceLogonRight. Derzeit bin ich die Zuweisung dieses Privileg mit ntrights.exe mit dem folgenden Aufruf aus meiner PowerShell-Skript:
{.$global:RootInstallDir\..\Common\SupportTools\ntrights.exe -m $env:COMPUTERNAME -u $HealthLinkUser +r SeServiceLogonRight }
Aber ich bin nicht zufrieden mit diesem. Es muss ein sauberer Weg, das zu tun, mit PowerShell.
- Mögliche Duplikate
- Sie benötigen, um p/invoke. Diese erhalten Sie begann. roelvanlisdonk.nl/?p=1151
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser arbeitete für mich. Sie können entscheiden, das ist sauberer 😉 Der Schlüssel ist die LsaAddAccountRights windows-API-Funktion.
Dieses Skript enthält Funktionen, die gut funktionieren und ohne irgendwelche Abhängigkeiten:
https://gallery.technet.microsoft.com/scriptcenter/Grant-Revoke-Query-user-26e259b0
Außerdem, hier ist die konkrete Lösung für dein problem:
Dies sollte eigentlich ein Kommentar zu Andy ' s Antwort, aber ich habe nicht die rep benötigt, um zu kommentieren.
Den code zur Verfügung gestellt wird, auf Speicher zuzugreifen, die freigegeben wurde, -- welche vielleicht "funktioniert" (manchmal), aber ist immer eine schlechte Praxis. Bitte siehe meine Antwort zu einer anderen Frage über ein problem mit dem selben code: Warum könnte LsaAddAccountRights zurück STATUS_INVALID_PARAMETER?
Scheint es dieser code wurde übergeben, um für mehrere Jahre.
Im Grunde das gleiche P/Invoke-Technik zu beschäftigen, C# aufrufen von system-DLL-Verfahren, aber in diesem Beispiel kann ein wenig leichter zu Folgen:
Diese verwirrt mich viel, und es gibt viele Beispiele von forum-threads, endete im 'verwenden eine 3rd-party app. Es wäre schön, wenn .Net enthalten das notwendige Funktion, aber trotz der Länge dieses code-Beispiel, es ist ziemlich einfach zu reproduzieren 🙂
Cheers, Barnaby
Dies ist, wie ich es gelöst:
Basierend auf: dieser Artikel
Können Sie herunterladen Von hier aus Carbon
Ersten import-Carbon-Moduls wie folgt: