The Magician

This is an old revision of the document!


Установка exe-setup через LogonScript

Установка через msi-пакет легко автоматизируется с помощью GPO AD. Но что, если msi-пакета нету, а автоматизировать установку очень хочется?

Характерным примером может послужить установка пакета Microsoft Visual C++ Redistributable, который распространяется в виде SETUP.EXE инсталлятора, поддерживающего ключи неинтерактивной установки.

В первую очередь скопируем инсталлятор в папку, откуда устанавливаем обычно msi через GPO AD. Если специальной папки у нас нет - подойдет и стандартный NETLOGON нашего домена:

\\domain.local\NETLOGON\Software\VCredist\vc_redist.x86.exe

Теперь сохраним в PowerShell-файл скрипт:

$Installer = "\\domain.local\NETLOGON\Software\VCredist\vc_redist.x86.exe"
$RequiredVersion = [version]"14.44.35211.0"

$Installed = Get-ItemProperty `
    "HKLM:\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" `
    -ErrorAction SilentlyContinue

if (!$Installed -or [version]$Installed.Version.TrimStart('v') -lt $RequiredVersion) {

    Start-Process -FilePath $Installer `
        -ArgumentList "/install /quiet /norestart" `
        -Wait
}

:!: Данный скрипт не просто установит Microsoft Visual C++ Redistributable с заданными параметрами, но сначала проверит версию и будет выполнять установку только, если установленная версия ниже той, которую мы хотим установить (14.44.35211.0 в данном случае).

Кладем скрипт в общую папку политики, пример:

\\domain.local\SysVol\domain.local\Policies\{4FA484AF-B629-4B3B-A614-F24B0AD07340}\Machine\Scripts\Startup

И добавляем в политику:

Computer Configuration → Policies → Windows Settings → Scripts (Startup/Shutdown) → Startup

Пример:

Если нам требуется применить скрипт только для клиентских машин, имя которых начинается с aaa или fff, можем создать и установить для политики такой фильтр WMI

SELECT * FROM Win32_OperatingSystem
WHERE ProductType = 1
AND (CSName LIKE "fff%" OR CSName LIKE "aaa%")

:!: С очевидностью, политика применится после перезагрузки.

установка_exe-setup_через_logonscript.1786474317.txt.gz · Last modified: by jp