Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Windows Server 2012 Automation with PowerShell Cookbook

You're reading from   Windows Server 2012 Automation with PowerShell Cookbook If you work on a daily basis with Windows Server 2012, this book will make life easier by teaching you the skills to automate server tasks with PowerShell scripts, all delivered in recipe form for rapid implementation.

Arrow left icon
Product type Paperback
Published in Mar 2013
Publisher Packt
ISBN-13 9781849689465
Length 372 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
EDRICK GOAD EDRICK GOAD
Author Profile Icon EDRICK GOAD
EDRICK GOAD
Arrow right icon
View More author details
Toc

Table of Contents (19) Chapters Close

Windows Server 2012 Automation with PowerShell Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. Understanding PowerShell Scripting 2. Managing Windows Network Services with PowerShell FREE CHAPTER 3. Managing IIS with PowerShell 4. Managing Hyper-V with PowerShell 5. Managing Storage with PowerShell 6. Managing Network Shares with PowerShell 7. Managing Windows Updates with PowerShell 8. Managing Printers with PowerShell 9. Troubleshooting Servers with PowerShell 10. Managing Performance with PowerShell 11. Inventorying Servers with PowerShell 12. Server Backup Index

Reporting on website access and errors


After a website has been active for some time, you will likely want to review the logs to see which content is popular and which is not. Assuming you have kept the default logging method of W3C, and the default sections, the script explained in this recipe should give a high-level view of your website.

How to do it...

Here, we are using a PowerShell script to parse the IIS log files and generate a report:

Function Parse-IISLogs
{ 
     # Identify the IIS logging directory
    Import-Module WebAdministration
    $logFile = Get-ItemProperty 'IIS:\Sites\Default Web Site' `
    -Name logFile.directory.value
    $logFile = [Environment]::ExpandEnvironmentVariables($logFile)

    # Export log files to a temporary CSV file
    $logFile += "\*\*.log"
    (Get-Content $logfile | Where-Object {$_ -notlike "#[S,V,D]*"}) `
    -replace "#Fields: ","" | Out-File $env:temp\webLog.csv

    # Import the CSV file to memory
    $webLog = Import-Csv $env:temp\webLog.csv...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime