Avatar of Al
Al
 asked on

Output this powershell script to a pop-up window

Hi,

I am getting to grips with Powershell and have butchered some scripts online to try to get what I want. What am I try to achieve is; a powershell script that, when run, will produce a pop-up box (a regular OK/Cancel one is fine) that shows the hostname, local IP address and public IP address. I am nearly there the script below works, but just shows the output in the shell:

$url = "http://checkip.dyndns.com"
$webclient = New-Object System.Net.WebClient
$Ip = $webclient.DownloadString($url)
$Ip2 = $Ip.ToString()
$ip3 = $Ip2.Split(" ")
$ip4 = $ip3[5]
$ip5 = $ip4.replace("</body>","")
$FinalIPAddress = $ip5.replace("</html>","")
function Get-IPAddress
{
  param
  (
    [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
    [String[]]
    $Name
  )
  
  process
  { $Name | ForEach-Object { try { [System.Net.DNS]::GetHostByName($_) } catch { } }}
}
$ErrorActionPreference = "Stop"
try
{
[string[]]$ComputerName = $env:computername
  $Networks =  Get-WmiObject Win32_NetworkAdapterConfiguration -Filter "DHCPEnabled=$True" | ? {$_.IPEnabled} 
  foreach ($Network in $Networks) {
  $i = 0
  $IPAddress  = $Network.IpAddress[0]
   $IsDHCPEnabled = $false
    If($network.DHCPEnabled) {
     $IsDHCPEnabled = $true
    }
  Else {$i = 1 }
  }
  If ( $i -eq 0 ) 
{
Write-Host "Public IP address is $FinalIPAddress"
Write-Host "ComputerName is $ComputerName"
Write-Host "Local IP Address is $IPAddress"
Exit 0 }
Else {Write-Host "Script Check Failed" 
Exit 1001 }
}
catch
{Write-Host "Script Check Failed" 
Exit 1001 }

Open in new window


I have tried replacing the Write-Host commands with
(new-object -ComObject wscript.shell).Popup($IPAddress,$PublicIPAddress,$Computername,0x1)

Open in new window

but Powershell then returns a blank output. Any suggestions?

Thanks...
PowershellShell Scripting

Avatar of undefined
Last Comment
Al

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
David Johnson, CD

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Al

ASKER
Perfect, thanks so much. It's helped me to learn too as I can now understand how you got it to work and why I couldn't. Cheers.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck