Как мне написать командный файл, чтобы делать разные вещи в зависимости от того, запущен ли он на настольном компьютере или ноутбуке? Например, если на рабочем столе, установите х. Если на ноутбуке пропустите x и установите вместо него y.

Изменить: Windows 7 64-разрядная версия Pro. в настройке доменной инфраструктуры.

Я пытаюсь написать командный файл для включения в мой файл unattend.xml с помощью синхронных команд. Пакетный файл в идеале должен определять, является ли машина настольной системой, и приступать к установке агента LANDESK, предназначенного для настольных компьютеров, или, если машина является ноутбуком, - переходить к установке варианта ноутбука агента LANDESK для ноутбука.

1 ответ1

0

Я действительно сомневаюсь, что вы можете сделать это с помощью пакетного скрипта.

Если вы используете что-то вроде PowerShell, есть множество вариантов, но ни один из них не является полностью надежным. Например, существуют классы WMI для системного блока и аккумулятора. Есть статья в блоге Technet, которая показывает, как использовать оба из них:

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"}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .