Мне нужен еще один набор глаз, потому что я уверен, что это просто, но это пинает мою задницу прямо сейчас. Я пишу сценарий для установки ролей / функций Windows на компьютерах с Server 2008 и Server 2012.
Я знаю, что 2008 использует Add-WindowsFeature
, тогда как 2012 использует Install-WindowsFeature
. Поэтому моя цель - взглянуть на ОС и, если это 2008 год, создать переменную с именем $Install
со значением Add-WindowsFeature
, а если это не 2008, присвоить ей значение Install-WindowsFeature
.
Вот что у меня сейчас:
$OS = (Get-WmiObject Win32_OperatingSystem).Name
if ($OS -like '2008') {
$Install = 'Add-WindowsFeature'
} else {
$Install = 'Install-WindowsFeature'
}
В настоящее время, когда я вызываю переменную $OS
, я получаю возвращаемое значение:
Microsoft Windows Server 2008 R2 Standard |C:\Windows|\Device\Harddisk0\Partition2
Но когда я вызываю переменную $Install
, я получаю возвращаемое значение:
Install-WindowsFeature
Я также пробовал -contains
вместо -like
, но получаю тот же результат. Я также пытался устранить пробелы перед фигурными скобками, но все равно без изменений. Что я делаю не так?