Добавлено: Вт фев 22, 2011 22:44
Нет.Flasher писал(а):Кстати, имя домена и имя компьютера не совпадают?
Форум поддержки пользователей Total Commander
https://forum.wincmd.ru/
Нет.Flasher писал(а):Кстати, имя домена и имя компьютера не совпадают?
Нет. У меня всё одинаково. И на "Windows 7 Максимальная", и "Windows Server 2008" у LOGONSERVER впереди двойной слэш.Flasher писал(а):На сервере LOGONSERVER отличается только наличием сдвоенного слэша спереди? У тебя так?
А у меня такого нет.Rodny писал(а):на 2003: "LOGONSERVER=\\NetBIOS-имя_компьютера", "USERDOMAIN=имя_домена"
на XP: "LOGONSERVER=\\NetBIOS-имя_компьютера", "USERDOMAIN=NetBIOS-имя_компьютера"
Windows 7 писал(а):[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Client"
"EditionID"="Ultimate"
"ProductName"="Windows 7 Ultimate"
Наличие "Server" в "ProductName" может служить критерием.Windows 2008 Server писал(а):[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName"="Windows Server (R) 2008 Enterprise"
"EditionID"="ServerEnterprise"
Я имел в виду отличается от USERDOMAIN. Ну, теперь уже вижу, что там у тебя.Batya писал(а):И на "Windows 7 Максимальная", и "Windows Server 2008" у LOGONSERVER впереди двойной слэш.
Где? В личке?MVV писал(а):Вообще, автор топика просил различить XP и 2003 Server, для 7 и 2008 серверов могут быть различия.
Тут не получается, если машины объединены с сервером. Контроллер домена и имя домена не равны ведь.MVV писал(а):Но если вариант сравнения "%LOGONSERVER%"=="\\%USERDOMAIN%" подойдет - он будет простейшим.
Ты прав, уточнения не было. Мне казалось, это автор отписывался о тестах на XP и 2003 серваке.Flasher писал(а):Где? В личке?MVV писал(а):Вообще, автор топика просил различить XP и 2003 Server, для 7 и 2008 серверов могут быть различия.
Код: Выделить всё
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Client"Код: Выделить всё
@echo off
echo ws=WScript.CreateObject("WScript.Shell");KeyPath="HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion";ValueName="InstallationType"; > %TEMP%\0.js
echo try{Value=ws.RegRead(KeyPath+"\\"+ValueName);}catch(e){WScript.Quit(1);} >> %TEMP%\0.js
echo if (Value == "Server"){WScript.Quit(-1);}else{ WScript.Quit(0);} >> %TEMP%\0.js
cscript %TEMP%\0.js //B
set exitcode=%ERRORLEVEL%
del %TEMP%\0.js
if %exitcode%==0 (
start "client.exe"
) else (
start "server.exe"
)Код: Выделить всё
@echo off
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType|find "Client">nul
if errorlevel 1 (
echo server
) else (
echo client
)Код: Выделить всё
@echo off
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v InstallationType|find "Server">nul
if errorlevel 1 (
echo client
) else (
echo server
)