Forum Discussion
TejCGS
Apr 25, 2019Copper Contributor
$cred = Get-Credential without asking for prompts in powershell
I am trying to run a script and i wanted to run it silently without asking for credential prompts. Is there a way to get around using "$cred = Get-Credential" without a prompt The script i am t...
- Apr 26, 2019
I have corrected your script (removed the unwanted call of Get-Credential and fixed the variable name creds)
$username = "admin@domain.com"
$password = ConvertTo-SecureString "mypassword" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential -ArgumentList ($username, $password)
Import-Module MSOnline
Connect-MSolService -Credential $psCred
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell-liveid/ -Credential $psCred -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber -DisableNameChecking
BenStegink
Apr 25, 2019Steel Contributor
You can store passwords in an encrypted file on the machine you are running the script on. Here is a site that gives some examples - https://blog.kloud.com.au/2016/04/21/using-saved-credentials-securely-in-powershell-scripts/
You can also leverage windows credential manager to store credentials and retrieve the crowds from there in your script - https://bitsofwater.com/2018/02/16/using-credential-manager-in-powershell/
You can also leverage windows credential manager to store credentials and retrieve the crowds from there in your script - https://bitsofwater.com/2018/02/16/using-credential-manager-in-powershell/
TejCGS
Apr 26, 2019Copper Contributor
i stored my credentials in credentials manager as CGSPS1 and i tried retrieving them in ps1
$psCred = Get-StoredCredential -Target "CGSPS1" –AsCredentialObject
$CRED = Get-StoredCredential -Target "CGSPS1" –AsCredentialObject
Connect-MSolService -Credential $CRED
and i get the below error
Connect-MsolService : Cannot bind parameter 'Credential'. Cannot convert the "PSCredentialManager.Common.Credential" value of t
"PSCredentialManager.Common.Credential" to type "System.Management.Automation.PSCredential".
At line:1 char:33
+ Connect-MSolService -Credential $cred
$psCred = Get-StoredCredential -Target "CGSPS1" –AsCredentialObject
$CRED = Get-StoredCredential -Target "CGSPS1" –AsCredentialObject
Connect-MSolService -Credential $CRED
and i get the below error
Connect-MsolService : Cannot bind parameter 'Credential'. Cannot convert the "PSCredentialManager.Common.Credential" value of t
"PSCredentialManager.Common.Credential" to type "System.Management.Automation.PSCredential".
At line:1 char:33
+ Connect-MSolService -Credential $cred
- Kevin_MorganApr 27, 2019Iron Contributor
I have corrected your script :
$psCred = Get-StoredCredential -Target "CGSPS1"
Connect-MSolService -Credential $psCred- jigmothJun 02, 2020Copper Contributor
Kevin_MorganDid it ask you for login again at Connect-MSolService -Credential $psCred, for me its asking to login again, how do i avoid prompt as i am already passing cred
- Robin NilssonApr 26, 2019Bronze Contributor
TejCGS Try it without the –AsCredentialObject ? Does that make any difference? Also, I surrounded the expression with $() to force PowerShell to interpret it.