Скрипт определяющий серверная ОС или нет

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Скрипт определяющий серверная ОС или нет

Сообщение HA3APET »

Возникла надобность сделать автоматический запуск приложений с автоматическим определением ОС.
То есть если у нас серверная ОС, то запускается одна программа, если нет, то другая.
Наверное это будет выглядеть как скрипт определяющий битность ОС

Код: Выделить всё

IF EXIST "%ProgramFiles(x86)%" ( 
  Program1.exe 
) Else ( 
  Program2.exe 
)
Очень хотелось бы в виде батника.
Есть у кого какие идеи?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Сравнительный анализ наличия системных папок что показывает? Вот от этого и пляши. Аналогично с переменными окружения.
HA3APET
Сообщения: 151
Зарегистрирован: Пн фев 22, 2010 05:43

Сообщение HA3APET »

Flasher
Не нашёл отличий в системных папках и в переменных. По-этому и прошу помощи.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

А команда ver в консоли что выдает на серверной винде?
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

MVV писал(а):А команда ver в консоли что выдает на серверной винде?
На 2003 SP1: "Microsoft Windows [Версия 5.2.3790]"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Rodny
А set LOGONSERVER & set USERDOMAIN ?

Да и есть какие-то команды, которые только на серваке работать будут, типа net group и т.д., можно проверять по команде.
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Flasher писал(а):А set LOGONSERVER & set USERDOMAIN ?
Здесь никакой разницы с обычной XP.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Rodny
А этот XP в цепочку ЛС входит?
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Flasher писал(а):А этот XP в цепочку ЛС входит?
Расшифруй. XP в локалке, обычная рабочая группа.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Rodny
А ты уверен, что нет отличий? На сервере имена должны совпадать, а на ХP, вхожем в рабочую группу, logonserver должен соответствовать имени серверной машины.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Flasher писал(а):А set LOGONSERVER & set USERDOMAIN ?
Flasher писал(а):На сервере имена должны совпадать
Сравниваю "Windows 7 Максимальная" и "Windows Server 2008" в домене. Значения "LOGONSERVER" и "USERDOMAIN" отличаются между собой как на одной системе, так и на другой. Причём, значения для одной переменной равны на разных системах.
Заметил, что на на "Windows Server 2008" присутствует некая переменная "PEGASUS_PLATFORM", которой нет на "Windows 7 Максимальная".
Нет, я не сплю. Я просто медленно моргаю.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Batya писал(а):Значения "LOGONSERVER" и "USERDOMAIN" отличаются между собой как на одной системе, так и на другой. Причём, значения для одной переменной равны на разных системах.
На сервере LOGONSERVER отличается только наличием сдвоенного слэша спереди? У тебя так?
Batya писал(а):Причём, значения для одной переменной равны на разных системах.
Имена машин, может, одинаковые?
Batya писал(а):"PEGASUS_PLATFORM"
Вот, пусть топикстартер у себя перепроверит.
Аватара пользователя
Rodny
Сообщения: 949
Зарегистрирован: Ср янв 24, 2007 00:59
Откуда: Могилёв, Беларусь

Сообщение Rodny »

Flasher писал(а):На сервере имена должны совпадать, а на ХP, вхожем в рабочую группу, logonserver должен соответствовать имени серверной машины.
А, вот на что смотреть...
Ничего не перепутано? У меня с точностью до наоборот:
на 2003: "LOGONSERVER=\\NetBIOS-имя_компьютера", "USERDOMAIN=имя_домена"
на XP: "LOGONSERVER=\\NetBIOS-имя_компьютера", "USERDOMAIN=NetBIOS-имя_компьютера"

У XP обычная домашняя локалка, отдельного сервера нет.
На 2003 поднят контроллер домена.

На XP абсолютно совпадают "set COMPUTERNAME & set USERDOMAIN"
"PEGASUS_PLATFORM" в 2003 нет.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Rodny писал(а):на 2003: ""USERDOMAIN=имя_домена"
на XP: "USERDOMAIN=NetBIOS-имя_компьютера"
А, ну вот. HA3APET-то пишет, что никаких отличий. Будем ждать, если подтвердится, то вопрос в паре минут.
Кстати, имя домена и имя компьютера не совпадают?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Да, если не совпадают, проблема условно решена :)

Код: Выделить всё

if "%LOGONSERVER%"=="\\%USERDOMAIN%" (
  echo XP
) else (
  echo server
)
Последний раз редактировалось MVV Вт фев 22, 2011 22:46, всего редактировалось 1 раз.
Ответить