Пакет удаленной установки MSI не работает при выходе из системы

У меня проблема с моим сценарием, над которым я работаю. Одна часть этого скрипта должна удаленно установить пакет MSI. Проблема в том, что это работает только тогда, когда я вошел в систему на целевых серверах.

Вот код, который я использую:

Первая попытка:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent"
    Start-Process msiexec.exe -ArgumentList "/i 'FlexNet Inventory Agent.msi'  /qn /l newlogfile.txt"
}

Вторая попытка:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent"
    Invoke-Expression "msiexec /i 'FlexNet Inventory Agent.msi' /qn /l logfile.txt"
}

3-я попытка:

Invoke-Command -ComputerName $Computer -ScriptBlock {
    cd "C:\FlexAgent\"
    & msiexec /i 'FlexNet Inventory Agent.msi' /qn '/l*v' 'logfile.txt'
} 

Папка: FlexAgent:

    Directory: \\RemoteComputer\c$\FlexAgent


Mode                LastWriteTime     Length Name                                                                                                           
----                -------------     ------ ----                                                                                                           
d----        03.08.2018     09:47            ManageSoft upgrade agent                                                                                       
-a---        08.08.2017     12:34   15203756 Data1.cab                                                                                                      
-a---        08.08.2017     12:34    3089408 FlexNet Inventory Agent.msi                                                                                    
-a---        03.08.2018     11:26          2 logfile.txt                                                                                                    
-a---        29.05.2018     09:41       6985 mgssetup.ini                                                                                                   
-a---        08.08.2017     12:34    1308656 setup.exe                                                                                                      
-a---        08.08.2017     12:34       5350 Setup.ini 

Мне не удалось найти дополнительную информацию в файлах журналов, которые я определил, или в файлах журналов в средстве просмотра событий. Лог-файлы создаются, но они пусты.

Есть ли способ установить этот пакет MSI без присмотра без входа в систему?


Дополнительная информация:

  • Целевые серверы: Windows Server 2008–2016.
  • Сервер сценариев: Windows Server 2012 R2.
  • Домен: Да, все они находятся в одном домене.
  • Пользователь: авторизован под администратором домена
  • Сеть: все в одной сети
  • Firewall:
    • TCP/5985 not blocked (used for remote PowerShell)
    • TCP/5986 не заблокирован (используется для удаленного PowerShell)

person CVoit    schedule 03.08.2018    source источник
comment
Попробуйте & msiexec /i 'FlexNet Inventory Agent.msi' '/qn' '/l*v' 'logfile.txt' вместо Start-Process или Invoke-Expression. logfile.txt что-нибудь показывает?   -  person Ansgar Wiechers    schedule 03.08.2018
comment
Мы ценим, что вы пытаетесь быть вежливым, но мы предпочитаем сосредоточиться на решаемой проблеме, поэтому, пожалуйста, не добавляйте в свои вопросы лишнего, вроде благодарности.   -  person Ansgar Wiechers    schedule 03.08.2018
comment
Я пробовал. Тоже не сработало. Файл журнала logfile.txt пуст, но он был создан, когда я вышел из системы.   -  person CVoit    schedule 03.08.2018
comment
Существует ли файл MSI в C:\FlexAgent на удаленном компьютере?   -  person Ansgar Wiechers    schedule 03.08.2018
comment
Да, он существует. Я добавил список в свой пост.   -  person CVoit    schedule 03.08.2018


Ответы (1)


Я только что нашел решение. Мне удалось установить пакет MSI удаленно с помощью следующих команд:

$product= [WMICLASS]"\\$RemoteComputer\ROOT\CIMV2:win32_Product"
$product.Install("C:\FlexAgent\FlexNet Inventory Agent.msi")

Это работало даже при выходе из системы.

person CVoit    schedule 06.08.2018