Kuddel071089 9 Geschrieben 11. Februar 2020 Autor Melden Teilen Geschrieben 11. Februar 2020 vor 1 Minute schrieb MurdocX: Der Fehler zeigt leider nicht deinen Befehl. Könntest du diesen hier im kompletten zur Analyse posten? Ich glaube sonst kommen wir nicht weiter. cls Remove-LocalGroupMember -Group Administratoren -Member "Server-Installation" Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 11. Februar 2020 Melden Teilen Geschrieben 11. Februar 2020 (bearbeitet) vor 18 Minuten schrieb Kuddel071089: cls Remove-LocalGroupMember -Group Administratoren -Member "Server-Installation" Mich irritiert das Bei der Fehlermeldung steht "Remove-LocalGroupMember -Group Administratoren -Member "S-HHLA-Server ..." oben aber "Server-Installation". Übersehe ich hier was oder willst du den Befehl im kompletten nicht posten? EDIT - Anhang Am 10.2.2020 um 13:25 schrieb Kuddel071089: Ausnahme beim Aufrufen von "Remove" mit 1 Argument(en): "Die Struktur der Sicherheitskennung ist unzulässig. " In C:\Program Files (x86)\WindowsPowerShell\Modules\localaccount\1.6\localaccount.psm1:590 Zeichen:35 + $group.remove("WinNT://$($Name[0]),user") + ~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : CatchFromBaseAdapterMethodInvokeTI Die Fehlermeldung ist prinzipiell richtig, denn du übergibst nur das Objekt als String. Ich hab hier mal ein Beispiel. Dieses Beispiel erzeugt das Objekt "LocalPrincipal" für den Benutzer "Setup". Genau das was dein "Remove-LocalGroupMember" Cmdlet unter "Member" benötigt. PS C:\Users\ICH> $User = Get-LocalGroupMember -Group Administratoren -Member Setup PS C:\Users\ICH> $User.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False LocalPrincipal System.Object PS C:\Users\ICH> Remove-LocalGroupMember -Group Administratoren -Member $User EDIT 2 In den Beispielen von Microsoft ist zu erkennen, dass für Domänen Gruppen, also solche die im AD erstellt werden der Domänenkürzel vor den Gruppennamen gestellt werden muss. Hier also z.B.: Remove-LocalGroupMember -Group Administratoren -Member "MeineDomäne\Server-Installation" Vermutlich kann er dann deinen String in das Objekt parsen. bearbeitet 11. Februar 2020 von MurdocX Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 11. Februar 2020 Autor Melden Teilen Geschrieben 11. Februar 2020 @MurdocX hatte den Gruppennamen noch geändert. Daher passte das nicht. Ich habe jetzt mal die Hilfe geöffnet: NAME Remove-LocalGroupMember ÜBERSICHT Remove a local user to a local group in the Targeted computername SYNTAX Remove-LocalGroupMember [-GroupName] <String[]> [[-Computername] <String[]>] [-name] <String[]> [-WhatIf] [-Confirm] [<CommonParameters>] BESCHREIBUNG Remove a local user to a local group in the Targeted computername VERWANDTE LINKS HINWEISE Zum Aufrufen der Beispiele geben Sie Folgendes ein: "get-help Remove-LocalGroupMember -examples". Weitere Informationen erhalten Sie mit folgendem Befehl: "get-help Remove-LocalGroupMember -detailed". Technische Informationen erhalten Sie mit folgendem Befehl: "get-help Remove-LocalGroupMember -full". Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 11. Februar 2020 Melden Teilen Geschrieben 11. Februar 2020 (bearbeitet) Hmmm ... sieht bei mir ein bissl anders aus ... NAME Remove-LocalGroupMember SYNTAX Remove-LocalGroupMember [-Group] <LocalGroup> [-Member] <LocalPrincipal[]> [<CommonParameters>] Remove-LocalGroupMember [-Name] <string> [-Member] <LocalPrincipal[]> [<CommonParameters>] Remove-LocalGroupMember [-SID] <SecurityIdentifier> [-Member] <LocalPrincipal[]> [<CommonParameters>] ALIASE rlgm HINWEISE Die Hilfedateien für dieses Cmdlet können von "Get-Help" auf diesem Computer nicht gefunden werden. Es wird nur ein Teil der Hilfe angezeigt. -- Sie können die Hilfedateien für das Modul, das dieses Cmdlet enthält, herunterladen und installieren, indem Sie "Update-Help" verwenden. -- Wenn Sie das Hilfethema für dieses Cmdlet online anzeigen möchten, geben Sie Folgendes ein: "Get-Help Remove-LocalGroupMember -Online", oder gehen Sie zu "http://go.microsoft.com/fwlink/?LinkId=717989". ... ist in meinem Fall ein deutscher Windows Server 2016 Standard. Die Online-Hilfe sieht auch anders aus als bei Dir ... Remove-LocalGroupMember. ... sehr verdächtig ... Kann es sein, dass auf Deinem Server eine entsprechende Function nachinstalliert wurde, die die eingebaute quasi ersetzt? bearbeitet 11. Februar 2020 von BOfH_666 Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 11. Februar 2020 Autor Melden Teilen Geschrieben 11. Februar 2020 vor 5 Minuten schrieb BOfH_666: Hmmm ... sieht bei mir ein bissl anders aus ... NAME Remove-LocalGroupMember SYNTAX Remove-LocalGroupMember [-Group] <LocalGroup> [-Member] <LocalPrincipal[]> [<CommonParameters>] Remove-LocalGroupMember [-Name] <string> [-Member] <LocalPrincipal[]> [<CommonParameters>] Remove-LocalGroupMember [-SID] <SecurityIdentifier> [-Member] <LocalPrincipal[]> [<CommonParameters>] ALIASE rlgm HINWEISE Die Hilfedateien für dieses Cmdlet können von "Get-Help" auf diesem Computer nicht gefunden werden. Es wird nur ein Teil der Hilfe angezeigt. -- Sie können die Hilfedateien für das Modul, das dieses Cmdlet enthält, herunterladen und installieren, indem Sie "Update-Help" verwenden. -- Wenn Sie das Hilfethema für dieses Cmdlet online anzeigen möchten, geben Sie Folgendes ein: "Get-Help Remove-LocalGroupMember -Online", oder gehen Sie zu "http://go.microsoft.com/fwlink/?LinkId=717989". ... ist in meinem Fall ein deutscher Windows Server 2016 Standard. Die Online-Hilfe sieht auch anders aus als bei Dir ... Remove-LocalGroupMember. ... sehr verdächtig ... Kann es sein, dass auf Deinem Server eine entsprechende Function nachinstalliert wurde, die die eingebaute quasi ersetzt? Kann gut sein, dass ich da mal bisschen was rumgebastelt habe. Ist das ein extra Modul, dass ich evtl neu installieren kann ? Zitieren Link zu diesem Kommentar
Beste Lösung MurdocX 949 Geschrieben 11. Februar 2020 Beste Lösung Melden Teilen Geschrieben 11. Februar 2020 (bearbeitet) vor 8 Minuten schrieb Kuddel071089: Ist das ein extra Modul, dass ich evtl neu installieren kann ? Nein. Deine Modul-Hilfe ist nur nicht auf dem aktuellen Stand. Das soll jetzt hier nicht das Thema werden. Die Online-Doku von MS ist im Zweifel immer die Aktuelle. Hast du Dir meine Lösung angesehen? EDIT Kann es sein, dass du das Modul "localaccounts" installiert hast? Die Fehlermeldung bezieht sich auf das Modul. Das gibt es in der PSGallery. Du solltest den hauseigenen Befehl von dem Modul "Microsoft.PowerShell.LocalAccounts" verwenden. PS C:\Users\...> Find-Command -Name Remove-LocalGroupMember Name Version ModuleName Repository ---- ------- ---------- ---------- Remove-LocalGroupMember 1.6 localaccount PSGallery Remove-LocalGroupMember 2016.5.7.2 ARTools PSGallery Remove-LocalGroupMember 1.3 LocalMachine PSGallery Lösche das mal: "C:\Program Files (x86)\WindowsPowerShell\Modules\localaccount" bearbeitet 11. Februar 2020 von MurdocX Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 11. Februar 2020 Melden Teilen Geschrieben 11. Februar 2020 Hm - hab ich nicht oben schon was von "nachgebaut" geschrieben? Das ist das "Schöne" an Powershell - ein Cmdlet muß nicht das sein, für das man es hält Mich würde mal ganz schnell get-command remove-localgroupmember | fl * der Beteiligten interessieren. Da kommen bestimmt interessante Unterschiede zum Vorschein. Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 12. Februar 2020 Autor Melden Teilen Geschrieben 12. Februar 2020 vor 8 Stunden schrieb daabm: Hm - hab ich nicht oben schon was von "nachgebaut" geschrieben? Das ist das "Schöne" an Powershell - ein Cmdlet muß nicht das sein, für das man es hält Mich würde mal ganz schnell get-command remove-localgroupmember | fl * der Beteiligten interessieren. Da kommen bestimmt interessante Unterschiede zum Vorschein. Bei mir sieht es so aus: Get-Command Remove-LocalGroupMember | FL * HelpUri : ScriptBlock : [CmdletBinding(SupportsShouldProcess=$true)] [Alias()] [OutputType([int])] Param ( [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=0)] [string[]]$GroupName, [Parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, Position=1)] [string[]]$Computername = "$Env:computername", [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=2)] [string[]]$name ) Begin { } Process { if ($PSCmdlet.Shouldprocess("$($Name[0]) Removed from $($groupname[0]) on $computername") ) { $group = [ADSI]"WinNT://$($computername[0])/$($groupname[0]),group" $group.remove("WinNT://$($Name[0]),user") } } End { } CmdletBinding : True DefaultParameterSet : Definition : [CmdletBinding(SupportsShouldProcess=$true)] [Alias()] [OutputType([int])] Param ( [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=0)] [string[]]$GroupName, [Parameter(Mandatory=$false, ValueFromPipelineByPropertyName=$true, Position=1)] [string[]]$Computername = "$Env:computername", [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true, Position=2)] [string[]]$name ) Begin { } Process { if ($PSCmdlet.Shouldprocess("$($Name[0]) Removed from $($groupname[0]) on $computername") ) { $group = [ADSI]"WinNT://$($computername[0])/$($groupname[0]),group" $group.remove("WinNT://$($Name[0]),user") } } End { } Options : None Description : Verb : Remove Noun : LocalGroupMember HelpFile : OutputType : {System.Int32} Name : Remove-LocalGroupMember CommandType : Function Source : localaccount Version : 1.6 Visibility : Public ModuleName : localaccount Module : localaccount RemotingCapability : SupportedByCommand Parameters : {[GroupName, System.Management.Automation.ParameterMetadata], [Computername, System.Management.Automation.ParameterMetadata], [name, System.Management.Automation.ParameterMetadata], [Verbose, System.Management.Automation.ParameterMetadata]...} ParameterSets : {[-GroupName] <string[]> [[-Computername] <string[]>] [-name] <string[]> [-WhatIf] [-Confirm] [<CommonParameters>]} Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 13. Februar 2020 Melden Teilen Geschrieben 13. Februar 2020 Wie ist denn der aktuelle Stand? Was wurde von den Vorschlägen umgesetzt? Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 13. Februar 2020 Autor Melden Teilen Geschrieben 13. Februar 2020 vor 4 Minuten schrieb MurdocX: Wie ist denn der aktuelle Stand? Was wurde von den Vorschlägen umgesetzt? Komme erst morgen wieder dazu, mich wieder mit dem Thema zu beschäftigen Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 14. Februar 2020 Autor Melden Teilen Geschrieben 14. Februar 2020 Ich habe meinen Server gerade noch einmal überprüft: ein Modul war nicht installiert. Somit habe ich mir das Modul noch einmal heruntergeladen und importiert -> https://gallery.technet.microsoft.com/scriptcenter/Local-Account-Management-a777191b Leider bleibt die Fehlermeldung die gleiche Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 14. Februar 2020 Melden Teilen Geschrieben 14. Februar 2020 vor 54 Minuten schrieb Kuddel071089: Ich habe meinen Server gerade noch einmal überprüft: ein Modul war nicht installiert. Ausnahme beim Aufrufen von "Remove" mit 1 Argument(en): "Die Struktur der Sicherheitskennung ist unzulässig. " In C:\Program Files (x86)\WindowsPowerShell\Modules\localaccount\1.6\localaccount.psm1:590 Zeichen:35 + $group.remove("WinNT://$($Name[0]),user") + ~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : CatchFromBaseAdapterMethodInvokeTI Die Aussage passt nicht ganz zu deiner Fehlermeldung Wie schon oben erwähnt, ist das Modul auf jedem PC mit Powershell 5.1 schon vorhanden. Da muss kein Modul für installiert werden und braucht es auch für eine gute Funktionalität nicht. Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 14. Februar 2020 Autor Melden Teilen Geschrieben 14. Februar 2020 Okay, wer lesen kann, ist klar im Vorteil. In der Fehlermeldung steht ja drin, wo das Modul liegt. "In C:\Program Files (x86)\WindowsPowerShell\Modules\localaccount\1.6\" Ich habe es jetzt gelöscht. Und siehe da, es funktioniert. Vielen Dank an alle für die Hilfe Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 14. Februar 2020 Melden Teilen Geschrieben 14. Februar 2020 Am 11.2.2020 um 22:29 schrieb daabm: Hm - hab ich nicht oben schon was von "nachgebaut" geschrieben? Das ist das "Schöne" an Powershell - ein Cmdlet muß nicht das sein, für das man es hält Du hast die Lunte schon vorher gerochen Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 15. Februar 2020 Melden Teilen Geschrieben 15. Februar 2020 Am 14.2.2020 um 08:54 schrieb Kuddel071089: Und siehe da, es funktioniert. Vielen Dank an alle für die Hilfe Es wäre super, wenn du den Thread noch als "Gelöst" bzw. die "beste Antwort" markieren könntest, dann haben andere auch noch was davon Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.