Compare commits

..

No commits in common. "86803bfb8a12f8ec7696d20916e4c2c2a1bd4b7f" and "b76668c1e72007873c2858a059452045ad7879e5" have entirely different histories.

6 changed files with 336 additions and 407 deletions

View File

@ -1,209 +1,195 @@
--- ---
external help file: ModuleRoot-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
online version: online version:
schema: 2.0.0 schema: 2.0.0
--- ---
# Connect-To # Connect-To
## SYNOPSIS ## SYNOPSIS
Connects to the given host using the stored CredentialStoreItem. Connects to the given host using the stored CredentialStoreItem.
## SYNTAX ## SYNTAX
### Private (Default) ### Private (Default)
``` ```
Connect-To -RemoteHost <String> [-Identifier <String>] -Type <String> [-Credentials <PSCredential>] [-PassThru] Connect-To -RemoteHost <String> [-Identifier <String>] -Type <String> [-Credentials <PSCredential>] [-PassThru]
[<CommonParameters>] [<CommonParameters>]
``` ```
### Shared ### Shared
``` ```
Connect-To -RemoteHost <String> [-Identifier <String>] -Type <String> [-Credentials <PSCredential>] [-Shared] Connect-To -RemoteHost <String> [-Identifier <String>] -Type <String> [-Credentials <PSCredential>] [-Shared]
[-Path <String>] [-PassThru] [<CommonParameters>] [-Path <String>] [-PassThru] [<CommonParameters>]
``` ```
## DESCRIPTION ## DESCRIPTION
Establish a connection to the selected host using a stored CredentialStoreItem. Establish a connection to the selected host using a stored CredentialStoreItem.
## EXAMPLES ## EXAMPLES
### EXAMPLE 1 ### EXAMPLE 1
``` ```
Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs
``` ```
### EXAMPLE 2 ### EXAMPLE 2
``` ```
Connect-To -RemoteHost "ucscentral.myside.local" -Type 'CiscoUcsCentral' Connect-To -RemoteHost "ftp.myside.local" -Type FTP
``` ```
### EXAMPLE 3 ### EXAMPLE 3
``` ```
Connect-To -RemoteHost "ftp.myside.local" -Type FTP Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS
``` ```
### EXAMPLE 4 ### EXAMPLE 4
``` ```
Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS Connect-To -RemoteHost "esx01.myside.local" -Type VMware
``` ```
### EXAMPLE 5 ### EXAMPLE 5
``` ```
Connect-To -RemoteHost "esx01.myside.local" -Type VMware Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer
``` ```
### EXAMPLE 6 ### EXAMPLE 6
``` ```
Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP
``` ```
### EXAMPLE 7 ### EXAMPLE 7
``` ```
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS
``` ```
### EXAMPLE 8 ## PARAMETERS
```
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS ### -Credentials
``` Use this parameter to bypass the stored credentials.
Without this parameter Connect-To tries to read the
## PARAMETERS needed credentials from the CredentialStore.
If you provide this parameter you skip this lookup behavior.
### -Credentials So you can use it to enable credentials without preparing any user interaction.
Use this parameter to bypass the stored credentials.
Without this parameter Connect-To tries to read the ```yaml
needed credentials from the CredentialStore. Type: PSCredential
If you provide this parameter you skip this lookup behavior. Parameter Sets: (All)
So you can use it to enable credentials without preparing any user interaction. Aliases:
```yaml Required: False
Type: PSCredential Position: Named
Parameter Sets: (All) Default value: None
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: False ```
Position: Named
Default value: None ### -Identifier
Accept pipeline input: False Defaults to "".
Accept wildcard characters: False Specify a string, which separates two CredentialStoreItems for the
``` same hostname.
### -Identifier ```yaml
Defaults to "". Type: String
Specify a string, which separates two CredentialStoreItems for the Parameter Sets: (All)
same hostname. Aliases:
```yaml Required: False
Type: String Position: Named
Parameter Sets: (All) Default value: None
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: False ```
Position: Named
Default value: None ### -PassThru
Accept pipeline input: False Returns the value from the underlying connection type function.
Accept wildcard characters: False
``` ```yaml
Type: SwitchParameter
### -PassThru Parameter Sets: (All)
Returns the value from the underlying connection type function. Aliases:
```yaml Required: False
Type: SwitchParameter Position: Named
Parameter Sets: (All) Default value: False
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: False ```
Position: Named
Default value: False ### -Path
Accept pipeline input: False Define a custom path to a shared CredentialStore.
Accept wildcard characters: False
``` ```yaml
Type: String
### -Path Parameter Sets: Shared
Define a custom path to a shared CredentialStore. Aliases:
```yaml Required: False
Type: String Position: Named
Parameter Sets: Shared Default value: None
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: False ```
Position: Named
Default value: None ### -RemoteHost
Accept pipeline input: False Specify the host, for which you would like to change the credentials.
Accept wildcard characters: False
``` ```yaml
Type: String
### -RemoteHost Parameter Sets: (All)
Specify the host, for which you would like to change the credentials. Aliases:
```yaml Required: True
Type: String Position: Named
Parameter Sets: (All) Default value: None
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: True ```
Position: Named
Default value: None ### -Shared
Accept pipeline input: False Switch to shared mode with this param.
Accept wildcard characters: False This enforces the command to work with a shared CredentialStore which
``` can be decrypted across systems.
### -Shared ```yaml
Switch to shared mode with this param. Type: SwitchParameter
This enforces the command to work with a shared CredentialStore which Parameter Sets: Shared
can be decrypted across systems. Aliases:
```yaml Required: True
Type: SwitchParameter Position: Named
Parameter Sets: Shared Default value: False
Aliases: Accept pipeline input: False
Accept wildcard characters: False
Required: True ```
Position: Named
Default value: False ### -Type
Accept pipeline input: False Specify the host type of the target.
Accept wildcard characters: False Currently implemented targets are: Possible connection values are:
``` CiscoUcs, FTP, NetAppFAS, VMware, CisServer, ExchangeHTTP, ExchangeHTTPS, SCP.
### -Type ```yaml
Specify the host type of the target. Type: String
Currently implemented targets are: Possible connection values are: Parameter Sets: (All)
Aliases:
- CiscoUcs
- CiscoUcsCentral Required: True
- CisServer Position: Named
- ExchangeHTTP Default value: None
- ExchangeHTTPS Accept pipeline input: False
- FTP Accept wildcard characters: False
- NetAppFAS ```
- SCP
- VMware ### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
```yaml
Type: String ## INPUTS
Parameter Sets: (All)
Aliases: ### [None]
## OUTPUTS
Required: True
Position: Named ### [None]
Default value: None ## NOTES
Accept pipeline input: False
Accept wildcard characters: False ## RELATED LINKS
```
### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## INPUTS
### [None]
## OUTPUTS
### [None]
## NOTES
## RELATED LINKS

View File

@ -1,133 +1,124 @@
--- ---
external help file: ModuleRoot-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
online version: online version:
schema: 2.0.0 schema: 2.0.0
--- ---
# Disconnect-From # Disconnect-From
## SYNOPSIS ## SYNOPSIS
Terminates a session established with Connect-To using a CredentialStoreItem. Terminates a session established with Connect-To using a CredentialStoreItem.
## SYNTAX ## SYNTAX
``` ```
Disconnect-From [-RemoteHost] <String> [-Type] <String> [-Force] [<CommonParameters>] Disconnect-From [-RemoteHost] <String> [-Type] <String> [-Force] [<CommonParameters>]
``` ```
## DESCRIPTION ## DESCRIPTION
Terminates a session established with Connect-To using a CredentialStoreItem. Terminates a session established with Connect-To using a CredentialStoreItem.
## EXAMPLES ## EXAMPLES
### EXAMPLE 1 ### EXAMPLE 1
``` ```
Disconnect-From -RemoteHost "ucs.myside.local" -Type CiscoUcs Disconnect-From -RemoteHost "ucs.myside.local" -Type CiscoUcs
``` ```
### EXAMPLE 2 ### EXAMPLE 2
``` ```
Disconnect-From -RemoteHost "ftp.myside.local" -Type FTP Disconnect-From -RemoteHost "ftp.myside.local" -Type FTP
``` ```
### EXAMPLE 3 ### EXAMPLE 3
``` ```
Disconnect-From -RemoteHost "fas.myside.local" -Type NetAppFAS Disconnect-From -RemoteHost "fas.myside.local" -Type NetAppFAS
``` ```
### EXAMPLE 4 ### EXAMPLE 4
``` ```
Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware
``` ```
### EXAMPLE 5 ### EXAMPLE 5
``` ```
Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware -Force:$True Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware -Force:$True
``` ```
### EXAMPLE 6 ### EXAMPLE 6
``` ```
Disconnect-From -RemoteHost "vcenter.myside.local" -Type CisServer Disconnect-From -RemoteHost "vcenter.myside.local" -Type CisServer
``` ```
### EXAMPLE 7 ### EXAMPLE 7
``` ```
Disconnect-From -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP Disconnect-From -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP
``` ```
### EXAMPLE 8 ### EXAMPLE 8
``` ```
Disconnect-From -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS Disconnect-From -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS
``` ```
## PARAMETERS ## PARAMETERS
### -Force ### -Force
Force the disconnect, even if the disconnect would fail. Force the disconnect, even if the disconnect would fail.
```yaml ```yaml
Type: SwitchParameter Type: SwitchParameter
Parameter Sets: (All) Parameter Sets: (All)
Aliases: Aliases:
Required: False Required: False
Position: Named Position: Named
Default value: False Default value: False
Accept pipeline input: False Accept pipeline input: False
Accept wildcard characters: False Accept wildcard characters: False
``` ```
### -RemoteHost ### -RemoteHost
Specify the remote endpoint, whose session you would like to terminate. Specify the remote endpoint, whose session you would like to terminate.
```yaml ```yaml
Type: String Type: String
Parameter Sets: (All) Parameter Sets: (All)
Aliases: Aliases:
Required: True Required: True
Position: 1 Position: 1
Default value: None Default value: None
Accept pipeline input: False Accept pipeline input: False
Accept wildcard characters: False Accept wildcard characters: False
``` ```
### -Type ### -Type
Specify the host type of the target. Specify the host type of the target.
Currently implemented targets are: Currently implemented targets are: CiscoUcs, FTP, NetAppFAS, VMware,
CisServer, ExchangeHTTP, ExchangeHTTPS, SCP.
- CiscoUcs
- CiscoUcsCentral ```yaml
- FTP Type: String
- NetAppFAS Parameter Sets: (All)
- VMware Aliases:
- CisServer
- ExchangeHTTP Required: True
- ExchangeHTTPS Position: 2
- SCP Default value: None
Accept pipeline input: False
```yaml Accept wildcard characters: False
Type: String ```
Parameter Sets: (All)
Aliases: ### CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
Required: True
Position: 2 ## INPUTS
Default value: None
Accept pipeline input: False ### [None]
Accept wildcard characters: False ## OUTPUTS
```
### [None]
### CommonParameters ## NOTES
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).
## RELATED LINKS
## INPUTS
### [None]
## OUTPUTS
### [None]
## NOTES
## RELATED LINKS

View File

@ -2,7 +2,7 @@
Module Name: PSCredentialStore Module Name: PSCredentialStore
Module Guid: 6800e192-9df8-4e30-b253-eb2c799bbe84 Module Guid: 6800e192-9df8-4e30-b253-eb2c799bbe84
Download Help Link: {{ Update Download Link }} Download Help Link: {{ Update Download Link }}
Help Version: {{ Please enter version of help manually (X.X.X.X) format }} Help Version: {{ Update Help Version }}
Locale: en-US Locale: en-US
--- ---

View File

@ -28,10 +28,11 @@ Use this cmdlet for basic checks with a single item.
Check the item first with this function before Check the item first with this function before
you try to interact with it. you try to interact with it.
Breaking Change for \`v1.1.0+\`: > :bulb: Breaking Change for \`v1.1.0+\`:
Test-CredentialStoreItem will return \`$false\` even if the store doesn't exist. >
We removed the terminating > Test-CredentialStoreItem will return \`$false\` even if the store doesn't exist.
error and replaced it with a warning message. > We removed the terminating
> error and replaced it with a warning message.
## EXAMPLES ## EXAMPLES

View File

@ -15,16 +15,7 @@ function Connect-To {
.PARAMETER Type .PARAMETER Type
Specify the host type of the target. Currently implemented targets are: Possible connection values are: Specify the host type of the target. Currently implemented targets are: Possible connection values are:
CiscoUcs, FTP, NetAppFAS, VMware, CisServer, ExchangeHTTP, ExchangeHTTPS, SCP.
- CiscoUcs
- CiscoUcsCentral
- CisServer
- ExchangeHTTP
- ExchangeHTTPS
- FTP
- NetAppFAS
- SCP
- VMware
.PARAMETER Credentials .PARAMETER Credentials
Use this parameter to bypass the stored credentials. Without this parameter Connect-To tries to read the Use this parameter to bypass the stored credentials. Without this parameter Connect-To tries to read the
@ -50,9 +41,6 @@ function Connect-To {
.EXAMPLE .EXAMPLE
Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs
.EXAMPLE
Connect-To -RemoteHost "ucscentral.myside.local" -Type 'CiscoUcsCentral'
.EXAMPLE .EXAMPLE
Connect-To -RemoteHost "ftp.myside.local" -Type FTP Connect-To -RemoteHost "ftp.myside.local" -Type FTP
@ -91,7 +79,6 @@ function Connect-To {
[Parameter(Mandatory = $true, ParameterSetName = 'Private')] [Parameter(Mandatory = $true, ParameterSetName = 'Private')]
[ValidateSet( [ValidateSet(
'CiscoUcs', 'CiscoUcs',
'CiscoUcsCentral',
'FTP', 'FTP',
'NetAppFAS', 'NetAppFAS',
'VMware', 'VMware',
@ -202,20 +189,6 @@ function Connect-To {
Write-Error @MessageParams Write-Error @MessageParams
} }
} }
"CiscoUcsCentral" {
try {
$handle = Connect-UcsCentral -Name $RemoteHost -Credential $creds -NotDefault
$ExecutionContext.SessionState.PSVariable.Set('DefaultUcsCentral', $handle)
}
catch {
$MessageParams = @{
Message = ('Unable to connect to {0} using {1}' -f $RemoteHost, $Type)
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"FTP" { "FTP" {
# First establish the FTP session # First establish the FTP session
$WinSCPConParams = @{ $WinSCPConParams = @{

View File

@ -14,17 +14,8 @@ function Disconnect-From {
same hostname. same hostname.
.PARAMETER Type .PARAMETER Type
Specify the host type of the target. Currently implemented targets are: Specify the host type of the target. Currently implemented targets are: CiscoUcs, FTP, NetAppFAS, VMware,
CisServer, ExchangeHTTP, ExchangeHTTPS, SCP.
- CiscoUcs
- CiscoUcsCentral
- FTP
- NetAppFAS
- VMware
- CisServer
- ExchangeHTTP
- ExchangeHTTPS
- SCP
.PARAMETER Force .PARAMETER Force
Force the disconnect, even if the disconnect would fail. Force the disconnect, even if the disconnect would fail.
@ -73,7 +64,6 @@ function Disconnect-From {
[Parameter(Mandatory = $true)] [Parameter(Mandatory = $true)]
[ValidateSet( [ValidateSet(
'CiscoUcs', 'CiscoUcs',
'CiscoUcsCentral',
'FTP', 'FTP',
'NetAppFAS', 'NetAppFAS',
'VMware', 'VMware',
@ -95,10 +85,10 @@ function Disconnect-From {
"VMware" { "VMware" {
try { try {
if ($Force) { if ($Force) {
Disconnect-VIServer -Server $RemoteHost -Confirm:$false -ErrorAction 'Stop' -Force:$true Disconnect-VIServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop -Force:$true
} }
else { else {
Disconnect-VIServer -Server $RemoteHost -Confirm:$false -ErrorAction 'Stop' Disconnect-VIServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop
} }
} }
@ -114,10 +104,10 @@ function Disconnect-From {
"CisServer" { "CisServer" {
try { try {
if ($Force) { if ($Force) {
Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction 'Stop' -Force:$true Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop -Force:$true
} }
else { else {
Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction 'Stop' Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop
} }
} }
@ -181,24 +171,10 @@ function Disconnect-From {
Write-Error @MessageParams Write-Error @MessageParams
} }
} }
"CiscoUCSCentral" {
try {
$handle = Connect-UcsCentral -Name $RemoteHost -Credential $creds -NotDefault
$ExecutionContext.SessionState.PSVariable.Set('DefaultUcsCentral', $handle)
}
catch {
$MessageParams = @{
Message = "Unable to disconnect from {0} using Type {1}." -f $RemoteHost, $Type
ErrorAction = 'Stop'
}
Write-Error @MessageParams
}
}
"ExchangeHTTP*" { "ExchangeHTTP*" {
try { try {
Get-Variable -Name 'PSExchangeRemote' -Scope 'Global' -ErrorAction 'Stop' Get-Variable -Name 'PSExchangeRemote' -Scope Global -ErrorAction Stop
Remove-PSSession -Session $Global:PSExchangeRemote -ErrorAction 'Stop' Remove-PSSession -Session $Global:PSExchangeRemote -ErrorAction Stop
} }
catch { catch {
$MessageParams = @{ $MessageParams = @{
@ -230,4 +206,6 @@ function Disconnect-From {
} }
} }
} }
end {}
} }