• About me…
  • VMware
  • Powershell
  • DIY

ConfigMgr.nl

VMware, PowerShell, Automation, and more…

  • About me…
  • VMware
  • Powershell
  • DIY

Testing Script Runtime Service for vSphere – part 2

1 februari 2021 PowerCli Powershell VMware No Comments

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

Geef een antwoord Reactie annuleren

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

Recente berichten
  • Copying Home Assistant configuration to GitHub
  • Handy one-liners
  • The system has insufficient locker space for the image profile
  • Testing Script Runtime Service for vSphere – part 2
  • Reporting on your Windows Server backup
Categorieën
Proudly powered by WordPress | Theme: Doo by ThemeVS.