Scripts/Handig.ps1
|
Start-Process cleanmgr -ArgumentList "/sagerun:1 /VeryLowDisk /AUTOCLEAN" Get-ChildItem $env:TEMP | Remove-Item -Recurse -Force -ea 0 Get-UserProfiles | Where-Object { $_.LastUseTime -lt (Get-Date).AddDays(-180) } | Remove-CimInstance New-InboxRule -FromAddressContainsWords support@henkie.nl -MoveToFolder someone@somewhere.com:\Inbox\Automail -Name "support@henkie.nl" # Pwsh7 Sandbox $ProgressPreference = 'SilentlyContinue' $latestVersionX64msi = Invoke-WebRequest -Uri "https://api.github.com/repos/powershell/powershell/releases/latest" -UseBasicParsing | Select-Object -ExpandProperty Content | ConvertFrom-Json | Select-Object -ExpandProperty assets | Where-Object name -Match Win-x64.msi Invoke-WebRequest $latestVersionX64msi.browser_download_url -OutFile $latestVersionX64msi.name $ProgressPreference = 'Continue' $install = Start-Process "msiexec.exe" -ArgumentList "/i $($latestVersionX64msi.name) /qn /l*v PowershellMsi.log" -Wait -PassThru $install.ExitCode Remove-Item $($latestVersionX64msi.name) -Force # VSCode install $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri "https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-user" -OutFile "VSCodeUserSetup.exe" $ProgressPreference = 'Continue' $install = Start-Process "VSCodeUserSetup.exe" -ArgumentList "/verysilent /suppressmsgboxes" -Wait -PassThru $install.ExitCode Remove-Item "C:\VSCodeUserSetup.exe" -Force # Base 64 image $FilePath = ".\wiki-logo-wit.png" $Base64 = [Convert]::ToBase64String((Get-Content $FilePath -AsByteStream)) $Base64 $HTML = "<img src=`"data:image/png; base64, $($Base64)`" />" $HTML $HTML | clip $OutFilePath = "C:\Temp\test.png" $Image = [Drawing.Bitmap]::FromStream([IO.MemoryStream][Convert]::FromBase64String($Base)) $Image.Save($OutFilePath) [System.Environment]::SetEnvironmentVariable("DockerFolder", "$($env:Onedrive)\Docker", "Machine") # Installed (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*) + (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*) | Where-Object { $_.DisplayName } | Select-Object DisplayName $progs = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*) + (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*) $progs # Remote wipe $namespaceName = "root\cimv2\mdm\dmmap" $className = "MDM_RemoteWipe" $methodName = "doWipeMethod" $session = New-CimSession $params = New-Object Microsoft.Management.Infrastructure.CimMethodParametersCollection $param = [Microsoft.Management.Infrastructure.CimMethodParameter]::Create("param", "", "String", "In") $params.Add($param) $instance = Get-CimInstance -Namespace $namespaceName -ClassName $className -Filter "ParentID='./Vendor/MSFT' and InstanceID='RemoteWipe'" if ($WeetJeHetAbsoluutZeker) { $session.InvokeMethod($namespaceName, $instance, $methodName, $params) } # Detect onbekende devices / missende drivers Get-PnpDevice | Where-Object Status -NotMatch "OK|Unknown" | Format-List # Powersettings powercfg /batteryreport powercfg /sleepstudy powercfg /lastwake # Windows Hello reregistration certutil.exe -deleteHelloContainer # Defender Anti-virus Get-MpPreference Get-MpPreference | Select-Object -ExpandProperty exclusionpath Add-MpPreference -ExclusionPath 'C:\Temp\test' Remove-MpPreference -ExclusionPath 'C:\Temp\test' $TaskAction = New-ScheduledTaskAction -Execute "tsdiscon.exe" # New-ScheduledTaskPrincipal $TaskTrigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName "Lock at logon" -Action $TaskAction -Trigger $TaskTrigger # Logonevents function Get-LogonEvents { [CmdletBinding()] param ( ) $logonEvents = Get-WinEvent -LogName 'Security' -FilterXPath "*[System[EventID=4624 or EventID=4648]]" | Select-Object -First 50 $result = @() foreach ($logonEvent in $logonEvents) { $logonType = if ($logonEvent.Id -eq 4648) { "Explicit" } else { "Interactive" } $obj = [pscustomobject] @{ Time = $logonEvent.TimeCreated Message = $logonEvent.Message LogonType = $logonType } $result += $obj } return $result } # Local Admin Get-LocalUser Set-LocalUser -Name Admin -Password (ConvertTo-SecureString "12345678" -AsPlainText -Force) Enable-LocalUser -Name Admin New-LocalUser -Name "Automation" -Password (ConvertTo-SecureString "12345678" -AsPlainText -Force) -PasswordNeverExpires -AccountNeverExpires Add-LocalGroupMember -Group "Administrators" -Member "Automation" # Enable Taskscheduler Eventlog $logName = 'Microsoft-Windows-TaskScheduler/Operational' $log = New-Object System.Diagnostics.Eventing.Reader.EventLogConfiguration $logName $log.IsEnabled = $true $log.SaveChanges() |