2011-07-12 30 views
2

我正在嘗試查找安裝在服務器列表上的.NET版本。在PowerShell腳本中,將服務器作爲.txt文件提供並且枚舉它們以在服務器上查找.NET版本時將執行相同的操作?如何使用PowerShell遠程查找服務器列表上的.NET版本?

+1

也許你已經嘗試過的東西,你有問題,你想問一下?或者你純粹期待有人爲你寫劇本? –

回答

3

參考堆棧溢出問題PowerShell script to return versions of .NET Framework on a machine?如何找到的框架。

對於做很多的服務器,列表從.txt是,你可以使用Get-Content到文件,管道讀取它Invoke-Command和傳遞您從上面的鏈接答案中選擇,以獲得框架的命令。

$script = {gci 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' | sort pschildname -des | select -fi 1 -exp pschildname} 
gc list.txt | %{ Invoke-Command -comp $_ -ScriptBlock $script} 
2

這裏有一種方法:

dir $env:windir\Microsoft.NET\Framework\v* | 
    sort lastwritetime -desc | 
     select -First 1 
1

替代使用Get-WmiObject,但似乎相當緩慢:

foreach ($server in (Get-Content serverlist.txt)) 
{ 
    $version = Invoke-Command -Computer $server -ScriptBlock { 
     (Get-WmiObject Win32_SoftwareElement | ? { $_.name -eq "system.net.dll_x86" }).Version 
    } 
    Write-Output "$server is using .Net Framework version $version" 
} 
0

的esiest的方法是已經使用變量$PSVersionTable

PS C:\> $PSVersionTable.CLRVersion 

Major Minor Build Revision 
----- ----- ----- -------- 
4  0  30319 17929 
相關問題