Book Image

Mastering PowerCLI

By : Sajal Debnath
Book Image

Mastering PowerCLI

By: Sajal Debnath

Overview of this book

Have you ever wished that every morning you could automatically get a report with all the relevant information about your datacenter in exactly the same format you want? Or whether you could automate that boring, exhausting task? What if some crucial task needs to be performed on a regular basis without any error? PowerCLI scripts do all that and much more for VMware environments. It is built on top of the popular Windows PowerShell, with which you can automate server tasks and reduce manual input, allowing you to focus on more important tasks. This book will help you to achieve your goals by starting with a short refresher on PowerShell and PowerCLI and then covering the nuances of advanced functions and reusable scripts. Next you will learn how to build a vSphere-powered virtualized datacenter using PowerCLI while managing different aspects of the environment including automated installation, network, and storage. You will then manage different logical constructs of vSphere environment and different aspects of a virtual machine. Later, you will implement the best practices for a security implementation in vSphere Environment through PowerCLI before discovering how to manage other VMware environments such as SRM, vCloud Director and vCloud Air through PowerCLI. You will also learn to manage vSphere environments using advanced properties by accessing vSphere API and REST APIs through PowerCLI. Finally, you will build a Windows GUI application using PowerShell followed by a couple of sample scripts for reporting and managing vSphere environments with detailed explanations of the scripts. By the end of the book, you will have the required in-depth knowledge to master the art of PowerCLI scripting.
Table of Contents (21 chapters)
Mastering PowerCLI
Credits
Foreword
About the Author
Acknowledgment
About the Reviewers
www.PacktPub.com
Preface
Index

Managing provisioned resources


In this section, we will discuss how to manage provisioned resources. To get a list of all provisioned resources, we can use the following command. Note the page number and limit parameter, and change them according to your requirements:

PS C:\> (Invoke-RestMethod -Method Get -Uri 
"https://vra.lab.com/catalog-
service/api/consumer/resources/?page=1&limit=20" -Headers 
$headers).Content | ConvertTo-Json

Part of the output is provided here:

{
    "@type":  "CatalogResource",
    "id":  "4998df9f-1ada-4cdb-843c-a7d61a256e94",
    "iconId":  "bda84bcb-d3f6-4332-8781-89d146ef5e28",
    "resourceTypeRef":  {
                            "id":  "Infrastructure.Virtual",
                            "label":  "Virtual Machine"
                        },
    "name":  "vc-01",
    "description":  "TEST machine",
    "status":  "ACTIVE",
    "catalogItem":  {
                        "id":  "bda84bcb-d3f6-4332-8781-
                        89d146ef5e28",
        ...