I've recently begun using the SwisPowershell module to automate bulk muting of alerts. The script is run under a different user, but when it establishes the connection with the Solarwinds API (via get-swisdata), you are prompted for credentials. When I first wrote (3-4 weeks ago) and tested the script, it worked great. However, I tried using it last week and it no longer accepts my credentials (results in the "Invalid username or password" message).
I can fully recreate the problem with these lines:
$Solarwinds = "<servername>"
$Creds = Get-Credential
$Swis = Connect-Swis -Credential $Creds -hostname $Solarwinds
$SwisTest = Get-Swisdata $Swis "SELECT Uri FROM orion.nodes WHERE sysname='<servername>'"
For testing purposes, I have tried the following:
-With and without the "creds" variable.
-Credentials in the form of 'domain\username', 'username', 'username@domain'. - Fails with same error
-With and without variables.
-If I run the script under my account and use the '-trusted' switch, it works just fine.
-If I run the script and enter local Solarwinds credentials, it works just fine.
The message in the Orion.InformationService.log file is "Invalid username or password for user <domain\username> via password hash comparison."
I can't use a generic account and I don't want to have to create local accounts for everyone who will run the script.
Also, in case it matters, I have administrative access to Solarwinds via an AD security group.
I am completely out of ideas and welcome whatever help people can offer.