Book Image

Windows Server 2019 Automation with PowerShell Cookbook - Third Edition

By : Thomas Lee
Book Image

Windows Server 2019 Automation with PowerShell Cookbook - Third Edition

By: Thomas Lee

Overview of this book

Windows Server 2019 is the latest version of Microsoft’s flagship server operating system. It also comes with PowerShell Version 5.1 and offers a number of additional features that IT professionals will find useful. This book is designed to help you learn how to use PowerShell and manage the core roles, features, and services of Windows Server 2019. You will begin by creating a PowerShell Administrative Environment that features updated versions of PowerShell, the Windows Management Framework, .NET Framework, and third-party modules. Next, you will learn to use PowerShell to set up and configure Windows Server 2019 networking and understand how to manage objects in the Active Directory (AD) environment. The book will also guide you in setting up a host to utilize containers and deploying containers. Further along, you will be able to implement different mechanisms to achieve Desired State Configuration. The book will then get you up to speed with Azure infrastructure, in addition to helping you get to grips with setting up virtual machines (VMs), websites, and file share on Azure. In the concluding chapters, you will be able to deploy some powerful tools to diagnose and resolve issues with Windows Server 2019. By the end of this book, you will be equipped with a number of useful tips and tricks to automate your Windows environment with PowerShell.
Table of Contents (19 chapters)
Windows Server 2019 Automation with PowerShell Cookbook Third Edition
Foreword
Contributors
Preface
Index

Creating a system diagnostic report


The PLA subsystem that you have been working with in this chapter has an additional system-defined report known as the System Diagnostic Report. This report monitors a system for a period then provides a detailed report on the server.

Getting ready

You use the SRV1 server that you have used in other recipes in this chapter.

How to do it...

  1. Start the built-in data collector on the local system, which generates the report:

    $PerfReportName="System\System Diagnostics"
    $DataSet = New-Object -ComObject Pla.DataCollectorSet
    $DataSet.Query($PerfReportName,$null)
    $DataSet.Start($true)
  2. Output a message, then wait for the data collector to finish:

    "Sleeping for [$($Dataset.Duration)] seconds"
    Start-Sleep -Seconds $Dataset.Duration
  3. Get the report and save it as HTML:

    $Dataset.Query($PerfReportName,$null)
    $PerfReport = $Dataset.LatestOutputLocation + "\Report.html"
  4. View the report:

    & $PerfReport 

How it works...

In step 1, you create a DataCollectorSet object, which starts...