2016-03-22 14 views
3

Ich bin auf der Suche nach einer Möglichkeit, den Windows 10-Standortdienst über PowerShell abzufragen, um den aktuellen Breiten- und Längengrad des Geräts in Dezimalschreibweise zurückzugeben. Abschreiben von http://www.verboon.info/2013/10/powershell-script-get-computergeolocation/ habe ich die folgende Funktion zusammen:Wie können Breite und Länge von Windows 10-Geräten in PowerShell abgefragt werden?

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 

Wenn ich die Funktion aufrufen, gibt sie:

PS C: \ Windows \ System32> Get-LatLong

WARNUNG: Windows Standortplattform: Status: Bericht nicht unterstützt

Standortdienste sind auf dem Gerät aktiviert. Ich führe PowerShell als Admin aus. Websuche hat nicht geholfen.

Antwort

2

Wenn Sie den Kommentar im Code folgen: https://msdn.microsoft.com/en-us/library/windows/desktop/dd317716(v=vs.85).aspx

Es erwähnt:

[Das Location API-Objektmodell für den Einsatz in den Betriebssystemen im Abschnitt Anforderung angegeben zur Verfügung steht. Es kann in nachfolgenden Versionen geändert oder nicht verfügbar sein. Verwenden Sie stattdessen die W3C-Geolocation-API, um von einer Website auf den Standort zuzugreifen. Für den Zugriff auf Lage von einer Desktop-Anwendung, verwenden Sie die Windows.Devices.Geolocation API]

und dass die unterstützte Plattform ist.

Minimum unterstützten Client Windows 7 [Desktop-Anwendungen nur]

Fazit:

ich denke, die Antwort, wie Standortdaten abfragen auf Windows 10 soll die Geolocation API verwenden.

+0

Ich denke, du hast Recht. Ich habe mir die Dokumente angeschaut, kann aber nicht genau sagen, wie ich in PS übersetzen soll. Hast du einen Rat? TIA! – prjorgensen

Verwandte Themen