$ProgressPreference='SilentlyContinue'; $ts='C:\Program Files\Tailscale\tailscale.exe'; $o='C:\ProgramData\podo-ts-check.txt' "== SERVICE"; Get-CimInstance Win32_Service -Filter "Name='Tailscale'" | %{ "$($_.State) | $($_.StartMode) | runs as $($_.StartName)" } "== GUI CLIENT"; Get-Process tailscale-ipn -EA SilentlyContinue | %{ "tray running pid $($_.Id)" }; if(-not (Get-Process tailscale-ipn -EA SilentlyContinue)){ "tray not running" } "== LOG (last 50 lines)"; $l=Get-ChildItem 'C:\ProgramData\Tailscale\Logs' -File -EA SilentlyContinue | sort LastWriteTime -desc | select -First 1; if($l){ "FILE $($l.Name) $($l.LastWriteTime)"; Get-Content $l.FullName -Tail 50 | %{ $_.Substring(0,[math]::Min(220,$_.Length)) } } else { "no log folder" } "== STATUS AS SYSTEM"; schtasks /Create /F /RU SYSTEM /SC ONCE /ST 00:00 /TN PodoTsCheck /TR ("cmd /c ""$ts"" status > $o 2>&1 & ""$ts"" debug prefs >> $o 2>&1") | Out-Null; schtasks /Run /TN PodoTsCheck | Out-Null; Start-Sleep 6; Get-Content $o -EA SilentlyContinue | Select-String -Pattern 'Logged|NeedsLogin|Stopped|expired|100\.|WantRunning|ForceDaemon|LoggedOut|ControlURL|Hostname|error|denied' | %{ $_.Line.Trim() }; schtasks /Delete /F /TN PodoTsCheck | Out-Null; Remove-Item $o -EA SilentlyContinue "== DONE: please send a photo of this screen"