Vous pouvez couper, coller et modifier les exemples JavaScript afin de rédiger des scripts pour les tâches PowerShell courantes.
Pour obtenir plus d'informations sur les scripts, consultez le vRealize OrchestratorGuide du développeur.
Exécuter un script PowerShell via l'API
Vous pouvez utiliser JavaScript pour exécuter un script PowerShell via l'API du plug-in.
Cet exemple de script effectue les actions suivantes.
- Ouvre une session sur un hôte PowerShell.
- Fournit un script à exécuter.
- Vérifie les résultats de l'appel.
- Ferme la session.
var sess; try { //Open session to PowerShell host var sess = host.openSession() //Set executed script var result = sess.invokeScript('dir') //Check for errors if (result.invocationState == 'Failed'){ throw "PowerShellInvocationError: Errors found while executing script \n" + result.getErrors(); } //Show result System.log( result.getHostOutput() ); } catch (ex){ System.error (ex) } finally { if (sess) { //Close session host.closeSession( sess.getSessionId() ); } }
Exploiter le résultat
Vous pouvez utiliser JavaScript pour exploiter le résultat d'une exécution de script PowerShell.
Cet exemple de script effectue les actions suivantes.
- Vérifie l'état de l'appel.
- Extrait une valeur du résultat.
- Vérifie le type RemotePSObject.
var sess = host.openSession() sess.addCommandFromString("dir " + directory) var invResult = sess.invokePipeline(); //Show result System.log( invResult.getHostOutput() ); //Check for errors if (invResult.invocationState == 'Failed'){ System.error(invResult.getErrors()); } else { //Get PowerShellRemotePSObject var psObject = invResult.getResults(); var directories = psObject.getRootObject(); var isList = directories instanceof Array if ( isList ){ for (idx in directories){ var item = directories[idx]; if ( item.instanceOf('System.IO.FileInfo') ){//Check type of object System.log( item.getProperty('FullName') );//Extract value from result } } } else { System.log( directories.getProperty('FullName') );//Extract value from result } } host.closeSession( sess.getSessionId());
Se connecter avec des informations d'identification personnalisées
Vous pouvez utiliser JavaScript pour vous connecter à un hôte PowerShell avec des informations d'identification personnalisées.
var sess; try { sess = host.openSessionAs(userName, password); var invResult = sess.invokeScript('$env:username'); //Check for errors if (invResult.invocationState == 'Failed'){ System.error(invResult.getErrors()); } else { //Show result System.log( invResult.getHostOutput() ); } } catch (ex){ System.error (ex) } finally { if (sess) { host.closeSession( sess.getSessionId()); } }