Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Определить версию офлайн системы (http://forum.oszone.net/showthread.php?t=347183)

Valek271183 30-11-2020 22:31 2941595

Определить версию офлайн системы
 
Подскажите, как определить версию windows? установленную на другом диске, и запустить нужный для неё файл, например если это windows 7 SP1 запустить файл 1, если это windows 7 без SP1 файл 2, для XP файл 3 и т.д.

alpap 30-11-2020 23:15 2941597

выбирайте что надо (вот только на XP может и не быть wmic, там надо ... я уже и не помню как там надо):
Код:

@echo off
for /f "delims=" %%a in ('"wmic OS get Caption,CSDVersion,Version,BuildNumber,BuildType,OSArchitecture /value|find "^=""') do set "%%a"

>>"info.txt" (
 echo Система
 echo ---------------------------------------------------
 echo Название ОС: ^| %Caption:~,-2%
 echo Версия ОС:  ^| %Version% %CSDVersion% сборка %BuildNumber%
 echo Тип ОС:      ^| %BuildType% ^(%OSArchitecture%^)
)
exit


Iska 30-11-2020 23:53 2941599

alpap, версию offline-системы.

alpap 01-12-2020 04:58 2941609

да этот код и для запущенной не годится так как не универсален для разных систем и не зная какая будет - бесполезен.
в реестре информация по этому пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
а если надо узнать версию извне ОС, то на ум приходит только загрузка из Live CD и оттуда с помощью программы: WinNTSetup3

greg zakharov 01-12-2020 12:21 2941630

alpap, в реестре по указанному пути может ничего и не быть (или информация там может быть модифицирована). Кто бы что ни говорил, а идеологически верным на запущенной системе было бы смотреть на соответствующие поля структуры KUSER_SHARED_DATA (формируется ядром), причем той, что находится по адресу 0x7FFE0000 (доступна для чтения из пользовательского режима, в pwsh это делается через IntPtr). А вот с оффлайн винта считать нужную информацию можно не только посредством "живых" дисков. Есть еще и hex редакторы.

Vadikan 10-12-2020 12:01 2942500

Valek271183, можно смотреть версию любого системного файла, подставив букву диска оффлайн системы в команду PowerShell
Код:

(Get-Item -Path C:\Windows\system32\cmd.exe).VersionInfo.Fileversion
В 7 SP1 будет что-то типа: 6.1.7601.17514 (win7sp1_rtm.101119-1850)
В 7 - 7600, и т.д. https://www.gaijin.at/en/infos/windows-version-numbers


Время: 15:38.

Время: 15:38.
© OSzone.net 2001-