Jump to content

farsidetech

Members
  • Content Count

    2
  • Joined

  • Last visited

  1. I seem to be having some issues with it, it is downloading the file, but no settings seem to be changing
  2. Hi, I created a script to basically inform the customer (they have to click ok to start it) then perform a bunch of maintenance things once per week. I tried it but none of it seems to be working, even my pop-up command doesnt seem to be working when i run a script with just that, ideas? #inform customer and enable pulseway maintenance mode Add-Type -AssemblyName PresentationFramework [System.Windows.MessageBox]::Show('FarSide Tech Repairs - Automated Monthly Maintenance will begin. Your system may restart. Please save any work and leave computer idle. Press OK to continue.') Set-ItemProperty -Path "HKLM:\Software\MMSOFT Design\PC Monitor" -Name "MaintenanceMode" -Value "1" exit 0 #1. Create System Restore Point Checkpoint-Computer -Description PulsewayRestore #2. Clean up temp files $folders = @("C:\Windows\Temp\*", "C:\Documents and Settings\*\Local Settings\temp\*", "C:\Users\*\Appdata\Local\Temp\*", "C:\Users\*\Appdata\Local\Microsoft\Windows\Temporary Internet Files\*", "C:\Windows\SoftwareDistribution\Download", "C:\Windows\System32\FNTCACHE.DAT") foreach ($folder in $folders) {Remove-Item $folder -force -recurse -ErrorAction SilentlyContinue} exit 0 #3. Recycle bin emptied Clear-RecycleBin -Force #4. shkdsk scan chkdsk /scan | Out-File -FilePath C:\Temp\CHKDSK.txt #5. Scan windows files and repair if needed dism /online /cleanup-image /RestoreHealth sfc /scannow #6. AV Updates TBD #disable pulseway maintenance mode and advise customer that computer may restart due to windows updates Set-ItemProperty -Path "HKLM:\Software\MMSOFT Design\PC Monitor" -Name "MaintenanceMode" -Value "0" exit 0 #7. Check for and install windows updates Write-Host "Checking for Windows updates" $UpdateCollection = New-Object -ComObject Microsoft.Update.UpdateColl $Searcher = New-Object -ComObject Microsoft.Update.Searcher $Session = New-Object -ComObject Microsoft.Update.Session $Searcher = New-Object -ComObject Microsoft.Update.Searcher $results = $searcher.search("Type='software' AND IsInstalled = 0 AND IsHidden = 0 AND AutoSelectOnWebSites = 1") # Install Update if ($results.Updates.Count -eq 0) { Write-Host "No updates found" # no updates. } else { # setup update collection foreach ($update in $results.Updates){ $UpdateCollection.Add($update) | out-null } # download update items Write-Host "Downloading updates" $Downloader = $Session.CreateUpdateDownloader() $Downloader.Updates = $UpdateCollection $Downloader.Download() # install update items Write-Host "Installing updates" $Installer = New-Object -ComObject Microsoft.Update.Installer $Installer.Updates = $UpdateCollection $InstallationResult = $Installer.Install() # Check Result if ($InstallationResult.ResultCode -eq 2){ Write-Host "Updates installed successfully" } else { Write-Host "Some updates could not be installed" } if ($InstallationResult.RebootRequired){ Write-Host "System needs to reboot" # uncomment the following line to automatically reboot the system if a reboot is required after the updates are installed #shutdown -r -f -t 300 -c "Rebooting in 5 minutes to apply Windows updates" } } #advise customer of completion Add-Type -AssemblyName PresentationFramework [System.Windows.MessageBox]::Show('FarSide Tech Repairs - Maintenance is now complete.')
×
×
  • Create New...