用PowerShell读取Excel文件

我有一个excel服务器列表,其中列D是主机名和列F区(如dev,int,prd)。 现在我想阅读这个excelfile与PowerShell和打印每个主机名具有区域开发。 我需要改变什么?

$FilePath = "C:\serverlist.xlsx" $SheetName = "serverlist" $objExcel = New-Object -ComObject Excel.Application $objExcel.Visible = $false $WorkBook = $objExcel.Workbooks.Open($FilePath) $WorkSheet = $WorkBook.sheets.item($SheetName) $Range = $WorkSheet.Range("F2:F150").Text Foreach ($cell in $Range) { If ($cell -like "dev") { Write-Host "hostname from Column D" } } 

将电子表格保存为CSV,您将能够更快地处理列表。 然后你可以使用下面的代码,把-Header之后的值-Header为与你相关的列名:

 $FilePath = "C:\serverlist.csv" $serverList = Import-Csv $FilePath -Header "ColumnA","ColumnB","ColumnC","HostName","Area" $serverList | where {$_.Area -like"dev" } | Select-Object HostName