Get-LocalGroupMember genera un error para el grupo Administradores


3

Los siguientes comandos se ejecutan en una máquina virtual con Windows 10 que está unida a AzureAD:

PS C: \ Windows \ system32> Get-LocalGroupMember -Group Administrators
Get-LocalGroupMember: Error al comparar dos elementos en la matriz. En línea: 1 char: 1

PS C: \ Windows \ system32> Get-LocalGroupMember -Group Users
Group NT AUTHORITY \ Authenticated Users Unknown
Group NT AUTHORITY \ INTERACTIVE Desconocido

PS C: \ Windows \ system32> administradores de grupo local neto Administrador de
miembros
AzureAD \ UserName

¿Alguna idea de por qué el comando PowerShell Get-LocalGroupMember está generando un error en el grupo Administradores mientras que net localgroup funciona igual que Get-LocalGroupMember para el grupo Usuarios?


Hrm, no hay repro en mis computadoras win10.
— Zoredache

Funciona bien en mi PC de desarrollo, solo que no esta versión de prueba de Windows 10 VM. Hmm ...
— munrobasher

Respuestas:


4

Esto ha sido referenciado como un error oficial:

https://github.com/PowerShell/PowerShell/issues/2996

Aquí hay una solución alternativa:

http://jdhitsolutions.com/blog/scripting/2342/query-local-administrators-with-cim/

ACTUALIZAR:

Tuve algunos problemas con CIM y WMI.

Aquí hay otra solución que funcionó en todas partes para mí.

https://p0w3rsh3ll.wordpress.com/2016/06/14/any-documented-adsi-changes-in-powershell-5-0/


Hombre, es el 8/23/2018 y este error aún no está solucionado
— Kolob Canyon

0

Esto limpiará los administradores rotos. Creo que fueron creados durante el proceso de actualización:

(script de powershell)

$administrators = @(
([ADSI]"WinNT://./Administrators").psbase.Invoke('Members') |
% { 
 $_.GetType().InvokeMember('AdsPath','GetProperty',$null,$($_),$null) 
}
) -match '^WinNT';

$administrators = $administrators -replace "WinNT://",""

$administrators

foreach ($administrator in $administrators)
{

if ($administrator -like "$env:COMPUTERNAME/*" -or $administrator -like "AzureAd/*")
{
    continue;
}

Remove-LocalGroupMember -group "administrators" -member $administrator
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.