Скрипт Powershell для автоматической установки Azure Service Fabric SDK, среды выполнения и инструментов - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь написать скрипт для загрузки установочного пакета Azure Service Fabric SDK, среды выполнения и инструментов на несколько серверов.

Моя проблема заключается в том, что установщик предоставил здесь являетсяВеб-установщик, и не поддерживает тихий режим.

Я нашел парня, который решил эту проблему здесь .Его код:

# Install Service Fabric Runtime
Invoke-WebRequest "http://download.microsoft.com/download/3/2/1/3217654F-6882-4CEA-BD51-49287EDECE9B/MicrosoftServiceFabric.6.0.232.9494.exe" -OutFile "C:\ServiceFabricRuntime.exe" -UseBasicParsing; \
Start-Process "C:\ServiceFabricRuntime.exe" -ArgumentList '/AcceptEULA', '/QUIET' -NoNewWindow -Wait; \
rm "C:\ServiceFabricRuntime.exe"

# Install Service Fabric SDK
Invoke-WebRequest "http://download.microsoft.com/download/3/2/1/3217654F-6882-4CEA-BD51-49287EDECE9B/MicrosoftServiceFabricSDK.2.8.232.msi" -OutFile "C:\ServiceFabricSDK.msi" -UseBasicParsing; \
Start-Process "msiexec" -ArgumentList '/i', 'C:\ServiceFabricSDK.msi', '/passive', '/quiet', '/norestart', '/qn' -NoNewWindow -Wait; \
rm "C:\ServiceFabricSDK.msi"

Как вы можете видеть, он использует прямые ссылки на установщики .msi (как и другие парни в других потоках, например this two *).1015 * ответов.).

Итак, мои вопросы: как мне получить прямую ссылку на msi с последней версией этих установщиков?

И последующим вопросом будет, есть ли универсальная ссылка, которая автоматически загрузит последнюю версию этих инструментов?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

Чтобы добавить ответ выше, если WebPlatformCMD выдает проблемы с окном согласия Windows UAC, вы можете использовать инструменты PSEXEC , чтобы запустить программу установки как системную учетную запись, избегая этой проблемы.

Пример кода:

 Invoke-WebRequest "https://go.microsoft.com/fwlink/?LinkId=287166" -OutFile "$env:temp\WebPlatformInstaller_amd64_en-US.msi" -UseBasicParsing

 Start-Process "msiexec" -ArgumentList "/i $env:temp\WebPlatformInstaller_amd64_en-US.msi /passive /quiet /norestart /qn" -NoNewWindow -Wait

 $psToolsPath = "$env:temp\pstools"
 New-Item $psToolsPath -ItemType directory -force -erroraction silentlycontinue
 Invoke-WebRequest -Uri https://download.sysinternals.com/files/PSTools.zip -OutFile $psToolsPath\PSTools.zip

 Expand-Archive "$psToolsPath\PSTools.zip" $psToolsPath -force
 cd $psToolsPath
 Start-Process psexec64 -ArgumentList "-s /accepteula WebPICMD.exe /Install /Products:MicrosoftAzure-ServiceFabric-CoreSDK /AcceptEULA"

Небольшая заметка в ответе SteppingRazor выше.

Вы можете уменьшить значение параметра ArgumentList следующим образом:

Start-Process "msiexec" -ArgumentList "/i C:\WebPlatformInstaller.msi /passive /quiet /norestart /qn -NoNewWindow -Wait

Вместо

Start-Process "msiexec" -ArgumentList '/i', 'C:\WebPlatformInstaller.msi', '/passive', '/quiet', '/norestart', '/qn' -NoNewWindow -Wait;

Тогда использовать переменные в строке также проще.

0 голосов
/ 04 июня 2018

Я знаю, что это не совсем то, о чем вы просили, но вы можете использовать Web Platform Installer Command Line для автоматической установки WebPI продуктов.Идея состоит в том, чтобы загрузить WebPICMD и запустить установку Service Fabric SDK из строки cmd.Сценарий powershell может выглядеть следующим образом:

Invoke-WebRequest "https://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi" -OutFile "C:\WebPlatformInstaller.msi" -UseBasicParsing;
Start-Process "msiexec" -ArgumentList '/i', 'C:\WebPlatformInstaller.msi', '/passive', '/quiet', '/norestart', '/qn' -NoNewWindow -Wait; 
rm "C:\WebPlatformInstaller.msi"

WebPICMD.exe /Install /Products:MicrosoftAzure-ServiceFabric-CoreSDK /AcceptEULA

Product MicrosoftAzure-ServiceFabric-CoreSDK автоматически установит последнюю версию Service Fabric SDK и Service Fabric Runtime.

Если вы хотите установить что-то отличное от WebPI run:

WebPICMD.exe /List /ListOption:All

Эта команда выведет список всех доступных продуктов, просто захватите idпродукт и выполните команду установки.

Подробнее о WebPICMD здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...