Como usar o arquivo em lote para fazer o X se ele for executado em um laptop?

0

Como faço para gravar um arquivo em lotes para fazer coisas diferentes com base em se ele é executado em um desktop versus laptop? Por exemplo. se na área de trabalho, instale x. Se estiver no laptop, pule x e instale y.

Editar: o Windows 7 64-bit Pro. em uma configuração de infraestrutura de domínio.

Estou tentando gravar um arquivo de lote para ser incluído no meu unattend.xml usando comandos síncronos. O arquivo de lote idealmente detectaria se a máquina é um sistema de desktop e passaria a instalar o agente LANDESK projetado para desktops, ou se a máquina for um laptop - prossiga para instalar o sabor do laptop do agente LANDESK.

    
por rocfob 23.02.2015 / 23:16

1 resposta

0

Eu realmente duvido que você possa fazer isso com um script em lote.

Se você usa algo como o PowerShell, há várias opções, mas nenhuma delas é totalmente confiável. Por exemplo, há classes WMI para o gabinete do sistema e a bateria . Há um Artigo de blog da Technet que mostra como usar os dois:

Function Get-Laptop
{
 Param(
 [string]$computer = "localhost"
 )
 $isLaptop = $false
 if(Get-WmiObject -Class win32_systemenclosure -ComputerName $computer |
    Where-Object { $_.chassistypes -eq 9 -or $_.chassistypes -eq 10 '
    -or $_.chassistypes -eq 14})
   { $isLaptop = $true }
 if(Get-WmiObject -Class win32_battery -ComputerName $computer)
   { $isLaptop = $true }
 $isLaptop
} # end function Get-Laptop

# *** entry point to script ***

If(get-Laptop) { "it's a laptop" }
else { "it's not a laptop"}
    
por 23.02.2015 / 23:35