[英]Powershell Error: Exception from HRESULT: 0x800A03EC
對此的任何幫助都會很棒。 遇到這個錯誤,我無法弄清楚為什么它無法寫入第 4 行。我嘗試了不同的格式,但仍然繼續拋出錯誤。 我已經在 xls 和 csv 中嘗試過這個。 沒有運氣,再次任何幫助都會非常感謝您!
$path = ".\results.csv"
$objExcel = new-object -comobject excel.application
if (Test-Path $path) {
$objWorkbook = $objExcel.WorkBooks.Open($path)
$objWorksheet = $objWorkbook.Worksheets.Item(1)
} else {
$objWorkbook = $objExcel.Workbooks.Add()
$objWorksheet = $objWorkbook.Worksheets.Item(1)
}
$objExcel.Visible = $True
#########Add Header#########
$objWorksheet.Cells.Item(1, 1) = "MachineIP"
$objWorksheet.Cells.Item(1, 2) = "Result"
$objWorksheet.Cells.Item(1, 3) = "HostName"
$objWorksheet.Cells.Item(1, 4) = "ServiceTag"
$ipadd = Read-Host "Please enter the IP address ex. 10.0.0. "
75..190 | ForEach-Object {$ipadd + "$_"} | Out-File -FilePath .\machinelist.txt
Start-Sleep -s 3
$machines = gc .\machinelist.txt
$count = $machines.count
$row=2
$machines | foreach-object{
$ping=$null
$hname =$null
$machine = $_
$ping = Test-Connection $machine -Quiet -Count 1 -ea silentlycontinue
if($ping){
try{
$hname = [System.Net.Dns]::GetHostByAddress($machine).HostName
}catch{}
try{
$stag = Get-WmiObject -ComputerName $machine Win32_BIOS | Select-Object SerialNumber
}catch{}
$objWorksheet.Cells.Item($row,1) = $machine
$objWorksheet.Cells.Item($row,2) = "UP"
$objWorksheet.Cells.Item($row,3) = $hname
$objWorksheet.Cells.Item($row,4) = $stag
$row++
} else {
}
}
Remove-Item -Path .\machinelist.txt -Force
當我運行您的代碼時,我看到兩個問題不斷出現。
對於 1,我只是添加了-ErrorAction SilentlyContinue
,對於 2,我在 $stag 的值周圍添加了引號。 查看腳本
if($ping){
try{
$hname = [System.Net.Dns]::GetHostByAddress($machine).HostName
}catch{}
try{
$stag = Get-WmiObject -ComputerName $machine Win32_BIOS -ErrorAction SilentlyContinue | Select-Object SerialNumber
$objWorksheet.Cells.Item($row,1) = "$machine"
$objWorksheet.Cells.Item($row,2) = "UP"
$objWorksheet.Cells.Item($row,3) = "$hname"
$objWorksheet.Cells.Item($row,4) = "$stag"
}
catch{
$objWorksheet.Cells.Item($row,1) = "$machine"
$objWorksheet.Cells.Item($row,2) = "DOWN"
$objWorksheet.Cells.Item($row,3) = "$hname"
$objWorksheet.Cells.Item($row,4) = "$stag"
}
$row++
}
如果帖子幫助您找到解決方案,請標記帖子已回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.