WIP works

This commit is contained in:
silversword411 2021-09-25 18:56:43 -04:00
parent 5cd832de89
commit ee6c9c4272
No known key found for this signature in database
GPG Key ID: 6F4BD176F56B50CA
4 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,128 @@
<#
.SYNOPSIS
Enables Location services in Windows
.DESCRIPTION
Lets you enable/disable device-wide location or User App location
.PARAMETER Enable
https://www.tenforums.com/tutorials/13225-turn-off-location-services-windows-10-a.html
user = Enable for User App locations
machine = Enable location for system wide
all = Enables both user and machine
.PARAMETER Disable
https://www.tenforums.com/tutorials/13225-turn-off-location-services-windows-10-a.html
user = Disable for User App locations
machine = Disable location for system wide
all = Disables both user and machine
.OUTPUTS
Results are printed to the console.
.EXAMPLE
-Enable machine
.EXAMPLE
-Disable all
.NOTES
Change Log
V1.0 Initial release
#>
param (
[string] $Enable,
[string] $Disable
)
# HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location
if (Get-PackageProvider -Name NuGet) {
Write-Output "NuGet Already Added"
}
else {
Write-Host "Installing NuGet"
Install-PackageProvider -Name NuGet -Force
}
if (Get-Module -ListAvailable -Name RunAsUser) {
Write-Output "RunAsUser Already Installed"
}
else {
Write-Output "Installing RunAsUser"
Install-Module -Name RunAsUser -Force
}
If (!(test-path $env:programdata\TacticalRMM\temp\)) {
New-Item -ItemType Directory -Force -Path $env:programdata\TacticalRMM\temp\
}
If (!(test-path $env:programdata\TacticalRMM\temp\curpsxpolicy.txt)) {
$curexpolicy = Get-ExecutionPolicy
(
Write-Output $curexpolicy
)>$env:programdata\TacticalRMM\temp\curpsxpolicy.txt
}
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell -Name ExecutionPolicy -Value Unrestricted
if (!$Enable -AND !$Disable) {
Write-Host "At least one parameter is required: Enable or Disable."
Exit 1
}
# Used to pull variables in and use them inside the script block. Contains message to show user
Set-Content -Path c:\temp\message.txt -Value $args
Invoke-AsCurrentUser -scriptblock {
Write-Output "Runasuser started" | Out-File -append -FilePath c:\temp\raulog.txt
$Enable = Get-Content -Path c:\temp\message.txt
Write-Output $Enable | Out-File -append -FilePath c:\temp\raulog.txt
Write-Output "$Enable" | Out-File -append -FilePath c:\temp\raulog.txt
Write-Output "Debug output finished" | Out-File -append -FilePath c:\temp\raulog.txt
if ($Enable -eq "user" -or $Enable -eq "all") {
# https://www.tenforums.com/tutorials/13225-turn-off-location-services-windows-10-a.html
$registryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location"
$Name = "Value"
$value = "Allow"
New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force | Out-Null
Write-Output "Enabled Location for user" | Out-File -append -FilePath c:\temp\raulog.txt
}
elseif ($Disable -eq "user" -or $Disable -eq "all") {
$registryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location"
$Name = "Value"
$value = "Deny"
New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force | Out-Null
Write-Output "Disabled Location for user" | Out-File -append -FilePath c:\temp\raulog.txt
}
}
$exitcode = Get-Content -Path "c:\temp\raulog.txt"
Write-Host $exitcode
$curpsxpol = Get-Content -Path $env:programdata\TacticalRMM\temp\curpsxpolicy.txt;
Set-ExecutionPolicy -ExecutionPolicy $curpsxpol
if ($Enable -eq "machine" -or $Enable -eq "all") {
# https://www.tenforums.com/tutorials/13225-turn-off-location-services-windows-10-a.html
$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location"
$Name = "Value"
$value = "Allow"
New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force | Out-Null
Write-Output "Enabled Location for machine"
}
if ($Disable -eq "machine" -or $Disable -eq "all") {
$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location"
$Name = "Value"
$value = "Deny"
New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType String -Force | Out-Null
Write-Output "Disabled Location for machine"
}
Remove-Item -path "c:\temp\raulog.txt"

View File

@ -0,0 +1,16 @@
Add-Type -AssemblyName System.Device #Required to access System.Device.Location namespace
$GeoWatcher = New-Object System.Device.Location.GeoCoordinateWatcher #Create the required object
$GeoWatcher.Start() #Begin resolving current locaton
while (($GeoWatcher.Status -ne 'Ready') -and ($GeoWatcher.Permission -ne 'Denied')) {
Start-Sleep -Milliseconds 100 #Wait for discovery.
}
if ($GeoWatcher.Permission -eq 'Denied') {
Write-Error 'Access Denied for Location Information'
}
else {
# $GeoWatcher.Position.Location | Select Latitude,Longitude #Select the relevent results.
$a = $GeoWatcher.Position.Location
write-host "$a"
}

View File

@ -1,4 +1,5 @@
# gretsky https://discord.com/channels/736478043522072608/744281869499105290/890996626716508180
# remove non domain joined device from trmm and unjoin them from Azure Ad
$domain = (Get-WmiObject -Class win32_computersystem -ComputerName localhost).domain
if ($domain.toupper().contains('DOMAIN')) {