Author Posts

March 31, 2017 at 1:09 pm

Hi,

I use Powershell to automate an application called ServiceNow. To access ServiceNow with PowerShell I have
import a module called PSServiceNow. Now I have all the functions of Servicenow to my displossal.
In the help-section I have even a great example "how to create a new ticket in ServiceNow". But when i run
the code I get an error saying that i must authenticate first. It even gives me 3 steps to do this:
Exception: You must do one of the following to authenticate:
1. Call the Set-ServiceNowAuth cmdlet
2. Pass in an Azure Automation connection object
3. Pass in an endpoint and credential

But I don't understand what it means. Does perhaps someone know what I have to do to make my code work:

Import-Module PSServiceNow
New-ServiceNowIncident -ShortDescription "XXXXX" -Description "" -AssignmentGroup ""  -Category "Internal" -SubCategory "Task"  -Comment "Comment" -ConfigurationItem "XXXXX" -Caller "XXXXX" 

Thank you in advanced,

Greetings, Peter Kiers

March 31, 2017 at 1:23 pm

I think I have covered step 1. But I don't understand step 2 and 3:

$uid = "xxxxxxx" 
$pwd = "xxxxxxx"
$secpasswd = ConvertTo-SecureString $pwd -AsPlainText -Force
$creden = New-Object System.Management.Automation.PSCredential ($uid, $secpasswd)
$mycredentials =  Set-ServiceNowAuth -url  -Credentials $creden

March 31, 2017 at 3:19 pm

Give this a try for your credential object:

$creden = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $uid, $secpasswd

There are a few good articles on Credentials you could look at Warren Frame's article on this type of thing here:
Credentials and Dynamic Parameters