-1

Я хочу обновить версию Powershell для машины. Можно ли это сделать через командную строку?

Моя текущая потребность заключается в обновлении с PS 4 до PS 5 на сервере Windows 2012R2.

Я полагаю, что не существует универсального решения для всех версий Windows и всех версий PS, смешанных с оговорками, такими как PS4, требующих Dotnet4.5, поэтому давайте сделаем этот вопрос максимально простым, как в первых двух предложениях выше.

3 ответа3

1

Вот небольшой трюк с использованием шоколада

#Install Chocolatey
#region
echo "Setting up Chocolatey software package manager"
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

Get-PackageProvider -Name chocolatey -Force

echo "Setting up Full Chocolatey Install"
Install-Package -Name Chocolatey -Force -ProviderName chocolatey
$chocopath = (Get-Package chocolatey | 
            ?{$_.Name -eq "chocolatey"} | 
                Select @{N="Source";E={((($a=($_.Source -split "\\"))[0..($a.length - 2)]) -join "\"),"Tools\chocolateyInstall" -join "\"}} | 
                    Select -ExpandProperty Source)
& $chocopath "upgrade all -y"
choco install chocolatey-core.extension --force

echo "Creating daily task to automatically upgrade Chocolatey packages"
# adapted from https://blogs.technet.microsoft.com/heyscriptingguy/2013/11/23/using-scheduled-tasks-and-scheduled-jobs-in-powershell/
$ScheduledJob = @{
    Name = "Chocolatey Daily Upgrade"
    ScriptBlock = {choco upgrade all -y}
    Trigger = New-JobTrigger -Daily -at 2am
    ScheduledJobOption = New-ScheduledJobOption -RunElevated -MultipleInstancePolicy StopExisting -RequireNetwork
}
Register-ScheduledJob @ScheduledJob
#endregion

#Update Powershell
#region
$ErrorActionPreference = "silentlycontinue"

$PSVersionTable.PSVersion
choco install powershell -y
choco upgrade powershell -y

$ErrorActionPreference = "continue"
#endregion
1

Вы должны скачать WMF 5.0 здесь. Затем запустите команду из cmd:

wusa.exe D:\W2K12-KB3134759-x64.msu

или где вы скачали пакет.

-1

Вы должны написать свой собственный сценарий, чтобы сделать это. Предварительно написано, что сделает это для вас без каких-либо усилий с вашей стороны. Загрузка и установка файлов из Интернета - очень распространенная практика. Есть много онлайн-инструкций и видео о том, как это сделать.

Перевод:

  1. Вы переходите по URL-адресу, на который указывает Александр.
  2. Нажмите «Загрузить», чтобы перейти на следующую страницу, перейти на прямой URL и сохранить эту ссылку.
  3. Затем используйте веб-командлеты PowerShell, чтобы загрузить этот файл.
  4. Затем используйте командлеты, чтобы начать установку или установку без вывода сообщений.

Есть много примеров в Интернете на тему, как загрузить файл из Интернета. Даже готовые образцы, которые вы можете просмотреть и настроить для вас.

Посмотрите галерею MS PowerShell в качестве отправной точки.

Или посмотрите примеры встроенной PowerShell и / или интерактивную справку.

# Get parameters, examples, full and Online help for a cmdlet or function

(Get-Command -Name Invoke-WebRequest).Parameters
Get-help -Name Invoke-WebRequest -Examples
Get-help -Name Invoke-WebRequest -Full
Get-help -Name Invoke-WebRequest -Online

(Get-Command -Name Invoke-Command).Parameters
Get-help -Name Invoke-Command -Examples
Get-help -Name Invoke-Command -Full
Get-help -Name Invoke-Command -Online

(Get-Command -Name Start-Process).Parameters
Get-help -Name Start-Process -Examples
Get-help -Name Start-Process -Full
Get-help -Name Start-Process -Online

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .