如何使用PowerShell获取公网IP地址

在本文中,我将向您展示如何使用PowerShell获取公共IP地址。当你没有安装浏览器或使用Windows核心操作系统时,通过编程方式获取公共IP地址非常有用。

有多种方法可以找到计算机的公共IP地址,您可能知道有许多网站可以找到公共IP地址。当你访问这些网站时,他们会显示你的公共IP地址。然而,使用PowerShell获得一个公共IP地址将是非常迷人的。是的,您可以使用PowerShell命令获取您正在工作的计算机的公共IP地址。

我们大多数人都知道可以通过运行一个简单的命令来获取系统的IP地址。对于Windows机器,您必须运行ipconfig命令,对于Linux,它是ifconfig命令。

PatchMyPC HorizontalAD
修补我的电脑赞助广告

如果你有ISP的互联网连接,系统通常在路由器或调制解调器后面。使用路由器的管理页面,你仍然可以找到你的公共IP地址。您需要登录到您的路由器并查看配置。

推荐列出所有使用PowerShell | Azure Cloud Shell的Azure区域欢迎您~

如何使用PowerShell获取公网IP地址

在任何计算机上使用PowerShell有两种方法获得公共IP地址:

  • 使用(Invoke-WebRequest -uri " https://api.ipify.org/ "). content命令。
  • 使用Invoke-RestMethod。例如,(Invoke-RestMethod -Uri (' https://ipinfo.io/ ')。

我们将尝试这两个PowerShell命令来查找计算机的公共IP地址。执行以下PowerShell命令,找到Public IP地址。

(Invoke-WebRequest -uri "https://api.ipify.org/").Content

等一下,当我运行上面的命令时,我刚刚得到了一个奇怪的错误。没什么好担心的,只是你还没有打开电脑上的ie浏览器。命令说Internet Explorer引擎不可用,或者它的第一次发射配置不完整。似乎在安装操作系统后,ie应用程序从未启动过。

Invoke-WebRequest:由于Internet Explorer引擎不可用或Internet Explorer首次启动配置不完整,无法解析响应内容。请指定UseBasicParsing参数,然后重试。

请注意: Invoke-WebRequest要求PowerShell 3.0或更高版本.在运行上述命令之前,请确保将计算机上的PowerShell更新到最新版本。

使用PowerShell获取公网IP地址
使用PowerShell获取公网IP地址

相关的2使用SCCM找到PowerShell版本的最佳方法

重要提示:Internet Explorer 11将于2022年6月15日停止支持。一旦Internet Explorer脱离支持期,您将无法获得任何更新。计划在使用GPO的电脑上禁用Internet Explorer 11

因此,要修复上述错误,请打开Internet Explorer一次并关闭它。再次运行该命令,应该不会看到错误。

在上面的命令中,我们使用api.ipify.org从PowerShell获取公共IP。除了这个uri之外,还有几个其他选项可用。可以通过以下任意一个站点查询公网IP地址:

  • https://ipinfo.io/ip
  • https://ifconfig.me/ip
  • https://icanhazip.com
  • https://ident.me
  • http://smart-ip.net/myip

有用的文章如何使用PowerShell解锁用户帐号

此外,还可以获得更多关于您的互联网服务提供商的详细信息。您可以运行下面的PowerShell命令来查找详细信息,例如。

  • IP地址
  • 主机名
  • 城市
  • 地区
  • 国家
  • 疯狂的
  • org
$ip =调用方法http://ipinfo.io/json $ip。ip $ ip。主机名的ip。城市$ ip。地区$ ip。国家知识产权美元。疯狂的$ip.org $ip.postal $ip.readme
调用rest方法-Uri ('https://ipinfo.io/')
使用PowerShell Snap2获取公网IP地址
使用PowerShell获取公网IP地址

留下回复

你的电邮地址将不会公布。必填字段已标记

2的评论

  1. 《阿凡达》的照片 卡尔Wester-Ebbinghaus 说:

    非常有帮助,谢谢普拉杰瓦尔

  2. 《阿凡达》的照片 另一次 说:

    你可以通过添加-UseBasicParsing到你的Invoke-Webrequest来绕过IE的问题