I am running a simple script in VB using System.Management.Automation as below
Script runs fine, but how do I then access content of $offline and $online in my code after it has run?
Dim scriptContents = New StringBuilder()
scriptContents.AppendLine("$computers = @(""PC-1"", ""PC-2"", ""PC-3"")")
scriptContents.AppendLine("$online = @()")
scriptContents.AppendLine("$offline = @()")
scriptContents.AppendLine("Foreach ($computer in $computers) {")
scriptContents.AppendLine("If (Test-Connection -ComputerName $computer -Count 2 -Quiet -ErrorAction SilentlyContinue) {")
scriptContents.AppendLine("$online += $computer")
scriptContents.AppendLine("}")
scriptContents.AppendLine("Else {")
scriptContents.AppendLine("$offline += $computer")
scriptContents.AppendLine("}")
scriptContents.AppendLine("}")
Using ps As PowerShell = PowerShell.Create()
ps.AddScript(scriptContents.ToString)
Dim results1 As PSDataCollection(Of PSObject) = Await Task.Run(Function() ps.InvokeAsync)
Stop
End Using
Thanks