Skip to main content

How to: Cleanup IIS Log Files

If you have got a Windows Web Server, it is possible that IIS is enabled to generate the IIS Log files and over the years this could cause some disk space problems.

In order to clear up the disk space; one good option is cleaning up the old IIS log files automatically by using a Windows Scheduler Task and a Powershell script.

For this solution; all credit goes to Bob McCoy, this has helped me and my Client, hope it will help you, too.

Step 1: Copy/Create Script

Copy the following script to a place where your privileged user can get to it. Since it's going to be run by the task scheduler, you don't want it somewhere where users can modify it to accomplish their nefarious purposes.

# Script to be run weekly by task scheduler to cleanup IIS log files
# greater than 30 days old.
$start = (get-date).AddDays(-30)
cd c:\inetpub\logs\logfiles\w3svc1
Get-ChildItem | where {$PSItem.LastWriteTime -lt $start} | Remove-Item

If you are running PowerShell v2, replace $PSItem with $_.

Step 2: Schedule the Cleanup

Assumptions for this step:
1) You named the script Remove-OldIisLog.ps1.
2) You placed it in a folder called C:\scripts.


1) As an administrative user, open the Task Scheduler MMC snap-in (taskschd.msc).

2) Click Action | Create Task.

3) On the General tab give it a name (something like IIS Logfile Cleanup). Give it a descriptin if you like. And select the user the task will run under. This script will run well under SYSTEM if you don't want to select a user account.

4) Under the Triggers tab select New to create a new "On a schedule" trigger. I run it weekly at 6:00 am on Mondays. Choose what fits for you.

5) Under the Actions tab select New to create a new "Start a program" action.
Program/script: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Add arguments (optional): -ExecutionPolicy Bypass C:\Scripts\Remove-OldIisLog.ps1

6) The Conditions, Settings, and History tabs can remain at their default values, or modify to suit your environment.

Step 3: Test the Cleanup

From within the task scheduler, you should be able to run the task to test it. Right click on the entry and click run. For the test run you may want to modify the above script for some other number of days further out than your default. That way you can see the effect of specific dates. Be sure to reset the number of days for your production run.


Popular posts from this blog

How to fix Umbraco v9 "Boot Failed : Umbraco failed to boot, if you are the owner of the website please see the log file for more details." error

If you have started working with Umbraco v9 and done your first Azure deployment to one of your testing environments, there is a possibility that you might see the following "Boot Failed" error. Error: Checking the logs In order to understand the problem, you should check the Umbarco log file.  The default location for this file is umbraco/Logs and this file contains the Machine name, along with the date information. You can reach this file via Azure's Kudu Service  or alternatively, you can get download your Azure App Service's publish profile and connect your App Service via an FTP application, i.e. FileZilla. See the FileZilla screen below; Once you get your log file, you can download it to your local machine and open it with a text editor, i.e. Notepad++. When you open it, you will see all logs, including the error message. Please be aware, as most things with Umbraco, logging is also customizable, so you can either use the default Umbraco logging which is Micros

How to use JQuery Ajax Methods for Async ASP.NET MVC Action Methods

Making repeatedly calls to async methods can be a nightmare. In this case, it makes sense to use 2 ajax methods, instead of one. Here is a simple solution to overcome this problem. See that  ajaxcalls   is emptied after the success response for the first ajax call and then the second ajax method is used to make one single call to the async action method. Hope it helps. View: @section Scripts{     < script type ="text/javascript">         var smartDebitObject = new Object();         smartDebitObject.MembershipNumber = $( "#MembershipNumber" ).val();         smartDebitObject.ProfileId = $( "#ProfileId" ).val();         smartDebitObject.FirstName = $( "#FirstName" ).val();         smartDebitObject.LastName = $( "#LastName" ).val();         smartDebitObject.AddressLine1 = $( "#AddressLine1" ).val();         smartDebitObject.Postcode = $( "#Postcode" ).val();         smartDebitObject

How to fix Umbraco CMS Build Error NU1104: Unable to find project '..\Umbraco-CMS\tools\Umbraco.Core\Umbraco.Core.csproj'.

Yesterday during an online meeting , I was talking about how to contribute to Umbraco CMS . As part of this talk, in order to set up my local Umbraco CMS project ,  I cloned the latest Umbraco.CMS code to my local machine, but when I built it I saw the following error: Error NU1104 Unable to find project ' D : \git \repos \Umbraco -CMS \tools \Umbraco .Core \Umbraco .Core .csproj ' . Check that the project reference is valid and that the project file exists . Umbraco .JsonSchema D : \git \repos \Umbraco -CMS \tools \Umbraco .JsonSchema \Umbraco .JsonSchema .csproj I was surprised to see this error as I did the exact same thing a couple of days ago and saw no problems.  After trying a few things, I checked the Umbraco.JsonSchema project's project references and realised that Umbraco.Core project reference was broken.  After removing Umbraco.Core from the Umbraco.JsonSchema and adding it again fixed the problem and I could then do my local database setup as normal.