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.
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