#Requires -RunAsAdministrator $ErrorActionPreference = 'Continue' $dte = New-Object -ComObject TcXaeShell.DTE.17.0 $dte.MainWindow.Visible = $true try { $dte.SuppressUI = $false } catch {} $dte.Solution.Open('C:\Users\tonycao\work\twincat3-auto-cli\TwinCAT_EL6695_Primary\TwinCATProject1.sln') Start-Sleep 25 $sm = $null for ($i = 0; $i -lt 20; $i++) { try { $sm = $dte.Solution.Projects.Item(1).Object; if ($sm) { break } } catch {} Start-Sleep 3 } if (-not $sm) { Write-Host 'no sysmgr'; exit 1 } try { $sm.SetTargetNetId('169.254.176.217.1.1') } catch {} Start-Sleep 2 Write-Host '--- GetLastErrorMessages ---' try { Write-Host ($sm.GetLastErrorMessages() | Out-String) } catch { Write-Host "err: $_" } Write-Host '--- error list ---' try { $el = $dte.ToolWindows.ErrorList $items = $el.ErrorItems Write-Host "count: $($items.Count)" for ($i = 1; $i -le [Math]::Min($items.Count, 20); $i++) { $it = $items.Item($i) Write-Host " [$($it.ErrorLevel)] $($it.Description)" } } catch { Write-Host "errorlist: $_" }