无法将 IPV4 地址获取到 WPF使用 Runspace

问题描述

我一直致力于将我为工作而创建的工具从传统的 WPF 过渡到利用运行空间的 WPF。起初,学习曲线有点陡峭,但我开始掌握它的窍门。

我在将某些 powershell 命令结果传递到运行空间时遇到了一些问题。

最新一期: 我有一个有效的 powershell 脚本,它将执行以下操作

  1. 解析计算机名的IP
    $resolve = resolve-dnsname $computername | select IPAddress
    $IP = $resolve -replace ".*-" -replace ".{1}$"

$GetIP 将在控制台中显示 IPV4 地址

  1. 对 IP 执行 nbtstat 并获取一个
    $NBT = IF($IP -ne "") {nbtstat -a $IP}
    foreach ($line in $NBT) {
         if($line -match '^\s**([^<\s]+)\s*<00>\s*UNIQUE')
         {
              $NBTName = $Matches[1]
              break
         }}
  1. 如果与 IP 地址关联的名称与 $computername 不匹配,则返回 TRUE,如果匹配,则返回 FALSE。
    $BadDNS = IF($computername -ne $NBTName -and $IP -notmatch ""){"TRUE"} ELSE {"FALSE"}

这在标准的 powershell 环境中运行良好。但是,我无法使用运行空间在我的 WPF 表单中使用它。到目前为止,我发现我遇到的问题是 IPV4 地址无法正确填充。当我运行此命令并将 $IP 变量输出到文本框时,我得到类似于以下内容内容

    fe80:xxxx:xxxx:xxxx:xxxx %19 192.168.1.1

生成的 IP 当然会无法通过任何检查。我尝试了多种将 IPV4 地址拉到 WPF GUI 的方法,结果各不相同。没有一个是可以接受的。
例如:

    $IP = test-netconnection -computername $computername
    $IP.RemoteAddress.IPAddresstoString

这再次为我提供了 ISE 控制台中的 IPV4 地址。但是,由于某种原因,结果在 WPF 中无法使用。

有人知道如何将这些信息导入我的 GUI 吗?

先谢谢你!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)