這裏第一次發佈海報,我是一個初學者,我一直熱衷於讓我的PowerShell腳本技能不勝枚舉,而且我遇到了一些令人困惑的事情...來自Win32_OperatingSystem的PowerShell - Select-Object顯示出奇怪的效果
我已經做了一個腳本來查詢計算機集合,我想查詢Win32_OperatingSystem,但只能推斷內部編號,所以我可以用它填充我的PSObject。我試圖添加一些如果邏輯,以便如果內部版本號是7601,我可以在我的操作系統列下寫一條消息。
我遇到的問題是,BuildNumber值出現爲@ {BuildNumber = 7601}而不是7601例如。那個,我的If語句是borked。
$Machines = Get-Content .\Computers.txt
Foreach($Machine in $Machines)
{
$sweet = (Get-WmiObject -Class Win32_OperatingSystem -computer $Machine | Select-Object BuildNumber)
$dversion = if ($sweet -eq "@{BuildNumber=7601}") {Yes!} else {"Nooooo!"}
New-Object PSObject -Property @{
ComputerName = $Machine
Sweet = $sweet
OS = $dversion
}
}
明白了! Kinda ... '$ ErrorActionPreference =「SilentlyContinue」 $ Machines = Get-Content。\ Computers.txt Foreach($ Machine in $ Machines) {Get-WmiObject -Class Win32_OperatingSystem -computer $ Machine | Select-Object BuildNumber,@ {Label =「OS」; Expression = {If($ _。BuildNumber -eq「7601」){「Yes!」} else {「Nooooo!」}} } } Now我只需要弄清楚如何將它粘貼到我的PSObject上。 – Astirian 2013-03-01 03:42:36
請稍等,並將其作爲您自己問題的答案發布。 – JPBlanc 2013-03-01 04:37:51