Task Name | Example on using the credential policy in concjunction with power shell |
Description | |
Prerequisites | Tested on 5.5 |
Category | Workflow |
Components | vSphere 5.x |
User Inputs | |
| |
Instructions for Regular Workflow Use:
- Download the attached .ZIP file below to your computer. *Remember the location of the saved file on your computer.
- Unzip the file on your computer. Should end up with a .WFD file.
- Log in to UCS Director as a user that has "system-admin" privileges.
- Navigate to "Policies-->Orchestration" and click on "Import".
- Click "Browse" and navigate to the location on your computer where the .WFD file resides. Choose the .WFD file and click "Open".
- Click "Upload" and then "OK" once the file upload is completed. Then click "Next".
- Click the "Select" button next to "Import Workflows". Click the "Check All" button to check all checkboxes and then the "Select" button.
- Click "Submit".
- A new folder should appear in "Policies-->Orchestration" that contains the imported workflow. You will now need to update the included tasks with information about the specific environment.
The Workflow:
The workflow custom task input:
Mapped Input to the powershell task:
The credential policy used:
The custom task run:
The Custom task to get the credential policy information:
importPackage(com.cloupia.lib.connector.account.credential);
var config = PersistenceUtil.getCredentialPolicyByName(input.CredPolName);
if(config != null){
logger.addInfo("Credentials retrieved successfully for Credential Account Policy: " + input.credentialPolicyName);
output.accountUsername = config.getUserName();
output.accountPassword = config.getPassword();
}
else{
logger.addError("Failed to get information for Credential Account Policy: " + input.credentialPolicyName);
ctxt.setFailed("Failed to get information for Credential Account Policy: " + input.credentialPolicyName);
}
Thank you Jeff Trumbull for this addition:
Code for dealing with AD accounts in the custom task:
importPackage(com.cloupia.lib.connector.account.credential);
var config = PersistenceUtil.getCredentialPolicyByName(input.CredPolName);
if(config != null){
logger.addInfo("Credentials retrieved successfully for Credential Account Policy: " + input.credentialPolicyName);
var splitAccount = config.getUserName().split("\\")
if(splitAccount.length == 2){
logger.addInfo("User: " + splitAccount[1])
logger.addInfo("Domain: " + splitAccount[0])
output.accountDomain = splitAccount[0];
output.accountUsername = splitAccount[1];
output.accountPassword = config.getPassword();
}
else{
logger.addError("Failed to split domain and username. Verify domain\\username format: " + config.getUserName());
ctxt.setFailed("Failed to split domain and username. Verify domain\\username format: " + config.getUserName());
}
}
else{
logger.addError("Failed to get information for Credential Account Policy: " + input.credentialPolicyName);
ctxt.setFailed("Failed to get information for Credential Account Policy: " + input.credentialPolicyName);
}