Powershell将IF语句写入变量

时间:2017-10-20 10:56:30

标签: powershell if-statement output

我想要一个可以将输出写入变量的If / Else脚本,稍后我将在脚本中使用该变量。

这就是我所拥有的:

if (!(Get-Module -ListAvailable -Name servermanager)) {
    Import-Module servermanager
}

$WinFeat = Get-WindowsFeature -Name telnet-client | Where installed
if ($WinFeat -EQ $null) {
    Add-WindowsFeature telnet-client
}

基本上我认为我可以这样做:

if (!(Get-Module -ListAvailable -Name servermanager)) {
    Import-Module servermanager
} else {
    $alreadyModule
}

$WinFeat = Get-WindowsFeature -Name telnet-client | Where installed
if ($WinFeat -EQ $null) {
    Add-WindowsFeature telnet-client
} else {
    $alreadyFeature
}

if (($alreadyModule) -and ($alreadyFeature) {Write-Host "STUFF INSTALLED"}

那"东西"将用于我将在Ansible Playbook中使用的标准输出。

所以基本上我想说如果已经安装了,并且已经安装了,那么编写STUFF INSTALLED以便在Ansible中使用...但是我似乎无法弄清楚如何编写变量而没有它首先从:

开始
$alreadyModule = ....
$alreadyFeature = ....

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

谢谢安斯加,我已经把你包括在内了,并提出来:

if (!(Get-Module -ListAvailable -Name servermanager)) {
    Import-Module servermanager
} else {
    $alreadyModule = (Get-Module -ListAvailable -Name servermanager)
}


$WinFeat = Get-WindowsFeature -Name telnet-client | Where installed
if ($WinFeat -EQ $null) {
    Add-WindowsFeature telnet-client
} else {
    $alreadyFeature = (Get-WindowsFeature -Name telnet-client).Installed
}

if (($alreadyFeature) -and ($alreadyModule)) {Write-Host "STUFF INSTALLED"}