如何使用PowerShell获取我的公共IP地址

时间:2020-01-09 10:46:27  来源:igfitidea点击:

在PowerShell脚本中,我需要从命令行或者(最好)使用一些简单的PowerShell函数确定Windows计算机的当前外部IP地址。有很多网站可以找到公共IP地址,但我不理解如何从PoSh脚本访问它们并从网页返回数据。

回答

没错,要想知道你的外部IP地址,你可以使用任何在线服务。我们可以使用InvokeWebRequestcmdlet从PowerShell的外部网页获取数据(使用InvokeWebRequest解析和剪切网页的示例)。

我们可以解析任何流行站点的页面以检查外部IP地址,但使用任何只包含IP地址的服务(以纯文本的形式)更容易。

我们可以使用以下站点:

http://ipinfo.io/ip

http://ifconfig.me/ip

http://icanhazip.com

http://ident.me

http://smart-ip.net/myip

例如,要查找当前访问Internet的外部IP地址,请打开PowerShell控制台并运行以下命令:

(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content

如我们所见,命令成功地返回PoSh控制台连接所来自的外部IP地址。

甚至你也可以得到你的地理信息(例如一个国家、城市、地区和GPS坐标)。

Invoke-RestMethod -Uri ('http://ipinfo.io/'+(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content

提示。如果我们通过代理服务器访问Internet,那么我们可以使用本指南从PowerShell对其进行授权。

我们应该理解,在大多数情况下,结果IP将不是我们计算机的真正静态“白色”IP。在大多数情况下,这将是路由器的外部IP地址(使用NAT时)、提供者发出的动态IP地址或者代理服务器地址。