How to add Disk Cleanup tool in Windows Server 2008 R2

Cleanmgr

Disk Cleanup option on drive’s general properties and  cleanmgr.exe is not present in Windows Server 2008 or Windows Server 2008 R2 by default.So in order to use cleanmgr.exe you’ll need to copy two files that are already present on the server, cleanmgr.exe and cleanmgr.exe.mui.

  1. Copy “C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe” to “%systemroot%\System32″
  2. Copy “C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui” to “%systemroot%\System32\en-US”

Now you can launch the Disk cleanup tool (cleanmgr.exe) from the command prompt.

You could also install the “Desktop Experience” feature this would also work, but why install something if you don’t need it, specially on a server.

More on this on TechNet

 

Powershell: How to export Windows Eventlogs with Powershell

Powershell Header

This is a little dirty Windows Powershell script which exports or backups Windows Eventlogs. The script creates a .evt file which can be used with the Windows Eventlog Viewer.

# Config
$logFileName = "Application" # Add Name of the Logfile (System, Application, etc)
$path = "C:\temp\" # Add Path, needs to end with a backsplash

# do not edit
$exportFileName = $logFileName + (get-date -f yyyyMMdd) + ".evt"
$logFile = Get-WmiObject Win32_NTEventlogFile | Where-Object {$_.logfilename -eq $logFileName}
$logFile.backupeventlog($path + $exportFileName)

And with the next code it cleans up older exported Eventlogs.

# Deletes all .evt logfiles in $path
# Be careful, this script removes all files with the extension .evt not just the selfcreated logfiles
$Daysback = "-7"

$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem $Path | Where-Object { ($_.LastWriteTime -lt $DatetoDelete) -and ($_.Extension -eq ".evt") } | Remove-Item

UPDATE: If you wanna clean the Eventlog after the export you can do that by using the Clear-Eventlog cmdlet. (Thanks to Michel from server-talk.eu)

Clear-Eventlog -LogName $logFileName

And here the whole “script”

# Config
$logFileName = "Application" # Add Name of the Logfile (System, Application, etc)
$path = "C:\temp\" # Add Path, needs to end with a backsplash

# do not edit
$exportFileName = $logFileName + (get-date -f yyyyMMdd) + ".evt"
$logFile = Get-WmiObject Win32_NTEventlogFile | Where-Object {$_.logfilename -eq $logFileName}
$logFile.backupeventlog($path + $exportFileName)

# Deletes all .evt logfiles in $path
# Be careful, this script removes all files with the extension .evt not just the selfcreated logfiles
$Daysback = "-7"

$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem $Path | Where-Object { ($_.LastWriteTime -lt $DatetoDelete) -and ($_.Extension -eq ".evt") } | Remove-Item
Clear-Eventlog -LogName $logFileName

Check NTFS Version

If you need to know which version of NTFS you are using you can do that with the fsutil.exe and the following command.

In my case I am testing my C:\ drive:

fsutil fsinfo ntfsinfo c:

fsutil

More on NTFS Versions on wikipedia.

In-place Upgrade Windows Server 2008 to Windows Server 2008 R2

I’m not really a big fan of In-place Windows Upgrades, specially in the Server Environment. But we had a Server with a small application running Windows Server 2008 so we decided to in-place upgrade this Server to Windows Server 2008 R2. Now guess what it worked. Basically if the Hardware and all applications are compatible with Windows Server 2008 R2 you can try to upgrade.

  1. Start Windows Server 2008 R2 DVD or attached ISO file.
    Windows Server 2008 R2 Upgrade
  2. Choose Operation System
    Windows Server 2008 R2 Upgrade
  3. Now choose Upgrade
    Windows Server 2008 R2 Upgrade
  4. Check the compatibly report
    Windows Server 2008 R2 Upgrade
  5. Upgrading Windows
    Windows Server 2008 R2 Upgrade
  6. After that Windows reboot and if everything worked, you have now a Windows Server 2008 R2
    Windows Server 2008 R2

MCITP

MCITP

In the last 2 months I passed my first two MCITP (Microsoft Certified IT Professional) Certifications. The first was the new MCITP: Windows Server 2008 R2, Virtualization Administrator and the second was the MCITP: Enterprise Administrator. I am really happy it was hard work but I think it was worth it.

Remote Disk Management with “RPC server is unavailable” Error

If you have a Windows Server 2008 R2 Core Server or a Hyper-V R2 Server, which is also managed like a Core Server, you are really happy if you can use the Server Manager for this Remote Machine. Basiclly I had the the Remote Setup done. I could connect to the remote Machine with the Server Manager but when I tried to use the Disk Management on a remote Server and I got the following error “RPC server is unavailable”. After checking it I found the solution. The Problem is that the Firewall blocks the remote communication to virtual disk service. So you have to open the Firewall on the Management Machine

  1. First make sure you activated all the Remote Management options on the Remote Machine. I had all done this but its good to check that.
  2. Now you can run the following Command in cmd on the Management Machine to add the a new firewall rule
    netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes

firewall