6 votos

"Get-AdComputer-filtro" no devuelve nada cuando buscando clientes Windows Vista

¿Por qué hace Get-Computers -OperatingSystem "Windows VistaT Business" no devuelve nada? Funciona perfectamente para todos los tipos de sistema operativo.

Function Get-Computers
{
    Param($OperatingSystem)

    Get-AdComputer -Filter 'OperatingSystem -eq ${OperatingSystem}' -SearchBase "OU=Departement,DC=contoso,DC=com"
}

#Get-Computers -OperatingSystem "Windows Server 2012 R2 Standard"
#Get-Computers -OperatingSystem "Windows Server 2008 R2 Standard"
#Get-Computers -OperatingSystem "Windows 7 Professional"
Get-Computers -OperatingSystem "Windows VistaT Business"

Yo definitivamente tengo clientes Windows Vista y la cadena a buscar es Windows VistaT Business .

PS C:\> (get-adcomputer ClientA -Properties *).OperatingSystem
Windows 7 Professional
PS C:\> (get-adcomputer ClientB -Properties *).OperatingSystem
Windows VistaT Business

9voto

Mathias R. Jessen Puntos 16911

Que T "VistaT" no, en absoluto - que representa un símbolo de la marca: ™ (U+2122 o #8482 en Unicode)

Intente esto:

Get-Computers -OperatingSystem $("Windows Vista" + [char]8482 + " Business")

Por qué Microsoft decidió aprovecharse de la capacidad para almacenar símbolos unicode en la cadena de valor de los atributos de esta manera es más allá de mí.


Aquí es cómo me enteré de:

(Cuando lanzas una .NETO char a un entero, se obtendrá el valor del byte de caracteres ASCII, o una de 2 bytes de punto de código de caracteres unicode)

$osString = (Get-ADComputer [VistaComputerName] -Properties operatingSystem).operatingSystem

foreach($c in $osString.ToCharArray())
{
    Write-Host $("$c: " + "$([int]$c)")
}

En este punto, mi salida consistió de todos los caracteres ASCII (todos los números enteros de un solo byte), excepto para el T:

W: 87
i: 105
n: 110
d: 100
o: 111
w: 119
s: 115
 : 32
V: 86
i: 105
s: 115
t: 116
a: 97
T: 8482
 : 32
B: 66
u: 117
s: 115
i: 105
n: 110
e: 101
s: 115
s: 115

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: