ConfigMgr

VMware, Azure and Automation

Testing Script Runtime Service for vSphere – part 2

1 februari 2021 PowerCli Powershell VMware

In the first part of this blog, I installed the Script Runtime Service and checked if it was installed correctly.
In this second part, I will give you a walkthrough of how to run a simple script.

In order to successfully run a script, you must have some understanding of how the service works. Every user has his own runspace. This runspace is a PowerShell instance running in a dedicated container as a Kubernetes pod on the Kubernetes cluster.

To run a script you request Script Execution. Script Execution is an SRS resource that represents a script that you request to run in a runspace. The whole process looks like this:

  1. logon
  2. create runspace
  3. run script
  4. retrieve output
  5. remove runspace
  6. logout

Logon

SRS uses vCenter Server SSO so any vSphere user that can authenticate in vCenter Server SSO can access the SRS feature. When the authentication is successful the service returns an X-SRS-API-KEY token in the response headers. This token must be used for subsequent API calls. Just add the token to the headers.

Create runspace

When you create a runspace, you can request to create a PowerCLI connection to all linked vCenter Servers. To request a PowerCLI connection specify run_vc_connection_script on the create runspace API call. The status and id of the created runspace can be found in the content property of the returned object. Because a runspace is not immediately available you have to check the status before you continue with the next step.

Run script

Now that you have created a runspace, you can use that runspace to run your script. The only thing you need is the ID of the runspace and a name for your script (or code). Because the calls are asynchronous you have to check the status of the script periodically.

Retrieve output

When your script is finished you have to get the output of the script. Output is referenced by the ID of the script.

Besides script output, there are also five streams that are collected for script execution: Information, Error, Warning, Debug, and Verbose. Streams give information that the script has been produced during the execution.

Remove runspace

When you are done with the runspace you can delete it. The only thing you need is the ID of the runspace.

Logout

And finally, when you are all done, you can terminate your session by logging out.

When you code these steps in PowerShell it looks like this:

Once again I refer to @LucD’s blog if you want to see more advanced code on how to run your PowerShell code on SRS.

powercliscriptsrsvCentervcsavSphere

Reporting on your Windows Server backup

The system has insufficient locker space for the image profile

Recent Posts

  • Using API for Aria OPS Chargeback
  • Unable to set reservation on Org VDC
  • Veeam Tweaks
  • VCF Anyone? Get your license for free…
  • Configure Entra ID as Cloud Director IdP

Recent Comments

Geen reacties om te tonen.

Archives

  • april 2025
  • maart 2025
  • november 2024
  • oktober 2024
  • januari 2024
  • november 2023
  • oktober 2023
  • september 2023
  • juni 2023
  • mei 2023
  • april 2023
  • november 2022
  • maart 2021
  • februari 2021
  • januari 2021
  • november 2020
  • oktober 2020
  • september 2020
  • juli 2020
  • juni 2020
  • april 2020
  • maart 2020
  • februari 2020
  • oktober 2019
  • september 2019
  • juli 2019
  • juni 2019
  • mei 2019
  • maart 2019
  • februari 2019
  • januari 2019
  • december 2018
  • november 2018
  • april 2018
  • januari 2018
  • juli 2017
  • juni 2017
  • mei 2017

Categories

  • AnyLinq
  • Azure
  • Cloud Director
  • ConfigMgr
  • DIY
  • HomeAssistant
  • Microsoft
  • PowerCli
  • Powershell
  • SCCM
  • Script
  • Solutions
  • System Center
  • Veeam
  • VMware
  • vRealize Automation
  • vRealize Orchestrator
Proudly powered by WordPress | Theme: Doo by ThemeVS.