快速的問題,我需要拉OS版本200+服務器..我發現做到這一點通過問題拉動主機名和操作系統版本 - PowerShell的
$servers = get-content "C:\Automation\Servers.txt"
Get-WmiObject -class win32_operatingsystem -ComputerName $servers | Select-Object Caption
但是結果踢中後衛是結合的方式這樣
Caption
-------
Microsoft(R) Windows(R) Server 2003, Standard Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003 Enterprise x64 Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft Windows Server 2008 R2 Standard
Microsoft Windows Server 2008 R2 Datacenter
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003, Enterprise Edition
Microsoft(R) Windows(R) Server 2003 Standard x64 Edition
Microsoft(R) Windows(R) Server 2003, Standard Edition
現在的主要問題是一些失敗的,所以我不能只是倒計時列表,並把名字對他們...有沒有辦法讓旁邊的程序從我的文件寫的主機名版本?還是我找錯了樹....
我沒有找到一個辦法做到這一點與IP這裏是指不使用其使用「System.Net WMI對象這樣
$servers = get-content "C:\Automation\Servers.txt"
foreach ($server in $servers) {
$addresses = [System.Net.Dns]::GetHostAddresses($server)
foreach($a in $addresses) {
"{0},{1}" -f $server, $a.IPAddressToString
}
但是地址。 Dns] :: GetHostAddresses($ server)「所以我不知道如何適應我的需要,任何幫助將是偉大的。感謝你的幫助。
PERFECT !!!這正是我需要的......現在這是如何工作的?我真的不明白「{0},{1}」「是幹什麼的?這種行爲是否被稱爲某種東西,我可以谷歌和了解它? – Mal229
這是創建一個格式化的字符串。你可以有 ''我的名字是{1},我最喜歡的顏色是{0}「-f」藍色「,」Matt「 馬特將假設位置1在字符串中,藍色將假設位置0創建 '」我的名字是馬特,我最喜歡的顏色是藍色「#: http://blogs.technet.com/b/heyscriptingguy/archive/2013/03/11/understanding-powershell-and-basic-string-formatting.aspx The鏈接包含了更深入的-f運算符,它可以做更多的事情。 – Matt