You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
2 years ago
|
Write-Host "Uninstalling Chef..."
|
||
|
$app = Get-WmiObject -Class Win32_Product | Where-Object {
|
||
|
$_.Name -match "Chef"
|
||
|
}
|
||
|
$app.Uninstall()
|
||
|
|
||
|
Write-Host "Removing leftover Chef files..."
|
||
|
Remove-Item "C:\Opscode\" -Recurse -Force -ErrorAction SilentlyContinue
|
||
|
Remove-Item "C:\Chef\" -Recurse -Force -ErrorAction SilentlyContinue
|
||
|
|
||
|
Write-Host "Cleaning Temp Files..."
|
||
|
try {
|
||
|
Takeown /d Y /R /f "C:\Windows\Temp\*"
|
||
|
Icacls "C:\Windows\Temp\*" /GRANT:r administrators:F /T /c /q 2>&1
|
||
|
Remove-Item "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
|
||
|
} catch { }
|
||
|
|
||
|
Write-Host "Optimizing Drive"
|
||
|
Optimize-Volume -DriveLetter C
|
||
|
|
||
|
Write-Host "Wiping empty space on disk..."
|
||
|
$FilePath="c:\zero.tmp"
|
||
|
$Volume = Get-WmiObject win32_logicaldisk -filter "DeviceID='C:'"
|
||
|
$ArraySize= 64kb
|
||
|
$SpaceToLeave= $Volume.Size * 0.05
|
||
|
$FileSize= $Volume.FreeSpace - $SpacetoLeave
|
||
|
$ZeroArray= new-object byte[]($ArraySize)
|
||
|
|
||
|
$Stream= [io.File]::OpenWrite($FilePath)
|
||
|
try {
|
||
|
$CurFileSize = 0
|
||
|
while($CurFileSize -lt $FileSize) {
|
||
|
$Stream.Write($ZeroArray,0, $ZeroArray.Length)
|
||
|
$CurFileSize +=$ZeroArray.Length
|
||
|
}
|
||
|
}
|
||
|
finally {
|
||
|
if($Stream) {
|
||
|
$Stream.Close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Remove-Item $FilePath
|