如何在PowerShell中查询Windows 10设备的经纬度?

我正在寻找一种方法来通过PowerShell查询Windows 10位置服务以十进制表示法返回设备的当前经度和纬度。 从http://www.verboon.info/2013/10/powershell-script-get-computergeolocation/处捣蛋我把以下function放在一起:

function Get-LatLong() { # Windows Location API $mylocation = new-object -ComObject LocationDisp.LatLongReportFactory # Get Status $mylocationstatus = $mylocation.status if ($mylocationstatus -eq "4") { # Windows Location Status Returns 4, so we're "Running" # Get latitude and longitude from LatLongReport property $latitude = $mylocation.LatLongReport.Latitude $longitude = $mylocation.LatLongReport.Longitude if ($latitude -ne $null -or $longitude -ne $null) { write-host "$longtitude $latitude" } Else { write-warning "Latitude or Longitude data missing" } } Else { switch($mylocationstatus) { # All possible status property values as defined here: # http://msdn.microsoft.com/en-us/library/windows/desktop/dd317716(v=vs.85).aspx 0 {$mylocationstatuserr = "Report not supported"} 1 {$mylocationstatuserr = "Error"} 2 {$mylocationstatuserr = "Access denied"} 3 {$mylocationstatuserr = "Initializing" } 4 {$mylocationstatuserr = "Running"} } If ($mylocationstatus -eq "3") { write-host "Windows Loction platform is $mylocationstatuserr" sleep 5 Get-LatLong } Else { write-warning "Windows Location platform: Status:$mylocationstatuserr" } } } # end function 

当我调用函数时,它返回:

PS C:\ windows \ system32> Get-LatLong

警告:Windows位置平台:状态:不支持报告

位置服务在设备上启用。 我以Admin身份运行PowerShell。 networkingsearch没有帮助。

如果您按照代码中的注释: https : //msdn.microsoft.com/en-us/library/windows/desktop/dd317716(v=vs.85).aspx

它提到:

[Location API对象模型可用于需求部分中指定的操作系统。 在后续版本中可能会更改或不可用。 相反,要从网站访问位置,请使用W3C地理定位API。 要从桌面应用程序访问位置,请使用Windows.Devices.Geolocation API。]

而且支持的平台是:

最低支持的客户端Windows 7 [仅适用于桌面应用]

结论:

我想如何在Windows 10上查询位置数据的答案是使用Geolocation API 。