Laboratory
Table of Contents
INTRO
This is an area for me to record code, scripts, commands, tips, and links for things I am working on and don’t want to forget. Since I work in the IT field as a full-time job, I find myself coming to WinReflection more frequently to get scripts and commands so I figured I would create this page to add things that aren’t published in a full-fledged guide or tutorial for mainly myself but also for others. Note some things may be unfinished, not tested, and or pending work.
MICROSOFT
Clear all Event Viewer Logs
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
Clear all Logs in Windows Directory
cd C:\Windows
del *.log /a /s /q /f
Reinstall the Microsoft XPS Document Writer
Dism /Online /Disable-Feature /FeatureName:"Printing-XPSServices-Features" /NoRestart
Dism /Online /Enable-Feature /FeatureName:"Printing-XPSServices-Features" /NoRestart
Click here for more information on enabling or disabling Windows features with DISM.
Reinstall the Microsoft Print to PDF Printer
Dism /Online /Disable-Feature /FeatureName:"Printing-PrintToPDFServices-Features" /NoRestart
Dism /Online /Enable-Feature /FeatureName:"Printing-PrintToPDFServices-Features" /NoRestart
Click here for more information on enabling or disabling Windows features with DISM.
Disable-WindowsOptionalFeature -Online -FeatureName Printing-PrintToPDFServices-Features -All
Enable-WindowsOptionalFeature -Online -FeatureName Printing-PrintToPDFServices-Features -All
Click here for more information on enabling or disabling Windows features with PowerShell.
Reinstall the Microsoft Fax Printer
Dism /Online /Disable-Feature /FeatureName:"FaxServiceRole" /NoRestart
Dism /Online /Enable-Feature /FeatureName:"FaxServiceRole" /NoRestart
Click here for more information on enabling or disabling Windows features with DISM.
Reinstall the Microsoft XPS Viewer
Dism /Online /Remove-Capability /CapabilityName:XPS.Viewer~~~~0.0.1.0
Dism /Online /Add-Capability /CapabilityName:XPS.Viewer~~~~0.0.1.0
Click here for more information on enabling or disabling Windows features with DISM.
Reset the Windows TCP/IP Stack
In the search box on the taskbar, type Command Prompt, press and hold (or right- click) Command Prompt, and then select Run as administrator > Yes.
At the command prompt, run the following commands in the listed order, and then check to see if that fixes your connection problem:
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
arp -d
Click here for more tips on Windows network troubleshooting.
Click here for information on netsh command-line options.
Click here for information on ipconfig command-line options.
Backup BitLocker Recovery Information to AD after BitLocker is Turned on for Windows 7
manage-bde -protectors -adbackup c: -id {id}
Click here for more information.
Click here for more information on manage-bde command-line options.
Windows 10 In-Place Upgrade via Command Line
Here are two examples:
setup.exe /auto upgrade /priority normal /copylogs "C:\TEMP\Windows-10_22H2_Upgrade"
setup.exe /auto upgrade /dynamicupdate enable /priority normal /eula accept /copylogs "C:\Windows 10 21H2 Upgrade Logs"
Click here for more information on Windows Setup command-line options.
Manually and Automatically Removing IIS Log Files
- Manually (Windows Server 2012):
ForFiles.exe -p C:\inetpub\logs\LogFiles\W3SVC1 -m *.log -d -30 -c "CMD.exe /C Del @path"
This will delete log files older than 30 days from the “W3SVC1” folder, add other folders to remove more.
- Automatically (Windows Server 2012):
- Create a batch file at “C:\inetpub\logs\LogFiles\W3SVC_LogsMaintenance.bat”
- Put your ForFiles commands in that batch file. Examples:
ForFiles.exe -p C:\inetpub\logs\LogFiles\W3SVC1 -m *.log -d -30 -c "CMD.exe /C Del @path"
ForFiles.exe -p C:\inetpub\logs\LogFiles\W3SVC2 -m *.log -d -30 -c "CMD.exe /C Del @path"
- Scheduled the batch file to be called weekly on Sundays at 06:00.
SchTasks /Create /SC Weekly /D SUN /ST 06:00 /TN "W3SVC Logs Maintenance" /TR "C:\inetpub\logs\LogFiles\W3SVC_LogsMaintenance.bat"
Click here for more information on forfiles command-line options.
Click here for more information on schtasks command-line options.
Force a Check Disk Scan in Windows on Next Boot
fsutil dirty set c:
If the Check Disk scan does not complete, the dirty bit will not be removed meaning a Check Disk scan will be attempted on every boot. You can clear the dirty bit by:
chkntfs /x c:
The /x tells Windows NOT to check volume C: on the next reboot. Manually reboot your computer, it should NOT run Check Disk now, but take you directly to Windows. However, obviously if Check Disk failed the system probably got stuck in a reboot loop because the dirty bit doesn’t get removed since Check Disk never completes.
You will need to boot either Windows PE, Windows installation media to Command Prompt, Windows-to-Go, or other custom boot media to manually run chkntfs /x c: to stop the loop. Once Windows has fully loaded, bring up another command prompt and execute the following command:
chkdsk /f /r c:
This should take you through five stages of the scan and will unset that dirty bit. Verify that the dirty bit is gone:
fsutil dirty query c:
Click here for more information on fsutil command-line options.
Click here for more information on chkntfs command-line options.
Click here for more information on chkdsk command-line options.
Connecting to Office 365 with PowerShell
$LiveCred = Get-Credential -Username email -Message "Enter O365 admin credential here"
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session
Click here for more information.
Download Latest Windows 10 ISO Directly from Microsoft (Home and Pro – RTM)
- Go to this link:
- Internet Explorer – F12 – Emulation tab – Browser Profile
- Change to Windows Phone – Page will refresh.
- Select version, then language, you will get two button links for a 32-bit and 64-bit ISO.
These ISOs also work with Windows 10 OEM Product Keys embedded in the BIOS.
Disable AutoDiscover so that Outlook Searches for Non-Microsoft Direct Exchange Servers
reg add HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover /t REG_DWORD /v ExcludeExplicitO365Endpoint /d 1
or
Set-ItemProperty -Path “HKCU:\Software\Microsoft\Office\16.0\Outlook\AutoDiscover” -Name ‘ExcludeExplicitO365Endpoint’ -Value 1 -Type DWORD –Force
Click here for information on reg add command-line options.
Click here for information on Set-ItemProperty command-line options.
Force Office to Update to a Specific Version Through Command-Line
cd "C:\Program Files\Common Files\microsoft shared\ClickToRun"
officec2rclient.exe /update user updatetoversion=16.0.6366.2062 displaylevel=false forceappshutdown=true
displaylevel=false – Stops the on-screen display of Office update.
forceappshutdown=true – Closes any Office apps to allow the update to complete.
Repair Corruptions in a Windows Installation
sfc /scannow
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\SFC-Details.txt"
The above command will generate a text file that will highlights errors detected by the scan.
DISM.exe /Online /Cleanup-Image /RestoreHealth
Or to repair an online image using some of your own sources instead of Windows Update:
DISM.exe /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess
Click here for more information on using System File Checker to repair a Windows install.
Click here for more information on using DISM to repair a Windows install.
Fix Problems that Block Programs from Being Installed or Removed
Download the troubleshooter here.
Microsoft Visual C++ Redistributable Latest Supported Downloads | All-in-One
Click here to get to Microsoft’s official downloads page.
Click here to download a third-party managed all-in-one installer package.
Reset Local Group Policy to Default
RD /S /Q "%WinDir%\System32\GroupPolicyUsers"
RD /S /Q "%WinDir%\System32\GroupPolicy"
gpupdate /force
Repair TLS Settings and Resolve Security Complaints
Download IISCrypto here.
I have had times where certain websites complain about the client’s TLS security settings and give me recommendations of the settings to use. However even after changing them, the website still complains. IISCrypto usually fixes that issue for me, using the /best template.
IISCrypto CLI: The following are the switches for the command line version of IIS Crypto. All parameters are optional.
/backup - Specify a file to backup the current registry settings too.
/template default - This template restores the server to the default settings.
/best - This template sets your server to use the best practices for TLS. It aims to be compatible with as many browsers as possible while disabling weak protocols and cipher suites.
/pci32 - This template is used to make your server PCI 3.2 compliant. It will disable TLS 1.0 and 1.1 which may break client connections to your website. Please make sure that RDP will continue to function as Windows 2008 R2 requires an update. See our FAQ for more information.
/strict - This template sets your server to use the strictest settings possible. It will disable TLS 1.0 and 1.1 and all non-forward secrecy cipher suites which may break client connections to your website. Please make sure that RDP will continue to function as Windows 2008 R2 requires an update. See our FAQ for more information.
/fips140 - This template makes your server FIPS 140-2 compliant. It is similar to the Best Practices template, however, it is not as secure as Best Practices because some of the weaker cipher suites are enabled.
Specify the filename of a template to use.
/reboot - Reboot the server after a template is applied.
/help|? - Show the help screen.
Here is an example that backs up the registry to a file named backup.reg, applies a custom template named MyServers.ictpl and reboots the server:
iiscryptocli /backup backup.reg /template "C:\TEMP\MyServers.ictpl" /reboot
Latest Updates for Versions of Office that use Windows Installer (MSI)
Click here to go to Microsoft’s official page.
Click here for more information on installing Office updates.
Managing Exchange Mailboxes
- Get Mailbox Folder Permissions and for Calendars:
Get-Mailbox | % { Get-MailboxFolderPermission(($_.PrimarySmtpAddress.ToString())+”:Calendar”) -User %username% -ErrorActionSilentlyContinue} | select Identity,User,AccessRights | Format-Table -Autosize -Wrap
- Add Mailbox Folder Permissions and for Calendars:
Add-MailboxFolderPermission -Identity %calendarname@fqdn%:Calendar -User %username@fqdn% -AccessRights Editor
- Remove Mailbox Folder Permissions and for Calendars:
Remove-MailboxFolderPermission -Identity "%fqdn/path/name:Calendar" -User %username%
- Get Mailbox Folder Statistics:
Get-MailboxFolderStatistics "%username%" | ft Name, Identity, Folderpath, Foldertype | Format-Table -Autosize -Wrap
Restarting the Datto RMM Agent Remotely
Invoke-Command -ComputerName %HOSTNAME% {Restart-Service -NameCagService}
(Get-Service -ComputerName %HOSTNAME% -Name CagService).Restart()
Switching Users with Command Line if GUI Option is Missing
Open Command Prompt or PowerShell and enter the command below:
tsdiscon
The ‘tsdiscon’ command will take you to the lock screen. From there, you can go through the usual process to login to any user account on the PC.
Click here for more information on tsdiscon command-line options.
This is beneficial for when a computer joined to a domain is off-site and away from the DC that uses a limited VPN client. By limited I mean the VPN client only works under a certain user profile and you need the VPN connected in order to login with a different domain account. If the domain account has never logged-in to the device before, there won’t be cached credentials so VPN will need to be working to reach the DC to login. I have had to do this with some FortiClient versions that don’t allow VPN connection before login, this is the workaround.
Use “Run as different user” Option in Right-Click Context Menu in Explorer
It’s my understanding that the “Run as administrator” option in Explorer’s right-click context menu invokes the local built-in Administrator account. It’s also my understanding that when using that option under a Standard non-admin user account, a credential prompt will come up asking for Administrator credentials.
However, when you enter them, Windows is just using those credentials to invoke the local built-in Administrator account to run the application or program in question. This means that the install does not run under the session of the credentials entered. This can be a problem in some cases where a program installs to user session that invoked it which would be the local built-in Administrator account.
You may need to use “Run as different user” option to choose a specific Administrator user account which is not the local built-in Administrator account. This is also helpful if the “Run as administrator” option is missing, disabled, or has issues. To get the option, do the following: Hold Ctrl + Shift, then right-click the program in question and you will see the option available in the context menu. A good little secret to know.
Not Seeing Mapped Network Drives for Certain User Sessions
Detail to configure the EnableLinkedConnections registry entry: In Registry Editor, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- Right-click Configuration, select New, and then select DWORD (32-bit) Value.
- Name the new registry entry as EnableLinkedConnections.
- Double-click the EnableLinkedConnections registry entry.
- In the Edit DWORD Value dialog box, type 1 in the Value data field, and then select OK.
- Exit Registry Editor, and then restart the computer.Click here for more information.
Fix AppX Package Issues after AD Username Change
A user with an Active Directory account has recently obtained a name change. The user getting married, or the name was created incorrectly in the beginning of account creation, or the user wants their account name to be something different. It’s best practice to create a new account for the new name, but sometimes life happens. After the name change, when the user logs into Windows via their AD account onto the organization’s domain, their Windows 10 Store Apps may fail to start, open, or crash.
Try re-registering the Windows 10 AppX packages: Add the user account affected to the Local Administrators group on the affected client machine. Have the user login and try the commands below in PowerShell or in Command Prompt executing PowerShell:
Get-AppxPackage | ForEach-Object { Add-AppxPackage -DisableDevelopmentMode -Register ($_.InstallLocation + 'AppxManifest.xml')}
If the above command does not work, try this other variation of it below:
Get-AppxPackage | ForEach-Object { Add-AppxPackage -DisableDevelopmentMode -Register ($_.InstallLocation + '\AppxManifest.xml')}
Get Installed Features in Windows Server
Get-WindowsFeature | Where-Object -FilterScript { $_.Installed -Eq $TRUE }
Uninstall Windows Features in Windows Server
Example to uninstall the Sync Share for a File Server:
Uninstall-WindowsFeature -Name FS-SyncShareService
Disable AutoLock for WorkFolders
Set-SyncShare WorkFolders -PasswordAutolockExcludeDomain example.com
Set-SyncShare WorkFolders -RequirePasswordAutoLock $False
Get-SyncShare -Name "WorkFolders"
Lock Workstation
powershell.exe -command "rundll32.exe user32.dll,LockWorkStation"
Domain Network Type Not Detected in Domain
powershell.exe -command "Restart-Service NlaSvc -Force"
Create a task in Task Scheduler to run this command at boot for Window Servers not detecting the correct network type.
Get to Classic System Properties
In the Run box type:
shell:::{bb06c0e4-d293-4f75-8a90-cb05b6477eee}
Block Windows 11 Upgrade
# Get Windows Edition
$Edition = (Get-ComputerInfo | Select-Object -ExpandProperty WindowsProductName).Trim()
$RegistryPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
# Check if Windows Edition is not Windows 10.
if ($Edition -like "Windows 10*") {
Write-Host "Edition is Windows 10, applying Registry edits to block Windows 11 upgrade."
New-ItemProperty -Path $RegistryPath -Name "TargetReleaseVersion" -Value 1 -PropertyType DWORD -Force
New-ItemProperty -Path $RegistryPath -Name "ProductVersion" -Value 'Windows 10' -PropertyType String -Force
New-ItemProperty -Path $RegistryPath -Name "TargetReleaseVersionInfo" -Value '22H2' -PropertyType String -Force
} else {
Write-Host "An error occurred or edition does not match."
}
Disable – AutoDiscover
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeExplicitO365Endpoint /T REG_DWORD /D 1 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V PreferLocalXML /T REG_DWORD /D 0 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeHttpRedirect /T REG_DWORD /D 0 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeHttpsAutodiscoverDomain /T REG_DWORD /D 1 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeHttpsRootDomain /T REG_DWORD /D 1 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeScpLookup /T REG_DWORD /D 1 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeSrvRecord /T REG_DWORD /D 1 /F
REG ADD HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\AutoDiscover /V ExcludeExplicitO365Endpoint /T REG_DWORD /D 1 /F
Set OneDrive to Run at Startup
# Define source and destination paths
$sourceShortcut = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk"
$destinationFolder = [System.Environment]::GetFolderPath("Startup")
$destinationShortcut = Join-Path -Path $destinationFolder -ChildPath "OneDrive.lnk"
# Copy the shortcut to the startup folder
Copy-Item -Path $sourceShortcut -Destination $destinationShortcut -Force
# Check if the copy was successful
if (Test-Path $destinationShortcut) {
Write-Host "OneDrive shortcut copied to Startup folder successfully."
} else {
Write-Host "Failed to copy OneDrive shortcut to Startup folder." -ForegroundColor Red
}
Scan and Repair – DISM, SFC, and Check Disk
echo 'y' | chkdsk.exe /f
dism /online /cleanup-image /restorehealth
sfc /scannow
dism /online /cleanup-image /restorehealth
sfc /scannow
MICROSOFT DEPLOYMENT
Generic Windows Product Keys
Click here to go to Microsoft’s official page.
Export all Third-Party Drivers of Current Running System to a Folder
Example commands below:
DISM /Online /Export-Driver /Destination:"C:\TEMP\ThinkPad-P50-Drivers"
Export-WindowsDriver -Online -Destination "C:\TEMP\ThinkPad-P50-Drivers"
Click here for more information on using DISM or PowerShell to export drivers.
Import and Install all Drivers to Current Running System from a Folder
PnPUtil /Add-Driver "C:\TEMP\ThinkPad-P50-Drivers\*.inf" /Subdirs /Install /Reboot
Click here for more information on PnpUtil command-line options.
Register 32-bit and 64-bit .DLL and .OCX Files
copy "C:\32-bit-dlls" "C:\Windows\SysWOW64"
copy "C:\64-bit-dlls" "C:\Windows\System32"
C:\Windows\SysWOW64\regsvr32.exe example.dll
C:\Windows\SysWOW64\regsvr32.exe example.ocx
C:\Windows\System32\regsvr32.exe example.dll
C:\Windows\System32\regsvr32.exe example.ocx
Note: On a 64-bit version of Windows operating system, there are two versions of the Regsv32.exe file:
The 64-bit version is %systemroot%\System32\regsvr32.exe.
The 32-bit version is %systemroot%\SysWoW64\regsvr32.exe.
Click here for more regsvr32 command-line options.
Import Windows Security Policy
$ExecutingScriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
secedit.exe /configure /db %windir%\security\local.sdb /cfg "$ExecutingScriptDirectory\Windows-10-Modified.inf" /quiet
Export and Import Group Policies from Another System
Turn on Hidden Files in File Explorer and backup the following folders to a location:
- C:\Windows\System32\GroupPolicy
- C:\Windows\System32\GroupPolicyUsers
Download the LGPO program from Microsoft here.
In Command Prompt navigate to the directory where you have extracted LGPO.exe and run commands:
LGPO /m "C:\TEMP\GPOs\GroupPolicy\Machine\Registry.pol"
LGPO /u "C:\TEMP\GPOs\GroupPolicy\User\Registry.pol"
LGPO /ua "C:\TEMP\GPOs\GroupPolicyUsers\S-1-5-32-544\User\Registry.pol"
LGPO /un "C:\TEMP\GPOs\GroupPolicyUsers\S-1-5-32-545\User\Registry.pol"
There may be nothing in C:\Windows\System32\GroupPolicyUsers which contains policies tied to specific users only, you may not have any.
Click here for more information on LGPO command-line options.
Import and Enable AppLocker Policies and Enable APPIDSVC Service
powershell -command "& {&'Import-Module' AppLocker}"; "& {&'Set-AppLockerPolicy' -XMLPOLICY C:\Deployment\AppLocker\example.xml}"
sc config APPIDSVC START=AUTO
Sysprep Command with Unattend.xml Created in WSIM
cd C:\Windows\System32\Sysprep
sysprep.exe /generalize /oobe /shutdown /unattend:Unattend.xml
Install – Administrative Templates (Windows 11 22H2 v3.0) – Windows Server
msiexec.exe /i "C:\TEMP\Administrative_Templates_for_Windows_11_July_2023_Update_V3.msi" /quiet
copy-item -path "C:\Program Files (x86)\Microsoft Group Policy\Windows 11 July 2023 Update V3 (22H2)\PolicyDefinitions" -destination "C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions_Win11-22H2-v3" -recurse -force
$folder = 'C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions_Win11-22H2-v3'
"Test to see if folder [$folder] exists"
if (test-path -path $folder) {
rename-item -path "C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions" -newname "PolicyDefinitions_old" -force
rename-item -path "C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions_Win11-22H2-v3" -newname "PolicyDefinitions" -force
gpupdate /force
} else {
"An error has occured."
}
SOFTWARE DEPLOYMENT
Silently Install Intel Chipset Drivers
SetupChipset.exe -overall -s -norestart
Silently Install Intel RST Drivers
SetupRST.exe -s -overwrite
Silently Install Bitwarden Desktop Client
Bitwarden-Installer-1.29.0.exe /ALLUSERS /S
Silently Install Egnyte Desktop Client
# Define the URL of the file to download
$url = "https://egnyte-cdn.egnyte.com/egnytedrive/win/en-us/latest/EgnyteConnectWin.msi?_ga=2.49362406.1151330795.1694033891-955991979.1692196399"
# Make directory
New-Item -Path 'C:\TEMP' -ItemType Directory -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
# Define the destination folder to extract to
$destination = "C:\TEMP"
# Download the file from the URL
$downloadPath = Join-Path $destination "EgnyteConnectWin.msi"
Invoke-WebRequest -Uri $url -OutFile $downloadPath
Start-Process "EgnyteConnectWin.msi" -WorkingDirectory "C:\TEMP" -ArgumentList "/passive" -PassThru
Silently Install Dymo Connect
$ExecutingScriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
Start-Process -Wait -FilePath "$ExecutingScriptDirectory\AccessDatabaseEngine-2010_x64.exe" -ArgumentList '/quiet','/norestart' -PassThru
Start-Process -Wait -FilePath "$ExecutingScriptDirectory\AccessDatabaseEngine-2016_x64.exe" -ArgumentList '/quiet','/norestart' -PassThru
Start-Process -Wait -FilePath "$ExecutingScriptDirectory\vcredist2015_2017_2019_2022_x64.exe" -ArgumentList '/quiet','/norestart' -PassThru
New-Item -Path 'C:\TEMP' -ItemType Directory
Expand-Archive -LiteralPath "$ExecutingScriptDirectory\DYMO-Connect.zip" -DestinationPath "C:\TEMP\DYMO-Connect"
Start-Process -Wait -FilePath "C:\TEMP\DYMO-Connect\DYMO Connect.msi" -ArgumentList '/quiet','/norestart' -PassThru
Silently Install OpenDental
OpenDental_21-4-37-0.msi /quiet /norestart
Silently Install Osstell Connect Driver
Osstell-Gateway_v1.10.exe /S
Silently Install Intermedia’s SecuriSync Desktop Client
@echo off
reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client2" > NUL 2> NUL
IF %ERRORLEVEL% == 0 GOTO APP_CHECK_INSTALLATION
echo "Installing .NET Framework 4"
dotNetFx40_Full_x86_x64.exe /q
:APP_CHECK_INSTALLATION
IF EXIST "%ProgramFiles%\SecuriSync" GOTO APP_ALREADY_INSTALLED
echo Installing SecuriSync
SecuriSyncSetup-3.19.1.exe /quiet /L*V "%temp%\SecuriSyncInstallLog.txt"
GOTO END
:APP_ALREADY_INSTALLED
echo SecuriSync is already installed.
:END
Silently Install Microsoft Edge (Chromium)
MicrosoftEdgeEnterpriseX64.msi /quiet /norestart
Silently Install Wells Fargo’s Digital Check Scanner Driver
$ExecutingScriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
New-Item -Path 'C:\TEMP' -ItemType Directory
Expand-Archive -LiteralPath "$ExecutingScriptDirectory\Wells-Fargo-Digital-Check-Scanner-Driver-2.5.0.zip" -DestinationPath "C:\TEMP\Wells-Fargo-Digital-Check-Scanner-Driver-2.5.0"
Start-Process -Wait -FilePath "C:\TEMP\Wells-Fargo-Digital-Check-Scanner-Driver-2.5.0\Digital Check Scanner Driver.msi" -ArgumentList '/quiet','/norestart'
Silently Install Univerge Blue’s Connect Desktop Client
# Define the URL of the file to download
$url = "https://admin.univerge.blue/voice/pbx/softphonereleases/blue/latest-win/univerge-blue-connect.exe"
# Make directory
New-Item -Path 'C:\TEMP' -ItemType Directory -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
# Define the destination folder to extract to
$destination = "C:\TEMP"
# Download the file from the URL
$downloadPath = Join-Path $destination "univerge-blue-connect.exe"
Invoke-WebRequest -Uri $url -OutFile $downloadPath
Start-Process "univerge-blue-connect.exe" -WorkingDirectory "C:\TEMP" -ArgumentList "/S /ALLUSERS" -PassThru
Silently Install Univerge Blue’s Share Desktop Client
# Define the URL of the file to download
$url = "https://us4sync.myonlinedata.net/update/v1.0/installers?customization_id=UnivergeBlueShare&client_type=Sync-WindowsApp"
# Make directory
New-Item -Path 'C:\TEMP' -ItemType Directory -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
# Define the destination folder to extract to
$destination = "C:\TEMP"
# Download the file from the URL
$downloadPath = Join-Path $destination "univerge-blue-share.exe"
Invoke-WebRequest -Uri $url -OutFile $downloadPath
Start-Process "univerge-blue-share.exe" -WorkingDirectory "C:\TEMP" -ArgumentList "/quiet" -PassThru
Silently Install SentinelOne Agent
SentinelInstaller-x64_windows_64bit_v21_7_7_40005.exe /SITE_TOKEN={site-token} /SILENT
Silently Install Lithnet Idle Logoff
# Define the URL of the file to download
$url1 = "https://github.com/lithnet/idle-logoff/releases/download/v1.2.8134/lithnet.idlelogoff.setup.msi"
$url2 = "https://github.com/lithnet/idle-logoff/archive/refs/tags/v1.2.8134.zip"
# Make directory
new-item -path 'C:\TEMP' -itemtype directory -force -warningaction silentlycontinue -erroraction silentlycontinue | out-null
# Define the destination folder to extract to
$destination = "C:\TEMP"
# Download the file from the URL
$downloadpath1 = Join-Path $destination "lithnet.idlelogoff.setup.msi"
$downloadpath2 = Join-Path $destination "idle-logoff-1.2.8134.zip"
invoke-webrequest -uri $url1 -outfile $downloadpath1
invoke-webrequest -uri $url2 -outfile $downloadpath2
# Install Lithnet Idle Logoff
msiexec.exe /i "C:\TEMP\lithnet.idlelogoff.setup.msi" /quiet /norestart
expand-archive -literalpath "C:\TEMP\idle-logoff-1.2.8134.zip" -destinationpath "C:\TEMP\idle-logoff-1.2.8134" -force
# Copy Policy Definitions
copy-item -path "C:\TEMP\idle-logoff-1.2.8134\idle-logoff-1.2.8134\src\Lithnet.IdleLogoff\PolicyDefinitions" -destination "C:\Windows\SYSVOL\domain\Policies\PolicyDefinitions" -recurse -force
copy-item -path "C:\TEMP\idle-logoff-1.2.8134\idle-logoff-1.2.8134\src\Lithnet.IdleLogoff\PolicyDefinitions" -destination "C:\Windows\PolicyDefinitions" -recurse -force
Silently Install Weave Desktop Client
# Define the URL of the file to download
$url = "https://storage.googleapis.com/software-updates.getweave.com/latest/Client.exe"
# Make directory
New-Item -Path 'C:\TEMP' -ItemType Directory -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue | Out-Null
# Define the destination folder to extract to
$destination = "C:\TEMP"
# Download the file from the URL
$downloadPath = Join-Path $destination "client.exe"
Invoke-WebRequest -Uri $url -OutFile $downloadPath
Start-Process "client.exe" -WorkingDirectory "C:\TEMP" -ArgumentList "/S" -PassThru
Copy-Item "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Weave\Weave.lnk" -Destination "C:\Users\Public\Desktop" -Force -Confirm
Silently Install Microsoft 365 Desktop Application Shortcuts
# Copy and Paste Microsoft Office Shortcuts from ProgramData Directory
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Access.lnk" -Destination 'C:\Users\Public\Desktop' -Force
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Excel.lnk" -Destination 'C:\Users\Public\Desktop' -Force
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Outlook.lnk" -Destination 'C:\Users\Public\Desktop' -Force
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\PowerPoint.lnk" -Destination 'C:\Users\Public\Desktop' -Force
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Publisher.lnk" -Destination 'C:\Users\Public\Desktop' -Force
Copy-Item -Path "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Word.lnk" -Destination 'C:\Users\Public\Desktop' -Force
HP CMSL BIOS Update (WiP)
<# Creator @gwblok - GARYTOWN.COM
Used to download BIOS Updates from HP, then Extract the bin file.
It then checks and suspends bitlocker and runs the upgrade. It does NOT reboot the machine, you can modify the command line to do that, or have your deployment method call the reboot.
The download and extract areas on in the TEMP folder, as well as the log.
REQUIREMENTS: HP Client Management Script Library
Download / Installer: https://ftp.hp.com/pub/caps-softpaq/cmit/hp-cmsl.html - This will download version 1.1.1. and install if needed
Docs: https://developers.hp.com/hp-client-management/doc/client-management-script-library-0
This Script was created using version 1.1.1
Updates: 2019.03.14
Replaced [Decimal] with [version]. Hopefully will fix issues caused by machines that had more than one decimal point in version.
Orginally had [Decimal] in code to remove leading "0" on BIOS version reported by HP. Example: Local Version said 1.45, from HP site as 01.45
Modified Bitlocker Detection. Technically, probably don't even need the suspend bitlocker code, as HP's upgrade util is supposed to do it.
Added logic for both HPBIOSUPDREC64.exe & HPFirmwareUpdRec64.exe updaters
#>
$OS = "Win10"
$Category = "bios"
New-Item -Path 'C:\TEMP' -ItemType Directory -Force
$HPContent = "C:\TEMP"
New-Item -Path 'C:\TEMP\Downloads' -ItemType Directory -Force
$DownloadDir = "C:\TEMP\Downloads"
New-Item -Path 'C:\TEMP\Extracted' -ItemType Directory -Force
$ExtractedDir = "C:\TEMP\Extracted"
$ProductCode = (Get-WmiObject -Class Win32_BaseBoard).Product
$Model = (Get-WmiObject -Class Win32_ComputerSystem).Model
$PoshURL = "https://hpia.hpcloud.hp.com/downloads/cmsl/hp-cmsl-1.6.3.exe"
try {
Get-HPBiosVersion
Write-Output "HP Module Installed"
}
catch {
Write-Output "HP Module Not Loaded, Loading.... Now"
Invoke-WebRequest -Uri $PoshURL -OutFile "$($DownloadDir)\HPCM.exe"
Start-Process -FilePath "$($DownloadDir)\HPCM.exe" -ArgumentList "/SP- /VERYSILENT /NORESTART /CLOSEAPPLICATIONS" -Wait
Import-Module HP.Softpaq
Write-Output "Finished Downloading and Installing HP Module"
}
$CurrentBIOS = Get-HPBiosVersion
Write-Output "Current Installed BIOS Version: $($CurrentBIOS)"
Write-Output "Checking Product Code $($ProductCode) for BIOS Updates"
$BIOS = Get-SoftpaqList -Platform $ProductCode -os $OS -Category $Category
$MostRecent = ($Bios | Measure-Object -Property "ReleaseDate" -Maximum).Maximum
$BIOS = $BIOS | WHERE "ReleaseDate" -eq "$MostRecent"
if ([version]$CurrentBIOS -ne [version]$Bios.Version)
{
Write-Output "Updated BIOS available, Version: $([version]$BIOS.Version)"
$DownloadPath = "$($DownloadDir)\$($Model)\$($BIOS.Version)"
if (-not (Test-Path $DownloadPath)){New-Item $DownloadPath -ItemType Directory}
$ExtractedPath = "C:\TEMP\Extracted"
if (-not (Test-Path $ExtractedPath)){New-Item $ExtractedPath -ItemType Directory}
Write-Output "Downloading BIOS Update for: $($Model) aka $($ProductCode)"
Get-Softpaq -number $BIOS.ID -saveAs "$($DownloadPath)\$($BIOS.id).exe" -Verbose
Write-Output "Creating Readme file with BIOS Info HERE: $($DownloadPath)\$($Bios.ReleaseDate).txt"
$BIOS | Out-File -FilePath "$($DownloadPath)\$($Bios.ReleaseDate).txt"
$BiosFileName = Get-ChildItem -Path "$($DownloadPath)\*.exe" | select -ExpandProperty "Name"
Write-Output "Extracting Downloaded BIOS File to: $($ExtractedPath)"
Start-Process -FilePath "$($DownloadPath)\$($BiosFileName).exe" -ArgumentList "/s /e /f $($ExtractedPath)" -Wait
if ((Get-BitLockerVolume -MountPoint c:).VolumeStatus -eq "FullyDecrypted")
{
Write-Output "Bitlocker Not Present"
}
Else
{
Write-Output "Suspending Bitlocker"
Suspend-BitLocker -MountPoint "C:" -RebootCount 1
}
if (Test-Path "$($ExtractedPath)\HPBIOSUPDREC64.exe")
{
Write-Output "Using HPBIOSUpdRec64.exe to Flash BIOS with Args -s -r -b -l"
#Start-Process "$($ExtractedPath)\HPBIOSUPDREC64.exe" -ArgumentList "-s -r -b -l$($HPContent)\HPBIOSUpdate.log" -wait
}
if (Test-Path "$($ExtractedPath)\HPFirmwareUpdRec64.exe")
{
Write-Output "Using HPFirmwareUpdRec64.exe to Flash BIOS with Args -s -r -b -l"
#Start-Process "$($ExtractedPath)\HPFirmwareUpdRec64.exe" -ArgumentList "-s -r -b -l$($HPContent)\HPBIOSUpdate.log" -wait
}
Write-Output "HP BIOS update Applied, Will Install after next reboot"
Start-Sleep -Seconds 120
Restart-Computer
}
ELSE
{Write-Output "BIOS already Current"}
MICROSOFT REMOVAL
Uninstall Dell Bloatware and Microsoft Office Language Versions Except English
Function Remove-App([String]$AppName){
$PackageFullName = (Get-AppxPackage $AppName).PackageFullName
$ProPackageFullName = (Get-AppxProvisionedPackage -Online | where {$_.Displayname -eq $AppName}).PackageName
Remove-AppxPackage -package $PackageFullName | Out-Null
Remove-AppxProvisionedPackage -online -packagename $ProPackageFullName | Out-Null
}
Function Remove-App-Registry([String]$AppName)
{
$appcheck = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -eq $AppName } | Select-Object -Property DisplayName,UninstallString
if($appcheck -ne $null){
Write-Host $appcheck
$uninst = "$appcheck".split("=")[2].replace("}","")
$uninst ="`""+$uninst+"`"" + " /quiet"
Write-Host $uninst
cmd /c $uninst
}
else{
Write-Host "$id is not installed on this computer"
}
}
Function Remove-App-Registry2([String]$AppName)
{
$appcheck = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -eq $AppName } | Select-Object -Property DisplayName,UninstallString
if($appcheck -ne $null){
$uninst = "$appcheck ".split("=")[2].replace("}","") + " /VERYSILENT"
cmd /c $uninst
}
else{
Write-Host "$id is not installed on this computer"
}
}
Function Remove-App-Registry3([String]$AppName)
{
$appcheck = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -eq $AppName } | Select-Object -Property DisplayName,UninstallString
if($appcheck -ne $null){
$uninst = "$appcheck".split("=")[2]
$uninst = $uninst.Substring(0,$uninst.length-1) + " -silent"
Write-Host $uninst
cmd /c $uninst
}
else{
Write-Host "$id is not installed on this computer"
}
}
Function Remove-App-Registry4([String]$AppName)
{
$appcheck = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -eq $AppName } | Select-Object -Property DisplayName,UninstallString
if($appcheck -ne $null){
Write-Host $appcheck
$uninst = "$appcheck".split("=")[2].replace("}","")
$uninst ="`""+$uninst+"`"" + " /S"
Write-Host ""
Write-Host $uninst
cmd /c $uninst
}
else{
Write-Host "$id is not installed on this computer"
}
}
Function Remove-App-Registry5([String]$AppName)
{
$appcheck = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -eq $AppName } | Select-Object -Property DisplayName,UninstallString
if($appcheck -ne $null){
$uninst = $appcheck.UninstallString[1] + " /quiet"
cmd /c $uninst
}
else{
Write-Host "$id is not installed on this computer"
}
}
Function Remove-M365([String]$AppName)
{
$Uninstall = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where {$_.DisplayName -like $appName} | Select UninstallString)
$Uninstall = $Uninstall.UninstallString + " DisplayLevel=False"
cmd /c $Uninstall
}
###########
# EXECUTE #
###########
# Active identifiers
Remove-App "Microsoft.GetHelp" # MS support chat bot
Remove-App "Microsoft.Getstarted" # 'Get Started' link
Remove-App "Microsoft.Messaging" # SMS app. Requires a phone link.
Remove-App "Microsoft.MicrosoftOfficeHub" # Office 365. Interferes with Office ProPlus
Remove-App "Microsoft.MicrosoftSolitaireCollection" # Game
Remove-App "Microsoft.OneConnect" # Paid WiFi and Cellular App
Remove-App "Microsoft.SkypeApp" # Skype
Remove-App "Microsoft.Wallet" # Mobile payment storage
Remove-App "microsoft.windowscommunicationsapps" # MS Calendar and Mail apps. Interferes with Office ProPlus
Remove-App "Microsoft.WindowsFeedbackHub" # MS Beta test opt-in app
Remove-App "Microsoft.YourPhone" # Links an Android phone to the PC
Remove-App "ZuneMusic"
Remove-App "DellInc.DellDigitalDelivery"
Remove-App-Registry "Dell SupportAssist Remediation"
Remove-App-Registry "Dell Optimizer"
Remove-App-Registry "Dell Trusted Device Agent"
Remove-App-Registry "Dell SupportAssist"
Remove-App-Registry "Dell Digital Delivery Services"
Remove-App-Registry "Dell Digital Delivery"
Remove-App-Registry "Xbox"
Remove-App-Registry "Xbox Live"
Remove-App-Registry2 "DELLOSD"
Remove-App-Registry3 "Dell SupportAssist OS Recovery Plugin for Dell Update"
Remove-App-Registry3 "Dell Optimizer Core"
Remove-App-Registry4 "Dell Display Manager 2.1"
Remove-App-Registry4 "Dell Peripheral Manager"
Remove-App-Registry5 "Dell SupportAssist Remediation"
Remove-M365 "Microsoft 365 - fr-fr"
Remove-M365 "Microsoft 365 - es-es"
Remove-M365 "Microsoft 365 - pt-br"
Remove-M365 "Microsoft OneNote - fr-fr"
Remove-M365 "Microsoft OneNote - es-es"
Remove-M365 "Microsoft OneNote - pt-br"
Uninstall Remnants of Solidworks
ECHO ON
REM This will silently uninstall SolidWorks, remove the SolidWorks directory, and clean
REM the Windows registry. Review, edit, remove or comment out (REM) entries as needed.
REM NOTE: Run the Copy Settings Wizard and back up all SolidWorks configuration files
REM before running this batch file.
REM =======================================
REM Remove the SolidWorks directory
REM NOTE: This should point to the SolidWorks install directory.
REM All customized documents (formats, etc.) should not be kept
REM in this directory. Place them on the network and use
REM Toos\Options\File Locations to point to the customized documents.
RMDIR /S /Q "%APPDATA%\SOLIDWORKS"
RMDIR /S /Q "%PROGRAMDATA%\SOLIDWORKS"
RMDIR /S /Q "%LOCALAPPDATA%\SolidWorks
RMDIR /S /Q "%COMMONPROGRAMFILES%\SOLIDWORKS Shared"
RMDIR /S /Q "%COMMONPROGRAMFILES(x86)%\SOLIDWORKS Installation Manager"
RMDIR /S /Q "%COMMONPROGRAMFILES(x86)%\SOLIDWORKS Shared"
RMDIR /S /Q "%PROGRAMFILES%\SOLIDWORKS Corp"
RMDIR /S /Q "%PROGRAMFILES(X86)%\SOLIDWORKS Corp"
RMDIR /S /Q "%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\SOLIDWORKS 2018"
RMDIR /S /Q "%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\SOLIDWORKS Installation Manager"
DEL /S /Q "%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\StartUp\SOLIDWORKS Background Downloader.lnk"
REM ====================================
REM Remove the SolidWorks Windows Registry keys.
REM NOTE: If mulitple versions of SolidWorks are installed on the same machine, edit
REM the reg file to add the desired SolidWorks version name.
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\AddInsStartup" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\Diagnostics" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\General" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\IM" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\Licenses" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\SOLIDWORKS 2018" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\SOLIDWORKS CAM" /F
REG DELETE "HKEY_CURRENT_USER\SOFTWARE\Solidworks\TipOfDay" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\AddIns" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\IM" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Licenses" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\Security" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\SOLIDWORKS 2018" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\SOLIDWORKS CAM" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolidWorks\Common Install" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolidWorks\IM" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolidWorks\Licenses" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SolidWorks\Security" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\eDrawings" /F
Uninstall – ConnectWise and ScreenConnect
$url = "https://s3.amazonaws.com/assets-cp/assets/Agent_Uninstaller.zip"
$output = "C:\Windows\Temp\Agent_Uninstaller.zip"
(New-Object System.Net.WebClient).DownloadFile($url, $output)
# The below usage of Expand-Archive is only possible with PowerShell 5.0+
# Expand-Archive -LiteralPath C:\Windows\Temp\Agent_Uninstaller.zip -DestinationPath C:\Windows\Temp\LTAgentUninstaller -Force
# Use .NET instead
[System.Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem") | Out-Null
# Now we can expand the archive
[System.IO.Compression.ZipFile]::ExtractToDirectory('C:\Windows\Temp\Agent_Uninstaller.zip', 'C:\Windows\Temp\LTAgentUninstaller')
Start-Process -FilePath "C:\Windows\Temp\LTAgentUninstaller\Agent_Uninstall.exe"
Uninstall – Datto RMM and Splashtop
@echo off
taskkill /f /im gui.exe 2>nul
echo Waiting for Datto RMM to be removed...
"C:\Program Files (x86)\CentraStage\uninst.exe" /S 2>nul
powershell -ExecutionPolicy Bypass -Command "Start-Sleep -Seconds 10"
rmdir "C:\Program Files (x86)\CentraStage" /S /Q 2>nul
rmdir "C:\Windows\System32\config\systemprofile\AppData\Local\CentraStage" /S /Q 2>nul
rmdir "C:\Windows\SysWOW64\config\systemprofile\AppData\Local\CentraStage" /S /Q 2>nul
rmdir "%userprofile%\AppData\Local\CentraStage" /S /Q 2>nul
rmdir "%allusersprofile%\CentraStage" /S /Q 2>nul
REG delete "HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run" /v CentraStage /f 2>nul
msiexec.exe /qn /x{B7C5EA94-B96A-41F5-BE95-25D78B486678}
rmdir "C:\Program Files (x86)\Splashtop" /S /Q 2>nul
rmdir "C:\ProgramData\Splashtop" /S /Q 2>nul
del "C:\Users\Public\Desktop\Agent Browser.lnk"
del "C:\Users\Public\Desktop\SentinelOne Agent.lnk"
LINUX
It’s super easy to get Docker and Portainer.IO up and running on Ubuntu with just a few commands.
Install Docker and Portainer.IO
Update System
sudo apt update
sudo apt upgrade
Install Docker
sudo apt install docker.io
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
Install Portainer.IO
sudo docker run -d \
--name="portainer" \
--restart on-failure \
-p 9000:9000 \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
DD-WRT – Manually Flashing to Certain Partitions Using SSH or Telnet
Example below is for a Linksys WRT1900ACSV2:
ubootenv get boot_part - To get current partition.
cd /tmp
wget ftp://ftp.dd-wrt.com/betas/2020/03-05-2020-r42617/linksys-wrt1900acsv2/ddwrt-linksys-wrt1900acsv2-webflash.bin
write ddwrt-linksys-wrt1900acsv2-webflash.bin {linux | linux2} - Depending on what partition is not being used.
erase nvram;nvram erase
reboot
CONCLUSION
If there is anything here that you would like to add please leave a comment below. Also please let me know if the page has helped you and if so, I will keep adding to it. Let me know of any issues.
My name is Dex Sandel, author at WinReflection, a blog which aims to help others on various IT and Christian related subjects. DON’T TREAD ON ME! The best is yet to come, and nothing can stop what’s coming!
You all have a greater destiny in Christ, should you choose to ‘follow’ Him, not just believe. Many of you feel lost, without drive, and lack a greater purpose in your life causing depression, sadness, anxiety, and loneliness. Working your 9-5 job isn’t your primary purpose. So, then what is? That’s for you to discover, but hopefully I can provide some new unlocks along your path.
What will ‘you’ do, and what will your destiny be?
John 3:16: For God so loved the world that he gave his one and only Son, that whoever believes in him shall not perish but have eternal life.
Leave a Reply
Want to join the discussion?Feel free to contribute!