Hola.
Muchas veces, uno de los condicionantes a la hora de aplicar un script, es aplicarlo solo a equipos y no a servidores e incluso a portátiles y no a puestos de trabajo.
Si os encontráis en esta situación, incluso como medida de protección ante scripts que vayáis a aplicar a una directiva aplicada a, por ejemplo, la ou donde debería haber un tipo de equipos, incluso una directiva aplicada a una consulta wmi que aplique solo a ciertos equipos, mejor aseguraros en el propio script que este, solo se aplicará si encontramos el tipo de equipo deseado, por ejemplo así:
- $CompConfig = Get-WmiObject -Class Win32_ComputerSystem
- $tipoequipo = $CompConfig.PCSystemType
$tipoequipo puede ser:
- 1 {"Desktop"},2 {"Laptop"},3 {"Workstation"},4 {"EntServer"},5 {"SmallOfficeOrHomeServer"},6 {"AppliancePC"},7 {"PerformanceServer"},8 {"Maximum"},default {"NoConocido"}
Si queréis el nombre, podéis añadir esto:
Switch ($tipoequipo) {
1 {"Desktop"}
2 {"Mobile / Laptop"}
3 {"Workstation"}
4 {"Enterprise Server"}
5 {"Small Office and Home Office Server"}
6 {"Appliance PC"}
7 {"Performance Server"}
8 {"Maximum"}
default {"Not a known Product Type"}
}
En cuanto a equipos de dominio podemos también extraer información:
$TipoOrdenador = Get-WmiObject Win32_ComputerSystem
$Rol = $TipoOrdenador.DomainRole
Switch ($Rol) {
0 {"Standalone Workstation"}
1 {"Member Workstation"}
2 {"Standalone Server"}
3 {"Member Server"}
4 {"Backup Domain Controller"}
5 {"Primary Domain Controller"}
default {"Not a known Domain Role"}
}
Tras esto, el condicionante podría ser:
If (($tipoequipo -eq "Desktop") -and ($Roldeservidor -eq "Member Workstation")) then {
…
}
Saludos.
No hay comentarios:
Publicar un comentario