wake-up-neo.com

Kann das Microsoft.Powershell.LocalAccounts-Modul nicht finden (oder Get-LocalUser ausführen)

Wenn Sie ein Skript ausführen, vergewissere ich mich, dass ein "Dienstkonto" (lokaler Benutzeraccount) für unsere App vorhanden ist:

$svcAccountName = "TheAccountName"
$svcAccount = Get-LocalUser -Name $svcAccountName

Der Server (Windows Server 2008 R2) wartet auf das Get-LocalUser-Cmdlet und gibt Folgendes an:

 Get-LocalUser: Der Begriff "Get-LocalUser" wird nicht als Name eines 
 - Cmdlets, einer Funktion, einer Skriptdatei oder eines bedienbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens 
 Oder, wenn ein Pfad angegeben wurde, überprüfen Sie, ob der Pfad korrekt ist, und versuchen Sie es erneut. 
 In Zeile: 1 Zeichen: 1 
 + Get-LocalUser 
 + ~~~~~~~~~~~~~ 
 + CategoryInfo: ObjectNotFound: (Get-LocalUser: String) [], CommandNotFoundException 
 + FullyQualifiedErrorId: CommandNotFoundException 

Also habe ich versucht, das LocalAccounts-Modul zu importieren:

Import-Module Microsoft.Powershell.LocalAccounts

und ich habe das bekommen:

 Import-Modul: Das angegebene Modul 'LocalAccounts' wurde nicht geladen, da in keinem Modulverzeichnis eine gültige 
 Moduldatei gefunden wurde. 
 In Zeile: 1 Zeichen: 1 
 .] + Import-Modul 
 + ~~~~~~~~~~~~~~ 
 + KategorieInfo: Ressource nicht verfügbar: (LocalAccounts: String) [Import-Modul], FileNotFoundException 
 + FullyQualifiedErrorId: Modules_ModuleNotFound, Microsoft.PowerShell.Commands.ImportModuleCommand 

Der Server führt PSVersion 4.0 entsprechend der $PSVersionTable-Variablen aus.

Warum wird das Modul LocalAccounts nicht geladen und der Befehl Get-LocalUser ausgeführt? Wie kann ich das beheben?

3
Scott Baker

Dieses Cmdlet wurde mit Server 2016 und Win10 1607+ zur Verfügung gestellt. Bei früheren Betriebssystemen müssen Sie entweder net.exe, WMI, ADSI oder ein Modul verwenden, das eine dieser Methoden verwendet, oder WMF 5.1 installieren.

Edit: Die MS PFE, die Sean Kearney geschrieben hat, hat ein Modul namens localaccount erstellt. Welches ist aus dem Code dieses GitHub Repostiory aufgebaut, der die Funktionalität der neuen Module über ADSI repliziert. Das funktioniert mit älteren Versionen von PowerShell. Beachten Sie, dass dies nicht mit dem eingebauten Modul identisch ist. 

0
BenH

Das Modul Microsoft.Powershell.LocalAccounts ist Teil des Windows Management Framework (WMF) v5.1, das von folgender Website heruntergeladen werden kann: https://www.Microsoft.com/de-de/download/ details.aspx? id = 54616

Nach der Installation können Sie diese Cmdlets in Ihrem Skript verwenden. Hier haben Sie auch einen Hinweis darauf, welche Module in jeder Powershell-Version enthalten sind: https://msdn.Microsoft.com/powershell/reference/readme

Viel Glück! :)

0
hairowski

Sie müssen zunächst die .PSM1-Datei von einem anderen Computer herunterladen

#Install LocalAccount Module
Install-Module -Name localaccount

#Save Module to the PowerShell Modules folder
Save-Module -Name localaccount -Path "C:\Program Files (x86)\WindowsPowerShell\Modules"

Wenn Sie diesen Speicherort unter Windows 2008 R2 hinzufügen. Es sollte das Modul installieren, aber überprüfen Sie diesen Link nicht: https://msdn.Microsoft.com/en-us/library/dd878350(v=vs.85).aspx

Ich bin nicht sicher, warum es nicht unter Windows 2008 R2 ist, aber das LocalAccounts-Modul wurde am 21. März 2015 veröffentlicht. Dies ist älter als Windows 2016 und Windows 10. 

Install-Module -Name localaccount -RequiredVersion 1.1

Sie können sich jederzeit an den Mann wenden, der ihn geschaffen hat "Sean P. Kearney"

Hoffe das hilft dir. So habe ich es gemacht. 

0
Zach Olinske