Jump to content

GeoffO

Members
  • Content count

    7
  • Joined

  • Last visited

  1. Thanks @Buckit. I'll kick the idea around internally to see if we can make something that works for the less experienced PowerShell team members.
  2. (Full Disclosure: We are running v8.1 (Build 8165), so not sure if below has been added in subsequent updates. Or if it exists and I've missed it.) Feature Request: We manage numerous hosts that cannot be captured by the various Host discovery options. As such, we have to manually add hosts a couple times per week. One of the issues is when we go to add an account, sometimes the Host record doesn't exist. In that case, we have to back out of the password screen and go into the Hosts > View All Hosts Records > Add Host. It would be extremely helpful if Passwordstate supported adding a Host from the Add New Password screen for users that have such permissions. Also, if the Hosts homepage could include an Add Hosts link as it is confusing for new users (and inefficient for established users) to have to go into the View All Hosts Records page before the Add Host option becomes available. Thank you.
  3. Hello all. We have recently been reviewing our PowerShell scripts and decided to come up with a function our support staff can use when they want/need a password to be retrieved from Passwordstate. Now the below assumes you have the appropriate IP/Subnets defined and an appropriate API key to retrieve records. This is nothing special, but thought it may help others who are unaware the ease of retrieving records via Passwordstate. This requires PowerShell v3 to leverage 'Invoke-RestMethod' cmdlet. function Get-Password { <# Requires PowerShell v3 for Invoke-RestMethod support Retrieves password record from Passwordstate #> [CmdletBinding()] Param ( [Parameter(Mandatory = $true, Position = 0)] $Id, [Parameter(Mandatory = $true, Position = 1)] $APIKey ) Invoke-RestMethod -Uri https://pstate.domain.org/api/passwords/$($Id)?apikey=$($APIKey) -Method Get } You can then retrieve a record in this manner: $ID = "1234" $APIKey = "12345678900987654321" $Creds = Get-Password -Id $ID -APIKey $APIKey Once you have retrieved the record, you can convert it to a PowerShell credential object for later use: $User = $Creds.Username $Pswd = ConvertTo-SecureString -String $Creds.Password -AsPlainText -Force $Credential = New-Object System.Management.Automation.PSCredential ($User, $Pswd) At this point you can specify the $Credential for cmdlets that support it and no longer store credentials in plain text (or even via "secure string"): Get-Service -ComputerName SRV01 -Name "BITS" -Credential $Credential
×