如何使用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地址或者代理服务器地址。