2014-12-05 97 views
3

我試圖使用Windows Powershell中的函數返回操作系統名稱。如何在Windows Powershell中使用函數獲取操作系統名稱

我構建了這段代碼,但是我沒有得到任何結果。請幫忙嗎?

Function Get-OSName 
{ 
(Get-WmiObject Win32_OperatingSystem).Name 
} 
"Name of the OS: $(Get-OSName)" 

謝謝。

enter image description here

+0

對我來說絕對很好。 – arco444 2014-12-05 12:43:42

+1

同樣在這裏,即使我使用Caption而不是Name。 – 2014-12-05 12:50:23

+0

@ arco444你可以請檢查更新後的帖子,看看我的結果 – aiden87 2014-12-05 12:59:08

回答

3

您已經省略了屏幕的關鍵部分,包含圖像。什麼是 重要的是直接顯示最後一行後的行。如果最後一行顯示爲 確實是最後一行,那麼您仍然需要按再次輸入。 考慮這個命令

PS > 'hello world' 
hello world 

通知,只要我打輸入打印結果。但是某些 操作(如定義函數)會導致PowerShell進入交互模式。 一旦PowerShell處於交互模式,它將需要按兩次輸入 以開始評估。例如

PS > function foo { 
>> echo bar 
>> } 
>> 'hello world' 
>> 'dog bird mouse' 
>> 
hello world 
dog bird mouse 

注意這一次我能夠同 'hello world'命令後輸入命令。

+1

謝謝你親切的先生:) – aiden87 2014-12-06 19:17:12

2

嘗試探索的對象來找出你想要的屬性:

Get-WmiObject Win32_OperatingSystem | select -Property * 

你會發現在「標題」屬性包含友好的操作系統的名稱,如米奇 - balladelli提及。您的示例將更改爲:

Function Get-OSName 
{ 
    (Get-WmiObject Win32_OperatingSystem).Caption 
} 

乾杯!

+0

標題確實是一個更好的選擇,謝謝你......但它仍然不會返回任何結果。你能檢查我更新的帖子嗎? – aiden87 2014-12-05 13:02:09

相關問題