Compare commits

...

12 Commits

Author SHA1 Message Date
OCram85 f2b7910b15 Prepare release v1.1.1 (#78)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
#### 📖 Summary

- updates changelog

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #78
2022-10-10 10:24:52 +02:00
OCram85 0b5c9823e0 Adds changelog config for gitea changelog cli tool (#77)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- adds initial default config for changelog generation

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [ ] Tested via Drone.io pipeline
- [x] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #77
2022-10-10 10:10:18 +02:00
pinguinfuss 42fdb0a373 Fix Set-CredentialStoreItem (#76)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- Fix Set-CredentialStoreItem. Currently it doesn't warn if the user is trying to update a CredentialStoreItem, that does not exist.
- Also add a bit of documentation and UnitTests.
- Fix the quotation of Test-CredentialStoreItem.

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: #76
Reviewed-by: OCram85 <ocram85@noreply.local>
Co-authored-by: pinguinfuss <christian@heimdaheim.de>
Co-committed-by: pinguinfuss <christian@heimdaheim.de>
2022-10-10 10:05:08 +02:00
pinguinfuss 2bd250971b Fix optional module dependencies (#75)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- Fix the optional dependencies.
  - DataONTAP was never a PSGallery module, and we have to custom build that.
  - NetApp finally submitted NetApp.ONTAP into PSGallery, so we can depend on that.
- Updates UCS- and VMware-modules.

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [ ] Tested via Drone.io pipeline
- [ ] Custom test
- [x] No test plan

##### Details / Justification

Sadly, you have to run it. The module loader does not have a unit test.

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <ocram85@noreply.local>
Reviewed-on: #75
Reviewed-by: OCram85 <ocram85@noreply.local>
Co-authored-by: pinguinfuss <christian@heimdaheim.de>
Co-committed-by: pinguinfuss <christian@heimdaheim.de>
2022-10-10 10:00:42 +02:00
OCram85 ac6a9d8202 prepare release 1.1.0 (#74)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
#### 📖 Summary

- updates changelog

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #74
2022-09-21 09:39:56 +02:00
OCram85 3d4f53ddc7 adds pinguinfuss contributed fix (#73)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- redo PR from @pinguinfuss
  - fix error message
  - fix string quotation

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

- just redo #72.
  - there was an issue caused by git config `core.autocrl` displaying / diffin the wrong line ending sequence

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #73
2022-09-20 15:01:05 +02:00
OCram85 6fce8d6a8c Updates libressl files (#71)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- adds missing `vendor` files into build package.
- adds missing `openssl.conf` in build package.
- updates libressl / openssl to v3.5.3

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

-  See `v1.1.0-dev9` build
  - https://gitea.ocram85.com/OCram85/PSCredentialStore/releases/tag/v1.1.0-dev9
Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #71
2022-09-20 11:58:29 +02:00
OCram85 ddb85d907f addChangelog (#70)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- adds CHANGELOG.md via DroneHelper

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #70
2022-07-28 15:15:52 +02:00
OCram85 5bdb383627 updates Readme (#69)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- fix typos
- Updates several sections

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #69
2022-07-28 10:41:46 +02:00
OCram85 a95ba31e40 remove optional depenency helper (#68)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
#### 📖 Summary

- removed optional dependency helper. Moved optional deps into `ExternalModuleDependencies` field.

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #68
2022-07-26 11:33:10 +02:00
OCram85 1e7dd78c2b adds CiscoUCSCentral connection type (#67)
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build was killed Details
#### 📖 Summary

- adds CiscoUCSCentrall connection type in `Connect-To` and `Disconnect-From`

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #67
2022-07-19 14:29:25 +02:00
OCram85 b76668c1e7 fix Test-CredentialStoreItem return (#66)
continuous-integration/drone/push Build is passing Details
#### 📖 Summary

- `Test-CredentialStoreItem` now returns `$false` and not a terminating error if store doesn't exists.
- Updates platyPS generated docs

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] Tested via Drone.io pipeline
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

- fixes #50

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #66
2022-07-19 11:46:21 +02:00
51 changed files with 2163 additions and 2012 deletions

32
.changelog.yml Normal file
View File

@ -0,0 +1,32 @@
# The full repository name
repo: OCram85/PSCredentialStore
# Service type (gitea or github)
service: gitea
# Base URL for Gitea instance if using gitea service type (optional)
# Default: https://gitea.com
base-url: https://gitea.ocram85.com
# Changelog groups and which labeled PRs to add to each group
groups:
- name: ✨ FEATURES
labels:
- feature
- name: 📦 META
labels:
- meta
- name: 🐛 BUGFIXES
labels:
- bug
- name: 🛠️ ENHANCEMENTS
labels:
- enhancement
- name: 📚 DOCS
labels:
- docs
- name: 🔖 MISC
default: true
# regex indicating which labels to skip for the changelog
skip-labels: skip-changelog|backport\/.+

View File

@ -120,7 +120,7 @@ steps:
Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force; Install-Module -Name 'DroneHelper' -Repository 'PSGallery' -ErrorAction 'Stop' -AllowPrerelease -Force;
Import-Module -Name 'DroneHelper' -ErrorAction 'Stop'; Import-Module -Name 'DroneHelper' -ErrorAction 'Stop';
Install-ModuleDependency; Install-ModuleDependency;
New-BuildPackage -Verbose New-BuildPackage -Verbose -AdditionalPath @('./src/Vendor', './src/openssl.conf')
}" }"
- name: GiteaRelease - name: GiteaRelease

1
.gitattributes vendored
View File

@ -21,4 +21,5 @@
# Vendor resources config # Vendor resources config
src/Vendor/libressl255/* filter=lfs diff=lfs merge=lfs -text src/Vendor/libressl255/* filter=lfs diff=lfs merge=lfs -text
src/Vendor/libressl/* filter=lfs diff=lfs merge=lfs -text
*.pfx filter=lfs diff=lfs merge=lfs -text *.pfx filter=lfs diff=lfs merge=lfs -text

41
CHANGELOG.md Normal file
View File

@ -0,0 +1,41 @@
# Changelog
<!-- insertMark -->
## [v1.1.1](https://gitea.ocram85.com/OCram85/PSCredentialStore/releases/tag/v1.1.1) - 2022-10-10
* 📦 META
* Adds changelog config for gitea changelog cli tool (#77)
* 🐛 BUGFIXES
* Fix Set-CredentialStoreItem (#76)
* Fix optional module dependencies (#75)
### Contributors
* [@OCram85](https://gitea.ocram85.com/OCram85)
* [@pinguinfuss](https://gitea.ocram85.com/pinguinfuss)
## `v1.1.0`
- (3d4f53d) adds pinguinfuss contributed fix (#73)
- (6fce8d6) Updates libressl files (#71)
- (ddb85d9) addChangelog (#70)
- (5bdb383) updates Readme (#69)
- (a95ba31) remove optional depenency helper (#68)
- (1e7dd78) adds CiscoUCSCentral connection type (#67)
- (b76668c) fix Test-CredentialStoreItem return (#66)
- (ae62ccc) switch to GNU AGPLv3 license (#64)
- (a66e824) adds community contribution for CiscoUCS connection fix (#63)
- (3d90d91) fix lint (PSScriptAnalyzer) issues (#62)
- (d0b7e53) adds DroneHelper (#61)
- (d4b00a5) Migrates to Pester5+ tests (#59)
- (e340466) update references (#60)
- (88743e9) fix pester verbosity config (#58)
- (c31ee79) Update issue templates (#57)
- (c45490a) Update issue templates (#56)
- (4abfec5) adds PR template (#55)
- (7708df9) Update pwsh style to latest community standards (#52)
## `v1.0.542`
- 🧙 pre migrated Gitea version

View File

@ -5,7 +5,10 @@
<p align="center"> <p align="center">
<a href="https://gitea.ocram85.com/OCram85/PSCredentialStore/"> <a href="https://gitea.ocram85.com/OCram85/PSCredentialStore/">
<img src="https://gitea.ocram85.com/OCram85/PSCredentialStore/raw/branch/master/assets/social-logo.png" alt="PSCredentialStore" /> <img
src="https://gitea.ocram85.com/OCram85/PSCredentialStore/raw/branch/master/assets/social-logo.png"
alt="PSCredentialStore"
>
</a> </a>
</p> </p>
@ -19,7 +22,10 @@
<p align="center"> <p align="center">
<a href="https://drone.ocram85.com/OCram85/PSCredentialStore"> <a href="https://drone.ocram85.com/OCram85/PSCredentialStore">
<img src="https://drone.ocram85.com/api/badges/OCram85/PSCredentialStore/status.svg" alt="Master Branch Build Status"> <img
src="https://drone.ocram85.com/api/badges/OCram85/PSCredentialStore/status.svg"
alt="Master Branch Build Status"
>
</a> </a>
<!-- CodeCove disabled for self hosting git <!-- CodeCove disabled for self hosting git
<a href="https://codecov.io/gh/OCram85/PSCredentialStore"> <a href="https://codecov.io/gh/OCram85/PSCredentialStore">
@ -27,23 +33,30 @@
</a> </a>
--> -->
<a href="https://www.powershellgallery.com/packages/PSCredentialStore"> <a href="https://www.powershellgallery.com/packages/PSCredentialStore">
<img src="https://img.shields.io/powershellgallery/v/PSCredentialStore.svg?style=plastic" alt="PowershellGallery Published Version"> <img
src="https://img.shields.io/powershellgallery/v/PSCredentialStore.svg?style=plastic"
alt="PowershellGallery Published Version"
>
</a> </a>
<a href="https://www.powershellgallery.com/packages/PSCredentialStore"> <a href="https://www.powershellgallery.com/packages/PSCredentialStore">
<img src="https://img.shields.io/powershellgallery/vpre/PSCredentialStore.svg?label=latest%20preview&style=plastic" /> <img
src="https://img.shields.io/powershellgallery/vpre/PSCredentialStore.svg?label=latest%20preview&style=plastic"
>
</a> </a>
<a href="https://www.powershellgallery.com/packages/PSCredentialStore"> <a href="https://www.powershellgallery.com/packages/PSCredentialStore">
<img src="https://img.shields.io/powershellgallery/dt/PSCredentialStore.svg?style=plastic" /> <img
src="https://img.shields.io/powershellgallery/dt/PSCredentialStore.svg?style=plastic"
>
</a> </a>
</p> </p>
## :key: General ## :key: General
The PSCredentialStore is a simple credential manager for `PSCredential` objects. It stores PSCredentials in a simple json The PSCredentialStore is a simple credential manager for `PSCredential` objects. It stores PSCredentials in a simple
file. You can choose between a private and shared credential store. The private one exists in your profile and can json file. You can choose between a private and shared credential store. The private one exists in your profile and
ony accessed by your account on the same machine. The shared store enables you to use different credentials for your can ony accessed by your account on the same machine. The shared store enables you to use different credentials for
scripts without exposing them as plain text. your scripts without exposing them as plain text.
PSCredentialStore was developed to simplify the delegation of complex powershell scripts. In this case you often PSCredentialStore was developed to simplify the delegation of complex powershell scripts. In this case you often
need to store credentials for non interactive usage like in scheduled tasks. need to store credentials for non interactive usage like in scheduled tasks.
@ -51,10 +64,10 @@ need to store credentials for non interactive usage like in scheduled tasks.
Starting with version `1.0.0` PSCredential uses Pfx certificates fo encryption. You can use Pfx certificate files Starting with version `1.0.0` PSCredential uses Pfx certificates fo encryption. You can use Pfx certificate files
or certificates stored in the certificate store. or certificates stored in the certificate store.
For more details read the [about_PSCredentialStore](/docs/about_PSCredentialStore.md) page on gitea or via CLI with For more details read the [about_PSCredentialStore](docs/about_PSCredentialStore.md) page on Gitea or via CLI with
`Get-Help about_PSCredentialStore`. `Get-Help about_PSCredentialStore`.
You can find the [reference](/docs/PSCredentialStore.md) in the /docs/ path as well. You can find the full [reference](docs/Readme.md) in the */docs/* path as well.
## :vulcan_salute: Requirements ## :vulcan_salute: Requirements
@ -63,24 +76,26 @@ You can find the [reference](/docs/PSCredentialStore.md) in the /docs/ path as w
## :bomb: About Security ## :bomb: About Security
>This section explains some security topics and the the design decisions we made to balance the usage and security needs. > This section explains some security topics and the design decisions we made to balance the usage and security needs.
To be able to delegate `PSCredentials` objects we can't exclusively rely on the `SecureString` cmdlets. You can't To be able to delegate `PSCredentials` objects we can't exclusively rely on the `SecureString` cmdlets. You can't
decrypt and reuse such credentials from a different user account or even machine. This is caused by automatically decrypt and reuse such credentials from a different user account or even machine. This is caused by automatically
generated encryption key which, is used create a `Secure String` based encrypted string. generated encryption key, which is used create a `Secure String` based encrypted string.
In order to delegate a password, while still using the underlying security framework, we have to provide a custom In order to delegate a password, while still using the underlying security framework, we have to provide a custom
encryption key. This leads to the fact, that everyone who has access to the key could encrypt or decrypt your data. encryption key. This leads to the fact, that everyone who has access to the key could encrypt or decrypt your data.
So we decided to use the public and private keys from valid certificates as part of the custom encryption keys to encrypt your data. So we decided to use the public and private keys from valid certificates as part of the custom encryption keys to
encrypt your data.
This means clearly: Everyone who has access to the `CredentialStore` needs also access to the certificate file to work with it. This means clearly: Everyone who has access to the `CredentialStore` needs also access to the certificate file to
work with it.
Keep in mind you need to secure the access with your NTFS file permissions to avoid unwanted usage. Another option is Keep in mind you need to secure the access with your NTFS file permissions to avoid unwanted usage. Another option
to import the certificate into your certification vaults of you operating system. In this case you can grand the is to import the certificate into your certification vaults of you operating system. In this case you can grand the
permission to the certificates itself. permission to the certificates itself.
Here is s brief hierarchy description of the certificate location: *(First match wins)* Here is a brief hierarchy description for the certificate lookup order: *(First match wins)*
| CredentialStore Type | Certificate Location | | CredentialStore Type | Certificate Location |
| -------------------- | ---------------------- | | -------------------- | ---------------------- |
@ -95,9 +110,9 @@ Here is s brief hierarchy description of the certificate location: *(First match
### :artificial_satellite: PowerShellGallery.com (Recommended Way) ### :artificial_satellite: PowerShellGallery.com (Recommended Way)
* Make sure you use PowerShell 5.1 or higher with `$PSVersionTable`. * Make sure you use PowerShell 5.1 or higher with `$PSVersionTable`.
* Use the builtin PackageManagement and install with: `Import-Module PowerShellGet; Install-Module 'PSCredentialStore' -Repository 'PSGallery'` * Use the builtin PackageManagement + PowerShellGet module and install PSCredentialStore with: `Import-Module PowerShellGet; Install-Module 'PSCredentialStore' -Repository 'PSGallery'`
* Additionally use the `-AllowPrerelease` switch until we publish the final release! * Additionally use the `-AllowPrerelease` switch until we publish the final release!
* Done. Start exploring the Module with `Import-Module PSCredentialStore ; Get-Command -Module PSCredentialStore` * Done. Start exploring the Module with `Import-Module PSCredentialStore; Get-Command -Module PSCredentialStore`
### :building_construction: Manual Way ### :building_construction: Manual Way
@ -109,8 +124,9 @@ Here is s brief hierarchy description of the certificate location: *(First match
### :sparkles: Quick Start ### :sparkles: Quick Start
**1.** First we need a blank credential store. You can decide between a *private* or *shared* store. The private **1.** First we need a blank credential store. You can decide between a *private* or *shared* one.
Credential Store can only be accessed with your profile on the machine you created it.
> :bulb: Note: The private credential store can only be accessed with your profile on the machine you created it.
Starting with version `1.0.0` you can decide the storage type of your fresh created certificate. As default Starting with version `1.0.0` you can decide the storage type of your fresh created certificate. As default
PSCredentialStore creates a new pfx certificate file beside the credential store itself. Optionally you can provide PSCredentialStore creates a new pfx certificate file beside the credential store itself. Optionally you can provide
@ -126,11 +142,12 @@ New-CredentialStore -UseCertStore
# Shared credential store # Shared credential store
New-CredentialStore -Shared New-CredentialStore -Shared
#Shared credential store in custom location # Shared credential store in custom location
New-CredentialStore -Shared -Path 'C:\CredentialStore.json' New-CredentialStore -Shared -Path 'C:\CredentialStore.json'
``` ```
**2.** Now you can manage your credential store items: **2.** Now you can manage your credential store items:
```powershell ```powershell
# This will prompt for credentials and stores it in a private store # This will prompt for credentials and stores it in a private store
New-CredentialStoreItem -RemoteHost 'dc01.myside.local' -Identifier 'AD' New-CredentialStoreItem -RemoteHost 'dc01.myside.local' -Identifier 'AD'
@ -141,7 +158,7 @@ Invoke-Command -ComputerName 'dc01.myside.local' -Credential $DCCreds -ScripBloc
``` ```
The credential store contains also a simple function to establish a connection with several systems or protocols. The credential store contains also a simple function to establish a connection with several systems or protocols.
If you have already installed the underlying framework / modules, you can connect these endpoints: If you have already installed the underlying framework / modules, you can connect to these endpoint types:
* **CiscoUcs** - Establish a connection to a Cisco UCS fabric interconnect. * **CiscoUcs** - Establish a connection to a Cisco UCS fabric interconnect.
* Required Modules: [`Cisco.UCS.Core`, `Cisco.UCSManager`](https://software.cisco.com/download/release.html?i=!y&mdfid=286305108&softwareid=284574017&release=2.1.1) * Required Modules: [`Cisco.UCS.Core`, `Cisco.UCSManager`](https://software.cisco.com/download/release.html?i=!y&mdfid=286305108&softwareid=284574017&release=2.1.1)

View File

@ -1,6 +1,7 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
online version:
schema: 2.0.0 schema: 2.0.0
--- ---
@ -35,31 +36,36 @@ Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs
### EXAMPLE 2 ### EXAMPLE 2
``` ```
Connect-To -RemoteHost "ftp.myside.local" -Type FTP Connect-To -RemoteHost "ucscentral.myside.local" -Type 'CiscoUcsCentral'
``` ```
### EXAMPLE 3 ### EXAMPLE 3
``` ```
Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS Connect-To -RemoteHost "ftp.myside.local" -Type FTP
``` ```
### EXAMPLE 4 ### EXAMPLE 4
``` ```
Connect-To -RemoteHost "esx01.myside.local" -Type VMware Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS
``` ```
### EXAMPLE 5 ### EXAMPLE 5
``` ```
Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer Connect-To -RemoteHost "esx01.myside.local" -Type VMware
``` ```
### EXAMPLE 6 ### EXAMPLE 6
``` ```
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer
``` ```
### EXAMPLE 7 ### EXAMPLE 7
``` ```
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTP
```
### EXAMPLE 8
```
Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS Connect-To -RemoteHost "exchange01.myside.local" -Type ExchangeHTTPS
``` ```
@ -166,7 +172,16 @@ Accept wildcard characters: False
### -Type ### -Type
Specify the host type of the target. Specify the host type of the target.
Currently implemented targets are: Possible connection values are: 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
```yaml ```yaml
Type: String Type: String

View File

@ -1,6 +1,7 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
online version:
schema: 2.0.0 schema: 2.0.0
--- ---
@ -94,8 +95,17 @@ Accept wildcard characters: False
### -Type ### -Type
Specify the host type of the target. Specify the host type of the target.
Currently implemented targets are: CiscoUcs, FTP, NetAppFAS, VMware, Currently implemented targets are:
CisServer, ExchangeHTTP, ExchangeHTTPS, SCP.
- CiscoUcs
- CiscoUcsCentral
- FTP
- NetAppFAS
- VMware
- CisServer
- ExchangeHTTP
- ExchangeHTTPS
- SCP
```yaml ```yaml
Type: String Type: String

View File

@ -1,71 +1,72 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Get-CSCertificate
# Get-CSCertificate
## SYNOPSIS
Returns the current used valid PfX certificate. ## SYNOPSIS
Returns the current used valid PfX certificate.
## SYNTAX
## SYNTAX
```
Get-CSCertificate [-Type] <String> [-Thumbprint] <String> [<CommonParameters>] ```
``` Get-CSCertificate [-Type] <String> [-Thumbprint] <String> [<CommonParameters>]
```
## DESCRIPTION
Use this function to get the available pfx certificate respecting the config hierarchy. ## DESCRIPTION
Use this function to get the available pfx certificate respecting the config hierarchy.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Get-CSCertificate -Type 'Shared' -Thumbprint '12334456' ```
``` Get-CSCertificate -Type 'Shared' -Thumbprint '12334456'
```
## PARAMETERS
## PARAMETERS
### -Thumbprint
Provide the credentials thumbprint for the search. ### -Thumbprint
Provide the credentials thumbprint for the search.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 2 Required: True
Default value: None Position: 2
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Type
Select the current credential store type. ### -Type
Select the current credential store type.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 1 Required: True
Default value: None Position: 1
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [System.Security.Cryptography.X509Certificates.X509Certificate2]
## NOTES ### [System.Security.Cryptography.X509Certificates.X509Certificate2]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,83 +1,84 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Get-CredentialStore
# Get-CredentialStore
## SYNOPSIS
Reads the complete content of the credential store and returns it as a new object. ## SYNOPSIS
Reads the complete content of the credential store and returns it as a new object.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Get-CredentialStore [<CommonParameters>] ```
``` Get-CredentialStore [<CommonParameters>]
```
### Shared
``` ### Shared
Get-CredentialStore [-Path <String>] [-Shared] [<CommonParameters>] ```
``` Get-CredentialStore [-Path <String>] [-Shared] [<CommonParameters>]
```
## DESCRIPTION
The content is in a raw format. ## DESCRIPTION
It means there is no transformation to the different credential types. The content is in a raw format.
You can not use the object properties to connect with remote host. It means there is no transformation to the different credential types.
Therefore please use You can not use the object properties to connect with remote host.
Get-CredentialStoreItem. Therefore please use
Get-CredentialStoreItem.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
$CSContent = Get-CredentialStore -Path "C:\TMP\mystore.json" ```
``` $CSContent = Get-CredentialStore -Path "C:\TMP\mystore.json"
```
## PARAMETERS
## PARAMETERS
### -Path
Define a custom path to a shared CredentialStore. ### -Path
Define a custom path to a shared CredentialStore.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Switch to shared mode with this param. ### -Shared
This enforces the command to work with a shared CredentialStore which Switch to shared mode with this param.
can be decrypted across systems. This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [PSObject] Returns the credential store content as PSObject.
## NOTES ### [PSObject] Returns the credential store content as PSObject.
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,113 +1,114 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Get-CredentialStoreItem
# Get-CredentialStoreItem
## SYNOPSIS
Returns the Credential from a given remote host item. ## SYNOPSIS
Returns the Credential from a given remote host item.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Get-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>] ```
``` Get-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>]
```
### Shared
``` ### Shared
Get-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Shared] [-Path <String>] ```
[<CommonParameters>] Get-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Shared] [-Path <String>]
``` [<CommonParameters>]
```
## DESCRIPTION
Return the credential as PSCredential object. ## DESCRIPTION
Return the credential as PSCredential object.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
$myCreds = Get-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" ```
``` $myCreds = Get-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local"
```
## PARAMETERS
## PARAMETERS
### -Identifier
Provide a custom identifier to the given remote host key. ### -Identifier
This enables you to store multiple credentials Provide a custom identifier to the given remote host key.
for a single remote host entry. This enables you to store multiple credentials
For example ad/sys1, ftp/sys1, mssql/sys1 for a single remote host entry.
For example ad/sys1, ftp/sys1, mssql/sys1
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Define a custom path to a shared CredentialStore. ### -Path
Define a custom path to a shared CredentialStore.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -RemoteHost
Specify the host, for which you would like to change the credentials. ### -RemoteHost
Specify the host, for which you would like to change the credentials.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: Named Required: True
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Switch to shared mode with this param. ### -Shared
This enforces the command to work with a shared CredentialStore which Switch to shared mode with this param.
can be decrypted across systems. This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [System.Management.Automation.PSCredential]
## NOTES ### [System.Management.Automation.PSCredential]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,72 +1,73 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Import-CSCertificate
# Import-CSCertificate
## SYNOPSIS
Imports a linked certificate to the valid store location. ## SYNOPSIS
Imports a linked certificate to the valid store location.
## SYNTAX
## SYNTAX
```
Import-CSCertificate [-Type] <String> [-Path] <FileInfo> [<CommonParameters>] ```
``` Import-CSCertificate [-Type] <String> [-Path] <FileInfo> [<CommonParameters>]
```
## DESCRIPTION
Import-CSCertificate takes a pfx certificate file and imports it to the supposed certificate store for ## DESCRIPTION
private and shared credential stores. Import-CSCertificate takes a pfx certificate file and imports it to the supposed certificate store for
private and shared credential stores.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Import-CSCertificate -Type 'Private' -Path (Join-Path -Path $Env:APPDATA -ChildItem 'PfxCertificate.pfx') ```
``` Import-CSCertificate -Type 'Private' -Path (Join-Path -Path $Env:APPDATA -ChildItem 'PfxCertificate.pfx')
```
## PARAMETERS
## PARAMETERS
### -Path
Provide a valid path to pfx certificate file. ### -Path
Provide a valid path to pfx certificate file.
```yaml
Type: FileInfo ```yaml
Parameter Sets: (All) Type: FileInfo
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 2 Required: True
Default value: None Position: 2
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Type
Select between the a private and shared credential store. ### -Type
Select between the a private and shared credential store.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 1 Required: True
Default value: None Position: 1
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,147 +1,156 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# New-CSCertAttribute
# New-CSCertAttribute
## SYNOPSIS
Creates required data for a certificate signing request. ## SYNOPSIS
Creates required data for a certificate signing request.
## SYNTAX
## SYNTAX
```
New-CSCertAttribute [-Country] <String> [-State] <String> [-City] <String> [-Organization] <String> ```
[-OrganizationalUnitName] <String> [-CommonName] <String> [[-Days] <Int32>] [<CommonParameters>] New-CSCertAttribute [-Country] <String> [-State] <String> [-City] <String> [-Organization] <String>
``` [-OrganizationalUnitName] <String> [-CommonName] <String> [[-Days] <Int32>] [<CommonParameters>]
```
## DESCRIPTION
Defines the certificate related properties for an upcoming New-PfxCertificate execution. ## DESCRIPTION
Defines the certificate related properties for an upcoming New-PfxCertificate execution.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
New-CSCertAttribute -Country 'DE' -State 'BW' -City 'Karlsruhe' -Organization 'AwesomeIT' -OrganizationalUnitName '' -CommonName 'MyPrivateCert' ```
``` $AttribParams = @{
Country = 'DE'
## PARAMETERS State = 'BW'
City = 'Karlsruhe'
### -City Organization ='AwesomeIT'
Certificate city value. OrganizationalUnitName ='PSCredentialStore'
CommonName ='MyPrivateCert'
```yaml }
Type: String New-CSCertAttribute @AttribParams
Parameter Sets: (All) ```
Aliases:
## PARAMETERS
Required: True
Position: 3 ### -City
Default value: None Certificate city value.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### -CommonName Aliases:
The certificate common name.
Required: True
```yaml Position: 3
Type: String Default value: None
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: True
Position: 6 ### -CommonName
Default value: None The certificate common name.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### -Country Aliases:
County code like EN, DE, IT, FR...
Required: True
```yaml Position: 6
Type: String Default value: None
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: True
Position: 1 ### -Country
Default value: None County code like EN, DE, IT, FR...
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### -Days Aliases:
The validation time itself.
Required: True
```yaml Position: 1
Type: Int32 Default value: None
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: False
Position: 7 ### -Days
Default value: 365 The validation time itself.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: Int32
Parameter Sets: (All)
### -Organization Aliases:
Certificate organization value.
Required: False
```yaml Position: 7
Type: String Default value: 365
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: True
Position: 4 ### -Organization
Default value: None Certificate organization value.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### -OrganizationalUnitName Aliases:
Certificate OrganizationalUnitName value.
Required: True
```yaml Position: 4
Type: String Default value: None
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: True
Position: 5 ### -OrganizationalUnitName
Default value: None Certificate OrganizationalUnitName value.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### -State Aliases:
Certificate state value.
Required: True
```yaml Position: 5
Type: String Default value: None
Parameter Sets: (All) Accept pipeline input: False
Aliases: Accept wildcard characters: False
```
Required: True
Position: 2 ### -State
Default value: None Certificate state value.
Accept pipeline input: False
Accept wildcard characters: False ```yaml
``` Type: String
Parameter Sets: (All)
### CommonParameters Aliases:
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
## INPUTS Position: 2
Default value: None
### [None] Accept pipeline input: False
## OUTPUTS Accept wildcard characters: False
```
### [PSCredentialStore.Certificate.CSRDetails]
## NOTES ### 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).
## RELATED LINKS
## INPUTS
### [None]
## OUTPUTS
### [PSCredentialStore.Certificate.CSRDetails]
## NOTES
## RELATED LINKS

View File

@ -1,120 +1,121 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# New-CSCertificate
# New-CSCertificate
## SYNOPSIS
Creates a new PFX certificate for the CredentialStore encryption. ## SYNOPSIS
Creates a new PFX certificate for the CredentialStore encryption.
## SYNTAX
## SYNTAX
```
New-CSCertificate [-CRTAttribute] <Object> [[-KeyName] <String>] [[-CertName] <String>] [-WhatIf] [-Confirm] ```
[<CommonParameters>] New-CSCertificate [-CRTAttribute] <Object> [[-KeyName] <String>] [[-CertName] <String>] [-WhatIf] [-Confirm]
``` [<CommonParameters>]
```
## DESCRIPTION
Use this function to create a custom self signed certificate used by the PSCredentialStore module. ## DESCRIPTION
Use this function to create a custom self signed certificate used by the PSCredentialStore module.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
New-CSCertificate -CRTAttribute $CRTAttribute -KeyName './myprivate.key' -CertName './mycert.pfx' ```
``` New-CSCertificate -CRTAttribute $CRTAttribute -KeyName './myprivate.key' -CertName './mycert.pfx'
```
## PARAMETERS
## PARAMETERS
### -CertName
Provide a custom full path and name for the PFX certificate file. ### -CertName
The file extension has to be \`*.pfx\` Provide a custom full path and name for the PFX certificate file.
The file extension has to be \`*.pfx\`
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: 3 Required: False
Default value: ./certificate.pfx Position: 3
Accept pipeline input: False Default value: ./certificate.pfx
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -CRTAttribute
Provide certificate related attributes provided by function New-CRTAttribute. ### -CRTAttribute
Provide certificate related attributes provided by function New-CRTAttribute.
```yaml
Type: Object ```yaml
Parameter Sets: (All) Type: Object
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 1 Required: True
Default value: None Position: 1
Accept pipeline input: True (ByValue) Default value: None
Accept wildcard characters: False Accept pipeline input: True (ByValue)
``` Accept wildcard characters: False
```
### -KeyName
Provide a custom full path and name for the private key. ### -KeyName
The file extension has to be \`*.key\`. Provide a custom full path and name for the private key.
The file extension has to be \`*.key\`.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: 2 Required: False
Default value: ./private.key Position: 2
Accept pipeline input: False Default value: ./private.key
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Confirm
Prompts you for confirmation before running the cmdlet. ### -Confirm
Prompts you for confirmation before running the cmdlet.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: cf Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -WhatIf
Shows what would happen if the cmdlet runs. ### -WhatIf
The cmdlet is not run. Shows what would happen if the cmdlet runs.
The cmdlet is not run.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: wi Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [PSCredentialStore.Certificate.Attribute]
## OUTPUTS ### [PSCredentialStore.Certificate.Attribute]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,202 +1,203 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# New-CredentialStore
# New-CredentialStore
## SYNOPSIS
Creates a new credential store File ## SYNOPSIS
Creates a new credential store File
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
New-CredentialStore [-Force] [-PassThru] [-SkipPFXCertCreation] [-UseCertStore] [-WhatIf] [-Confirm] ```
[<CommonParameters>] New-CredentialStore [-Force] [-PassThru] [-SkipPFXCertCreation] [-UseCertStore] [-WhatIf] [-Confirm]
``` [<CommonParameters>]
```
### Shared
``` ### Shared
New-CredentialStore [-Shared] [-Path <FileInfo>] [-Force] [-PassThru] [-SkipPFXCertCreation] [-UseCertStore] ```
[-WhatIf] [-Confirm] [<CommonParameters>] New-CredentialStore [-Shared] [-Path <FileInfo>] [-Force] [-PassThru] [-SkipPFXCertCreation] [-UseCertStore]
``` [-WhatIf] [-Confirm] [<CommonParameters>]
```
## DESCRIPTION
You need to run this script first to create a new credential store before you try to ## DESCRIPTION
save new credentials with New-CredentialStoreItem. You need to run this script first to create a new credential store before you try to
save new credentials with New-CredentialStoreItem.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
New-CredentialStore ```
# Creates a new private CredentialStore New-CredentialStore
``` # Creates a new private CredentialStore
```
### EXAMPLE 2
``` ### EXAMPLE 2
New-CredentialStore -Force ```
# Resets an existing private CredentialStore New-CredentialStore -Force
``` # Resets an existing private CredentialStore
```
### EXAMPLE 3
``` ### EXAMPLE 3
New-CredentialStore -Shared ```
# Creates a new shared CredentialStore New-CredentialStore -Shared
``` # Creates a new shared CredentialStore
```
### EXAMPLE 4
``` ### EXAMPLE 4
New-CredentialStore -Shared -Path "C:\TMP\CredentialStore.json" ```
# Creates a new shared CredentialStore in the given location. New-CredentialStore -Shared -Path "C:\TMP\CredentialStore.json"
``` # Creates a new shared CredentialStore in the given location.
```
## PARAMETERS
## PARAMETERS
### -Force
Use this switch to reset an existing store. ### -Force
The complete content will be wiped. Use this switch to reset an existing store.
The complete content will be wiped.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -PassThru
{{ Fill PassThru Description }} ### -PassThru
{{ Fill PassThru Description }}
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Define a location for the new shared CredentialStore. ### -Path
The default store will be created in Define a location for the new shared CredentialStore.
$Env:ProgramData\PSCredentialStore dir. The default store will be created in
$Env:ProgramData\PSCredentialStore dir.
```yaml
Type: FileInfo ```yaml
Parameter Sets: Shared Type: FileInfo
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Creates a CredentialStore in the Shared mode. ### -Shared
This enables you to read the CredentialStore Items on Creates a CredentialStore in the Shared mode.
different systems or profiles. This enables you to read the CredentialStore Items on
In addition you can optionally provide a custom path wit the -Path parameter. different systems or profiles.
In addition you can optionally provide a custom path wit the -Path parameter.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -SkipPFXCertCreation
You can skip the pfx certificate creation process. ### -SkipPFXCertCreation
This makes sense if you have a previously created cert or want to You can skip the pfx certificate creation process.
import a cert in cross-platform environments. This makes sense if you have a previously created cert
or want to import a cert in cross-platform environments.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -UseCertStore
Instead of using a plain pfx file beside your CredentialStore file you can import it into the user or machine ### -UseCertStore
certificate store. Instead of using a plain pfx file beside your CredentialStore file you can import it into the user or
In this case the system itself secures the cert and you don't hat to set custom NTFS machine certificate store.
permissions so secure your shared certificate. In this case the system itself secures the cert and you don't hat to set custom
NTFS permissions so secure your shared certificate.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Confirm
Prompts you for confirmation before running the cmdlet. ### -Confirm
Prompts you for confirmation before running the cmdlet.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: cf Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -WhatIf
Shows what would happen if the cmdlet runs. ### -WhatIf
The cmdlet is not run. Shows what would happen if the cmdlet runs.
The cmdlet is not run.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: wi Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### ['PSCredentialStore.Store'] Returns the recently created CredentialStore object if the -PassThru parameter
### was given. ### ['PSCredentialStore.Store'] Returns the recently created CredentialStore object if the -PassThru parameter
## NOTES ### was given.
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,133 +1,134 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# New-CredentialStoreItem
# New-CredentialStoreItem
## SYNOPSIS
Adds a credential store item containing host, user and password to the given store. ## SYNOPSIS
Adds a credential store item containing host, user and password to the given store.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
New-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] ```
[<CommonParameters>] New-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>]
``` [<CommonParameters>]
```
### Shared
``` ### Shared
New-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] [-Shared] ```
[-Path <String>] [<CommonParameters>] New-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] [-Shared]
``` [-Path <String>] [<CommonParameters>]
```
## DESCRIPTION
The credentials are stored without any relations to it's further use. ## DESCRIPTION
If you need to change an existing The credentials are stored without any relations to it's further use.
item please use Set-CredentialStoreItem. If you need to change an existing
You need to decide afterwards, whether to use the credential for item please use Set-CredentialStoreItem.
a VIConnection, NetApp FAS or UCS Fabric Interconnect. You need to decide afterwards, whether to use the credential for
a VIConnection, NetApp FAS or UCS Fabric Interconnect.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
New-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" ```
``` New-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local"
```
## PARAMETERS
## PARAMETERS
### -Credential
You can provide credentials optionally as pre existing pscredential object. ### -Credential
You can provide credentials optionally as pre existing pscredential object.
```yaml
Type: PSCredential ```yaml
Parameter Sets: (All) Type: PSCredential
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: True (ByValue) Default value: None
Accept wildcard characters: False Accept pipeline input: True (ByValue)
``` Accept wildcard characters: False
```
### -Identifier
Provide a custom identifier to the given remote host key. ### -Identifier
This enables you to store multiple credentials Provide a custom identifier to the given remote host key.
for a single remote host entry. This enables you to store multiple credentials
For example ad/sys1, ftp/sys1, mssql/sys1 for a single remote host entry.
For example ad/sys1, ftp/sys1, mssql/sys1
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Define the store in which you would like to add a new item. ### -Path
Define the store in which you would like to add a new item.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -RemoteHost
The identifier or rather name for the given credentials. ### -RemoteHost
The identifier or rather name for the given credentials.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: Named Required: True
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Define the CredentialStore where you want to add the new item. ### -Shared
Default is always personal but can be Define the CredentialStore where you want to add the new item.
changed to shared, or even shared with custom path. Default is always personal but can be
changed to shared, or even shared with custom path.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,64 +1,64 @@
--- ---
Module Name: PSCredentialStore Module Name: PSCredentialStore
Module Guid: 6800e192-9df8-4e30-b253-eb2c799bbe84 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: {{ Please enter version of help manually (X.X.X.X) format }}
Locale: en-US Locale: en-US
--- ---
# PSCredentialStore Module # PSCredentialStore Module
## Description ## Description
{{ Fill in the Description }} See global Readme file for usage instructions.
## PSCredentialStore Cmdlets ## PSCredentialStore Cmdlets
### [Connect-To](Connect-To.md) ### [Connect-To](Connect-To.md)
Connects to the given host using the stored CredentialStoreItem. Connects to the given host using the stored CredentialStoreItem.
### [Disconnect-From](Disconnect-From.md) ### [Disconnect-From](Disconnect-From.md)
Terminates a session established with Connect-To using a CredentialStoreItem. Terminates a session established with Connect-To using a CredentialStoreItem.
### [Get-CredentialStore](Get-CredentialStore.md) ### [Get-CredentialStore](Get-CredentialStore.md)
Reads the complete content of the credential store and returns it as a new object. Reads the complete content of the credential store and returns it as a new object.
### [Get-CredentialStoreItem](Get-CredentialStoreItem.md) ### [Get-CredentialStoreItem](Get-CredentialStoreItem.md)
Returns the Credential from a given remote host item. Returns the Credential from a given remote host item.
### [Get-CSCertificate](Get-CSCertificate.md) ### [Get-CSCertificate](Get-CSCertificate.md)
Returns the current used valid PfX certificate. Returns the current used valid PfX certificate.
### [Import-CSCertificate](Import-CSCertificate.md) ### [Import-CSCertificate](Import-CSCertificate.md)
Imports a linked certificate to the valid store location. Imports a linked certificate to the valid store location.
### [New-CredentialStore](New-CredentialStore.md) ### [New-CredentialStore](New-CredentialStore.md)
Creates a new credential store File Creates a new credential store File
### [New-CredentialStoreItem](New-CredentialStoreItem.md) ### [New-CredentialStoreItem](New-CredentialStoreItem.md)
Adds a credential store item containing host, user and password to the given store. Adds a credential store item containing host, user and password to the given store.
### [New-CSCertAttribute](New-CSCertAttribute.md) ### [New-CSCertAttribute](New-CSCertAttribute.md)
Creates required data for a certificate signing request. Creates required data for a certificate signing request.
### [New-CSCertificate](New-CSCertificate.md) ### [New-CSCertificate](New-CSCertificate.md)
Creates a new PFX certificate for the CredentialStore encryption. Creates a new PFX certificate for the CredentialStore encryption.
### [Remove-CredentialStoreItem](Remove-CredentialStoreItem.md) ### [Remove-CredentialStoreItem](Remove-CredentialStoreItem.md)
Remove the given credentials from the credential store. Remove the given credentials from the credential store.
### [Set-CredentialStoreItem](Set-CredentialStoreItem.md) ### [Set-CredentialStoreItem](Set-CredentialStoreItem.md)
Changes the credentials for the given remote host in the store. Changes the credentials for the given remote host in the store.
### [Test-CredentialStore](Test-CredentialStore.md) ### [Test-CredentialStore](Test-CredentialStore.md)
Returns the credential store state. Returns the credential store state.
### [Test-CredentialStoreItem](Test-CredentialStoreItem.md) ### [Test-CredentialStoreItem](Test-CredentialStoreItem.md)
Checks if the given RemoteHost identifier combination exists in the credential store. Checks if the given RemoteHost identifier combination exists in the credential store.
### [Test-CSCertificate](Test-CSCertificate.md) ### [Test-CSCertificate](Test-CSCertificate.md)
Tests if the linked certificate is store ein the specified cert stores. Tests if the linked certificate is store ein the specified cert stores.
### [Test-CSConnection](Test-CSConnection.md) ### [Test-CSConnection](Test-CSConnection.md)
Returns the connection state of a given type to the remote host. Returns the connection state of a given type to the remote host.
### [Use-CSCertificate](Use-CSCertificate.md) ### [Use-CSCertificate](Use-CSCertificate.md)
Links an existing PFX Certificate to a CredentialStore. Links an existing PFX Certificate to a CredentialStore.

View File

@ -1,127 +1,128 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Remove-CredentialStoreItem
# Remove-CredentialStoreItem
## SYNOPSIS
Remove the given credentials from the credential store. ## SYNOPSIS
Remove the given credentials from the credential store.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Remove-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>] ```
``` Remove-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>]
```
### Shared
``` ### Shared
Remove-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Shared] [-Path <String>] ```
[<CommonParameters>] Remove-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Shared] [-Path <String>]
``` [<CommonParameters>]
```
## DESCRIPTION
Use this CMDLet to completely remove an credential store item. ## DESCRIPTION
Use this CMDLet to completely remove an credential store item.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Remove-CredentialStoreItem -RemoteHost "esx01.myside.local" ```
``` Remove-CredentialStoreItem -RemoteHost "esx01.myside.local"
```
### EXAMPLE 2
``` ### EXAMPLE 2
Remove-CredentialStoreItem -Shared -RemoteHost "esx01.myside.local" ```
``` Remove-CredentialStoreItem -Shared -RemoteHost "esx01.myside.local"
```
### EXAMPLE 3
``` ### EXAMPLE 3
Remove-CredentialStoreItem -Shared -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" ```
``` Remove-CredentialStoreItem -Shared -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local"
```
### EXAMPLE 4
``` ### EXAMPLE 4
Remove-CredentialStoreItem -RemoteHost "esx01.myside.local" -Identifier svc ```
``` Remove-CredentialStoreItem -RemoteHost "esx01.myside.local" -Identifier svc
```
## PARAMETERS
## PARAMETERS
### -Identifier
Defaults to "". ### -Identifier
Specify a string, which separates two CredentialStoreItems for the Defaults to "".
same hostname. Specify a string, which separates two CredentialStoreItems for the
same hostname.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Define the store in which your given host entry already exists. ### -Path
Define the store in which your given host entry already exists.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -RemoteHost
Specify the host you for which you would like to change the credentials. ### -RemoteHost
Specify the host you for which you would like to change the credentials.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: Named Required: True
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Switch to shared mode with this param. ### -Shared
This enforces the command to work with a shared CredentialStore which Switch to shared mode with this param.
can be decrypted across systems. This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,133 +1,134 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Set-CredentialStoreItem
# Set-CredentialStoreItem
## SYNOPSIS
Changes the credentials for the given remote host in the store. ## SYNOPSIS
Changes the credentials for the given remote host in the store.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Set-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] ```
[<CommonParameters>] Set-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>]
``` [<CommonParameters>]
```
### Shared
``` ### Shared
Set-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] [-Shared] ```
[-Path <String>] [<CommonParameters>] Set-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [-Credential <PSCredential>] [-Shared]
``` [-Path <String>] [<CommonParameters>]
```
## DESCRIPTION
Use this function to update your already stored RemoteHost items. ## DESCRIPTION
Use this function to update your already stored RemoteHost items.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" ```
``` Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local"
```
### EXAMPLE 2
``` ### EXAMPLE 2
Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" -Identifier svc ```
``` Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" -Identifier svc
```
## PARAMETERS
## PARAMETERS
### -Credential
Provided the new credentials you want to update inside the RemoteHost item. ### -Credential
Provided the new credentials you want to update inside the RemoteHost item.
```yaml
Type: PSCredential ```yaml
Parameter Sets: (All) Type: PSCredential
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: True (ByValue) Default value: None
Accept wildcard characters: False Accept pipeline input: True (ByValue)
``` Accept wildcard characters: False
```
### -Identifier
Defaults to "". ### -Identifier
Specify a string, which separates two CredentialStoreItems for the Defaults to "".
same hostname. Specify a string, which separates two CredentialStoreItems for the
same hostname.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Define the store in which your given host entry already exists. ### -Path
Define the store in which your given host entry already exists.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -RemoteHost
Specify the host you for which you would like to change the credentials. ### -RemoteHost
Specify the host you for which you would like to change the credentials.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: Named Required: True
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Switch to shared mode with this param. ### -Shared
This enforces the command to work with a shared CredentialStore which Switch to shared mode with this param.
can be decrypted across systems. This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,56 +1,57 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Test-CSCertificate
# Test-CSCertificate
## SYNOPSIS
Tests if the linked certificate is store ein the specified cert stores. ## SYNOPSIS
Tests if the linked certificate is store ein the specified cert stores.
## SYNTAX
## SYNTAX
```
Test-CSCertificate [-Type] <String> [<CommonParameters>] ```
``` Test-CSCertificate [-Type] <String> [<CommonParameters>]
```
## DESCRIPTION
Test-CSCertificate should be an easy high level test for the linked certificate. ## DESCRIPTION
Test-CSCertificate should be an easy high level test for the linked certificate.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Test-CSCertificate -Type 'Shared' ```
``` Test-CSCertificate -Type 'Shared'
```
## PARAMETERS
## PARAMETERS
### -Type
Select between 'Private' or 'Shared'. ### -Type
Select between 'Private' or 'Shared'.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 1 Required: True
Default value: None Position: 1
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [bool]
## NOTES ### [bool]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,73 +1,74 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Test-CSConnection
# Test-CSConnection
## SYNOPSIS
Returns the connection state of a given type to the remote host. ## SYNOPSIS
Returns the connection state of a given type to the remote host.
## SYNTAX
## SYNTAX
```
Test-CSConnection [-RemoteHost] <String> [-Type] <String> [<CommonParameters>] ```
``` Test-CSConnection [-RemoteHost] <String> [-Type] <String> [<CommonParameters>]
```
## DESCRIPTION
Use this script to check a connection which was established with the \`Connect-To\` cmdlet. ## DESCRIPTION
Use this script to check a connection which was established with the \`Connect-To\` cmdlet.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Test-CMConnection -RemoteHost "vcr01.internal.net" -Type VMware ```
``` Test-CMConnection -RemoteHost "vcr01.internal.net" -Type VMware
```
## PARAMETERS
## PARAMETERS
### -RemoteHost
Define the remote host you would like to check. ### -RemoteHost
Define the remote host you would like to check.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 1 Required: True
Default value: None Position: 1
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Type
Define the connection type you would like to check. ### -Type
See the \`Connect-To\` documentation Define the connection type you would like to check.
for valid type values. See the \`Connect-To\` documentation
for valid type values.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: 2 Required: True
Default value: None Position: 2
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [bool]
## NOTES ### [bool]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,80 +1,81 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Test-CredentialStore
# Test-CredentialStore
## SYNOPSIS
Returns the credential store state. ## SYNOPSIS
Returns the credential store state.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Test-CredentialStore [<CommonParameters>] ```
``` Test-CredentialStore [<CommonParameters>]
```
### Shared
``` ### Shared
Test-CredentialStore [-Path <String>] [-Shared] [<CommonParameters>] ```
``` Test-CredentialStore [-Path <String>] [-Shared] [<CommonParameters>]
```
## DESCRIPTION
Use this script to test your credential store. ## DESCRIPTION
For now it only checks if Use this script to test your credential store.
the file exists. For now it only checks if
the file exists.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Test-CredentialStore -eq $true ```
``` Test-CredentialStore -eq $true
```
## PARAMETERS
## PARAMETERS
### -Path
Define a custom path to a shared CredentialStore. ### -Path
Define a custom path to a shared CredentialStore.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Switch to shared mode with this param. ### -Shared
This enforces the command to work with a shared CredentialStore which Switch to shared mode with this param.
can be decrypted across systems. This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
## OUTPUTS
## OUTPUTS
### System.Boolean
## NOTES ### System.Boolean
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,121 +1,127 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Test-CredentialStoreItem
# Test-CredentialStoreItem
## SYNOPSIS
Checks if the given RemoteHost identifier combination exists in the credential store. ## SYNOPSIS
Checks if the given RemoteHost identifier combination exists in the credential store.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Test-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>] ```
``` Test-CredentialStoreItem -RemoteHost <String> [-Identifier <String>] [<CommonParameters>]
```
### Shared
``` ### Shared
Test-CredentialStoreItem [-Path <String>] -RemoteHost <String> [-Identifier <String>] [-Shared] ```
[<CommonParameters>] Test-CredentialStoreItem [-Path <String>] -RemoteHost <String> [-Identifier <String>] [-Shared]
``` [<CommonParameters>]
```
## DESCRIPTION
Use this cmdlet for basic checks with a single item. ## DESCRIPTION
Check the item first with this function before Use this cmdlet for basic checks with a single item.
you try to interact with it. Check the item first with this function before
you try to interact with it.
## EXAMPLES
Breaking Change for \`v1.1.0+\`:
### EXAMPLE 1 Test-CredentialStoreItem will return \`$false\` even if the store doesn't exist.
``` We removed the terminating
if (Test-CredentialStoreItem -RemoteHost "Default") { error and replaced it with a warning message.
Get-CredentialStoreItem -RemoteHost "Default"
} ## EXAMPLES
else {
Write-Warning ("The given Remote Host {0} does not exist in the credential Store!" -f $RemoteHost) ### EXAMPLE 1
} ```
``` if (Test-CredentialStoreItem -RemoteHost "Default") {
Get-CredentialStoreItem -RemoteHost "Default"
## PARAMETERS }
else {
### -Identifier Write-Warning ("The given Remote Host {0} does not exist in the credential Store!" -f $RemoteHost)
Adds an optional identifier to the given RemoteHost. }
Makes it possible to store multiple credentials ```
for a single host.
## PARAMETERS
```yaml
Type: String ### -Identifier
Parameter Sets: (All) Adds an optional identifier to the given RemoteHost.
Aliases: Makes it possible to store multiple credentials
for a single host.
Required: False
Position: Named ```yaml
Default value: None Type: String
Accept pipeline input: False Parameter Sets: (All)
Accept wildcard characters: False Aliases:
```
Required: False
### -Path Position: Named
Define a custom credential store you try to read from. Default value: None
Without the \`-Path\` parameter Accept pipeline input: False
\`Test-CredentialStoreItem\` tries to read from the default private store. Accept wildcard characters: False
```
```yaml
Type: String ### -Path
Parameter Sets: Shared Define a custom credential store you try to read from.
Aliases: Without the \`-Path\` parameter
\`Test-CredentialStoreItem\` tries to read from the default private store.
Required: False
Position: Named ```yaml
Default value: "{0}\PSCredentialStore\CredentialStore.json" -f $env:ProgramData Type: String
Accept pipeline input: False Parameter Sets: Shared
Accept wildcard characters: False Aliases:
```
Required: False
### -RemoteHost Position: Named
Specify the host, for which you would like to change the credentials. Default value: "{0}\PSCredentialStore\CredentialStore.json" -f $env:ProgramData
Accept pipeline input: False
```yaml Accept wildcard characters: False
Type: String ```
Parameter Sets: (All)
Aliases: ### -RemoteHost
Specify the host, for which you would like to change the credentials.
Required: True
Position: Named ```yaml
Default value: None Type: String
Accept pipeline input: False Parameter Sets: (All)
Accept wildcard characters: False Aliases:
```
Required: True
### -Shared Position: Named
Switch to shared mode with this param. Default value: None
This enforces the command to work with a shared CredentialStore which Accept pipeline input: False
can be decrypted across systems. Accept wildcard characters: False
```
```yaml
Type: SwitchParameter ### -Shared
Parameter Sets: Shared Switch to shared mode with this param.
Aliases: This enforces the command to work with a shared CredentialStore which
can be decrypted across systems.
Required: False
Position: Named ```yaml
Default value: False Type: SwitchParameter
Accept pipeline input: False Parameter Sets: Shared
Accept wildcard characters: False Aliases:
```
Required: False
### CommonParameters Position: Named
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). Default value: False
Accept pipeline input: False
## INPUTS Accept wildcard characters: False
```
### [None]
## OUTPUTS ### 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).
### [None]
## NOTES ## INPUTS
## RELATED LINKS ### [None]
## OUTPUTS
### [None]
## NOTES
## RELATED LINKS

View File

@ -1,107 +1,108 @@
--- ---
external help file: PSCredentialStore-help.xml external help file: ModuleRoot-help.xml
Module Name: PSCredentialStore Module Name: PSCredentialStore
schema: 2.0.0 online version:
--- schema: 2.0.0
---
# Use-CSCertificate
# Use-CSCertificate
## SYNOPSIS
Links an existing PFX Certificate to a CredentialStore. ## SYNOPSIS
Links an existing PFX Certificate to a CredentialStore.
## SYNTAX
## SYNTAX
### Private (Default)
``` ### Private (Default)
Use-CSCertificate -Path <String> [-UseCertStore] [<CommonParameters>] ```
``` Use-CSCertificate -Path <String> [-UseCertStore] [<CommonParameters>]
```
### Shared
``` ### Shared
Use-CSCertificate -Path <String> [-CredentialStore <String>] [-Shared] [-UseCertStore] [<CommonParameters>] ```
``` Use-CSCertificate -Path <String> [-CredentialStore <String>] [-Shared] [-UseCertStore] [<CommonParameters>]
```
## DESCRIPTION
Linking a certificate is needed if you plan to use the same CredentialStore in cross platform scenarios. ## DESCRIPTION
Linking a certificate is needed if you plan to use the same CredentialStore in cross platform scenarios.
## EXAMPLES
## EXAMPLES
### EXAMPLE 1
``` ### EXAMPLE 1
Use-CSCertificate -Path 'C:\cert.pfx' ```
``` Use-CSCertificate -Path 'C:\cert.pfx'
```
## PARAMETERS
## PARAMETERS
### -CredentialStore
Specify a custom path for a shared credential store. ### -CredentialStore
Specify a custom path for a shared credential store.
```yaml
Type: String ```yaml
Parameter Sets: Shared Type: String
Aliases: Parameter Sets: Shared
Aliases:
Required: False
Position: Named Required: False
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Path
Specify the path to the PFX Certificate you want to link for usage. ### -Path
Specify the path to the PFX Certificate you want to link for usage.
```yaml
Type: String ```yaml
Parameter Sets: (All) Type: String
Aliases: Parameter Sets: (All)
Aliases:
Required: True
Position: Named Required: True
Default value: None Position: Named
Accept pipeline input: False Default value: None
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -Shared
Use the credential store in shared mode. ### -Shared
Use the credential store in shared mode.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: Shared Type: SwitchParameter
Aliases: Parameter Sets: Shared
Aliases:
Required: True
Position: Named Required: True
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### -UseCertStore
Use the given certificate and import it into the corresponding certificate store. ### -UseCertStore
Use the given certificate and import it into the corresponding certificate store.
```yaml
Type: SwitchParameter ```yaml
Parameter Sets: (All) Type: SwitchParameter
Aliases: Parameter Sets: (All)
Aliases:
Required: False
Position: Named Required: False
Default value: False Position: Named
Accept pipeline input: False Default value: False
Accept wildcard characters: False Accept pipeline input: False
``` Accept wildcard characters: False
```
### 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). ### 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
## INPUTS
### [None]
## OUTPUTS ### [None]
## OUTPUTS
### [None]
## NOTES ### [None]
## NOTES
## RELATED LINKS
## RELATED LINKS

View File

@ -1,38 +0,0 @@
{
"Version": 0.1,
"Mandatory": {},
"Optional": [
{
"Name": "foobar2000",
"Modules": [
"foobar2000"
]
},
{
"Name": "foo",
"Modules": [
"foo",
"bar"
]
},
{
"Name": "bar",
"Modules": [
"bar"
]
},
{
"Name": "Existing",
"Modules": [
"PowerShellGet"
]
},
{
"Name": "PSGetMixed",
"Modules": [
"PowerShellGet",
"foobar2000"
]
}
]
}

View File

@ -66,7 +66,7 @@ function New-CSCertificate {
($PSVersionTable.PSEdition -eq 'Desktop' -and $PSVersionTable.PSVersion.Major -lt 6) -or ($PSVersionTable.PSEdition -eq 'Desktop' -and $PSVersionTable.PSVersion.Major -lt 6) -or
($IsWindows -eq $true) ($IsWindows -eq $true)
) { ) {
$openssl = Join-Path -Path $ModuleBase -ChildPath '/Vendor/libressl255/openssl.exe' $openssl = Join-Path -Path $ModuleBase -ChildPath '/Vendor/libressl/openssl.exe'
} }
$Env:OPENSSL_CONF = Join-Path $ModuleBase -ChildPath '/openssl.conf' $Env:OPENSSL_CONF = Join-Path $ModuleBase -ChildPath '/openssl.conf'

View File

@ -15,7 +15,16 @@ 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
@ -41,6 +50,9 @@ 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
@ -79,6 +91,7 @@ function Connect-To {
[Parameter(Mandatory = $true, ParameterSetName = 'Private')] [Parameter(Mandatory = $true, ParameterSetName = 'Private')]
[ValidateSet( [ValidateSet(
'CiscoUcs', 'CiscoUcs',
'CiscoUcsCentral',
'FTP', 'FTP',
'NetAppFAS', 'NetAppFAS',
'VMware', 'VMware',
@ -117,12 +130,6 @@ function Connect-To {
} }
} }
# First check the optional modules
if (-not (Resolve-Dependency -Name $Type)) {
Write-Error -Message (
"Could not resolve the optional dependencies defined for {0}" -f $Type
) -ErrorAction 'Stop'
}
switch ($Type) { switch ($Type) {
"VMware" { "VMware" {
# Disable the yellow certificate warning, since we haven't replaced the SSL certs for vCenter/ESXi # Disable the yellow certificate warning, since we haven't replaced the SSL certs for vCenter/ESXi
@ -189,6 +196,20 @@ 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,8 +14,17 @@ function Disconnect-From {
same hostname. same hostname.
.PARAMETER Type .PARAMETER Type
Specify the host type of the target. Currently implemented targets are: CiscoUcs, FTP, NetAppFAS, VMware, Specify the host type of the target. Currently implemented targets are:
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.
@ -64,6 +73,7 @@ function Disconnect-From {
[Parameter(Mandatory = $true)] [Parameter(Mandatory = $true)]
[ValidateSet( [ValidateSet(
'CiscoUcs', 'CiscoUcs',
'CiscoUcsCentral',
'FTP', 'FTP',
'NetAppFAS', 'NetAppFAS',
'VMware', 'VMware',
@ -85,10 +95,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'
} }
} }
@ -104,10 +114,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'
} }
} }
@ -171,10 +181,24 @@ 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 = @{
@ -206,6 +230,4 @@ function Disconnect-From {
} }
} }
} }
end {}
} }

View File

@ -102,7 +102,7 @@ Describe "New-CredentialStoreItem" {
It "Missing CredentialStore should throw" { It "Missing CredentialStore should throw" {
{ {
New-CredentialStoreItem -Shared -Path '/tmp/missingStore.json' -RemoteHost 'notrelevant' New-CredentialStoreItem -Shared -Path '/tmp/missingStore.json' -RemoteHost 'notrelevant'
} | Should -Throw "Could not add anything into the given CredentialStore." } | Should -Throw "The given credential store (/tmp/missingStore.json) does not exist!"
} }
} }
Context "Testing pipeline paramter" { Context "Testing pipeline paramter" {

View File

@ -32,7 +32,7 @@ function New-CredentialStoreItem {
[None] [None]
.EXAMPLE .EXAMPLE
New-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" New-CredentialStoreItem -Path 'C:\TMP\mystore.json' -RemoteHost esx01.myside.local'
#> #>
[CmdletBinding(DefaultParameterSetName = 'Private')] [CmdletBinding(DefaultParameterSetName = 'Private')]
@ -68,7 +68,7 @@ function New-CredentialStoreItem {
begin { begin {
# Set the CredentialStore for private, shared or custom mode. # Set the CredentialStore for private, shared or custom mode.
Write-Debug ("ParameterSetName: {0}" -f $PSCmdlet.ParameterSetName) Write-Debug ('ParameterSetName: {0}' -f $PSCmdlet.ParameterSetName)
if ($PSCmdlet.ParameterSetName -eq 'Private') { if ($PSCmdlet.ParameterSetName -eq 'Private') {
$Path = Get-DefaultCredentialStorePath $Path = Get-DefaultCredentialStorePath
} }
@ -84,9 +84,9 @@ function New-CredentialStoreItem {
if (-not(Test-CredentialStore -Shared -Path $Path)) { if (-not(Test-CredentialStore -Shared -Path $Path)) {
$MessageParams = @{ $MessageParams = @{
Exception = [System.IO.FileNotFoundException]::new( Exception = [System.IO.FileNotFoundException]::new(
'Could not add anything into the given CredentialStore.' 'The given credential store ({0}) does not exist!' -f $Path
) )
ErrorAction = "Stop" ErrorAction = 'Stop'
} }
Write-Error @MessageParams Write-Error @MessageParams
} }
@ -95,8 +95,8 @@ function New-CredentialStoreItem {
$CurrentDate = Get-Date -Format 'u' $CurrentDate = Get-Date -Format 'u'
if ($Identifier -ne "") { if ($Identifier -ne '') {
$CredentialName = $RemoteHost = "{0}/{1}" -f $Identifier, $RemoteHost $CredentialName = $RemoteHost = '{0}/{1}' -f $Identifier, $RemoteHost
} }
else { else {
$CredentialName = $RemoteHost $CredentialName = $RemoteHost

View File

@ -0,0 +1,130 @@
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
'PSAvoidUsingConvertToSecureStringWithPlainText',
'',
Justification = 'just used in pester tests.'
)]
[Diagnostics.CodeAnalysis.SuppressMessageAttribute(
'PSProvideCommentHelp',
'',
Justification = 'no need in internal pester helpers.'
)]
param ()
BeforeAll {
$ManifestFile = (Get-Item -Path './src/*.psd1').FullName
Import-Module $ManifestFile -Force
$PrivateFunctions = (Get-ChildItem -Path './src/Private/*.ps1' | Where-Object {
$_.BaseName -notmatch '.Tests'
}
).FullName
foreach ( $func in $PrivateFunctions) {
. $func
}
# Backup existing credential stores
$VerbosePreference = 'Continue'
Write-Verbose -Message 'Backup private Credential Store...'
$CSPath = Get-DefaultCredentialStorePath
$BackupFile = '{0}.back' -f $CSPath
if (Test-Path -Path $CSPath) {
Move-Item -Path $CSPath -Destination $BackupFile
}
Write-Verbose -Message 'Backup shared CredentialStore...'
$CSShared = Get-DefaultCredentialStorePath -Shared
$BackupSharedFile = '{0}.back' -f $CSShared
if (Test-Path -Path $CSShared) {
Move-Item -Path $CSShared -Destination $BackupSharedFile
}
Write-Verbose -Message 'Remove old CredentialStore in Temp dir'
$CSTemp = Join-Path -Path (Get-TempDir) -ChildPath '/CredentialStore.json'
if (Test-Path -Path $CSTemp) {
Remove-Item -Path $CSTemp
}
$VerbosePreference = 'SilentlyContinue'
}
Describe 'New-CredentialStoreItem' {
Context 'Private Credential Store tests' {
It 'Add entry to a private store.' {
# Create a fresh CredentialStore first
New-CredentialStore -Force
# Define the content of the CredentialStoreItem.
$RemoteHost = 'barfoo'
$UserName = 'MyUser'
$Password = 'fooobarysdfsfs' | ConvertTo-SecureString -AsPlainText -Force
# Form the CredentialObject.
$creds = [PSCredential]::new($UserName, $Password)
# Create the CredentialStoreItem.
New-CredentialStoreItem -RemoteHost $RemoteHost -Credential $creds
# Formulate an update to the CredentialStoreItem.
$ClearPassword = 'fooobaryadfafa'
$Password = $ClearPassword | ConvertTo-SecureString -AsPlainText -Force
$creds = [PSCredential]::new($UserName, $Password)
{
Set-CredentialStoreItem -RemoteHost $RemoteHost -Credential $creds
} | Should -Not -Throw
# Control the content of the CredentialStore.
$content = Get-CredentialStoreItem -RemoteHost $RemoteHost
$content.GetNetworkCredential().Password | Should -Be $ClearPassword
}
}
Context 'Shared Credential Store tests' {
It 'Add entry to a shared store.' {
# Create a fresh CredentialStore first
$tmpCS = Join-Path -Path (Get-TempDir) -ChildPath '/CredentialStore.json'
New-CredentialStore -Path $tmpCS -Force -Shared
# Define the content of the CredentialStoreItem.
$RemoteHost = 'barfoo'
$UserName = 'MyUser'
$Password = 'fooobarysdfsfs' | ConvertTo-SecureString -AsPlainText -Force
# Form the CredentialObject.
$creds = [PSCredential]::new($UserName, $Password)
# Create the CredentialStoreItem.
New-CredentialStoreItem -RemoteHost $RemoteHost -Credential $creds -Path $tmpCS -Shared
# Formulate an update to the CredentialStoreItem.
$ClearPassword = 'fooobaryadfafa'
$Password = $ClearPassword | ConvertTo-SecureString -AsPlainText -Force
$creds = [PSCredential]::new($UserName, $Password)
{
Set-CredentialStoreItem -RemoteHost $RemoteHost -Credential $creds -Path $tmpCS -Shared
} | Should -Not -Throw
# Control the content of the CredentialStore.
$content = Get-CredentialStoreItem -RemoteHost $RemoteHost -Path $tmpCS -Shared
$content.GetNetworkCredential().Password | Should -Be $ClearPassword
}
}
}
AfterAll {
# Cleanup test stores and restore existing ones.
$VerbosePreference = 'Continue'
Write-Verbose -Message 'Restoring private CredentialStore'
If (Test-Path -Path $BackupFile) {
If (Test-Path -Path $CSPath) {
Remove-Item -Path $CSPath
Move-Item -Path $BackupFile -Destination $CSPath
}
}
Write-Verbose -Message 'Restoring shared CredentialStore'
If (Test-Path -Path $BackupSharedFile) {
If (Test-Path -Path $CSShared) {
Remove-Item -Path $CSShared
Move-Item -Path $BackupSharedFile -Destination $CSShared
}
}
$VerbosePreference = 'SilentlyContinue'
}

View File

@ -13,7 +13,7 @@ function Set-CredentialStoreItem {
Specify the host you for which you would like to change the credentials. Specify the host you for which you would like to change the credentials.
.PARAMETER Identifier .PARAMETER Identifier
Defaults to "". Specify a string, which separates two CredentialStoreItems for the Defaults to ''. Specify a string, which separates two CredentialStoreItems for the
same hostname. same hostname.
.PARAMETER Shared .PARAMETER Shared
@ -30,10 +30,10 @@ function Set-CredentialStoreItem {
[None] [None]
.EXAMPLE .EXAMPLE
Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" Set-CredentialStoreItem -Path 'C:\TMP\mystore.json' -RemoteHost 'esx01.myside.local'
.EXAMPLE .EXAMPLE
Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" -Identifier svc Set-CredentialStoreItem -Path 'C:\TMP\mystore.json' -RemoteHost 'esx01.myside.local' -Identifier svc
#> #>
[CmdletBinding(DefaultParameterSetName = 'Private')] [CmdletBinding(DefaultParameterSetName = 'Private')]
@ -65,7 +65,7 @@ function Set-CredentialStoreItem {
begin { begin {
# Set the CredentialStore for private, shared or custom mode. # Set the CredentialStore for private, shared or custom mode.
Write-Debug ("ParameterSetName: {0}" -f $PSCmdlet.ParameterSetName) Write-Debug ('ParameterSetName: {0}' -f $PSCmdlet.ParameterSetName)
if ($PSCmdlet.ParameterSetName -eq 'Private') { if ($PSCmdlet.ParameterSetName -eq 'Private') {
$Path = Get-DefaultCredentialStorePath $Path = Get-DefaultCredentialStorePath
} }
@ -77,32 +77,52 @@ function Set-CredentialStoreItem {
} }
process { process {
# Lets do a quick test on the given CredentialStore. # Define the default splatting.
if (-not(Test-CredentialStore -Shared -Path $Path)) { $DefaultSplatting = @{
Path = $Path
}
# Check if the user passed -Shared. If he added -Shared, we'll pass it into the splatting
if ($PSBoundParameters.ContainsKey('Shared')) {
$DefaultSplatting.Add('Shared', $true)
}
else {
$DefaultSplatting.Add('Shared', $false)
}
# Now lets check the given CredentialStore.
if (-not(Test-CredentialStore @DefaultSplatting)) {
$MessageParams = @{ $MessageParams = @{
Message = 'Could not add anything into the given CredentailStore.' Message = ('The given CredentialStore ({0}) does no exist.' -f $Path)
ErrorAction = 'Stop' ErrorAction = 'Stop'
} }
Write-Error @MessageParams Write-Error @MessageParams
} }
# Read the file content based on the given ParameterSetName # Read the file content based on the given ParameterSetName
$CSContent = Get-CredentialStore -Shared -Path $Path $CSContent = Get-CredentialStore @DefaultSplatting
# Get a formatted current date for the last update time of the Item.
$CurrentDate = Get-Date -Format 'u' $CurrentDate = Get-Date -Format 'u'
if ($Identifier -ne "") { # Check if the user supplied an identifier. If so, we need to mangle the CredentialName, as that's where
$CredentialName = $RemoteHost = "{0}/{1}" -f $Identifier, $RemoteHost # the identifier is actually added.
if ($Identifier -ne '') {
$CredentialName = $RemoteHost = '{0}/{1}' -f $Identifier, $RemoteHost
} }
else { else {
$CredentialName = $RemoteHost $CredentialName = $RemoteHost
} }
# If the user didn't supply a CredentialObject, we need to prompt for it.
if (-not($Credential)) { if (-not($Credential)) {
$Credential = Get-Credential -Message $CredentialName $Credential = Get-Credential -Message $CredentialName
} }
if ($Credential.UserName) { # If the username isn't empty, we ca go ahead and update the entry.
if ($null -ne $Credential.UserName -and -not [string]::IsNullOrWhiteSpace($Credential.UserName)) {
# Check if the path to the PfxCertificate is stored in the CredentialStore. If so load the certificate.
# If not, load try loading the certificate from the Filepath of the CredentialStore.
if ($null -eq $CSContent.PfxCertificate) { if ($null -eq $CSContent.PfxCertificate) {
$Cert = Get-CSCertificate -Type $CSContent.Type -Thumbprint $CSContent.Thumbprint $Cert = Get-CSCertificate -Type $CSContent.Type -Thumbprint $CSContent.Thumbprint
} }
@ -110,13 +130,17 @@ function Set-CredentialStoreItem {
$Cert = Get-PfxCertificate -FilePath $CSContent.PfxCertificate -ErrorAction Stop $Cert = Get-PfxCertificate -FilePath $CSContent.PfxCertificate -ErrorAction Stop
} }
# Now locate the Item.
if (Get-Member -InputObject $CSContent -Name $CredentialName -MemberType Properties) { if (Get-Member -InputObject $CSContent -Name $CredentialName -MemberType Properties) {
# Get a random AES key for the entry.
$RSAKey = Get-RandomAESKey $RSAKey = Get-RandomAESKey
$CSContent.$CredentialName.User = $Credential.UserName $CSContent.$CredentialName.User = $Credential.UserName
$ConvertParams = @{ $ConvertParams = @{
SecureString = $Credential.Password SecureString = $Credential.Password
Key = $RSAKey Key = $RSAKey
} }
# Now create a updated item containing the updated credentials.
$CSContent.$CredentialName.Password = ConvertFrom-SecureString @ConvertParams $CSContent.$CredentialName.Password = ConvertFrom-SecureString @ConvertParams
$CSContent.$CredentialName.LastChange = $CurrentDate $CSContent.$CredentialName.LastChange = $CurrentDate
$CSContent.$CredentialName.EncryptedKey = [Convert]::ToBase64String( $CSContent.$CredentialName.EncryptedKey = [Convert]::ToBase64String(
@ -125,10 +149,15 @@ function Set-CredentialStoreItem {
[System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1 [System.Security.Cryptography.RSAEncryptionPadding]::Pkcs1
) )
) )
# Convert the CredentialStore back into JSON and save it to the file.
ConvertTo-Json -InputObject $CSContent -Depth 5 | Out-File -FilePath $Path -Encoding utf8 ConvertTo-Json -InputObject $CSContent -Depth 5 | Out-File -FilePath $Path -Encoding utf8
} }
else {
Write-Warning -Message ('Unable to locate CredentialStoreItem for {0}' -f $CredentialName)
}
} }
Else { else {
$MessageParams = @{ $MessageParams = @{
Message = 'Please Provide at least a valid user!' Message = 'Please Provide at least a valid user!'
ErrorAction = 'Stop' ErrorAction = 'Stop'

View File

@ -7,6 +7,10 @@ function Test-CredentialStoreItem {
Use this cmdlet for basic checks with a single item. Check the item first with this function before Use this cmdlet for basic checks with a single item. 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+`:
Test-CredentialStoreItem will return `$false` even if the store doesn't exist. We removed the terminating
error and replaced it with a warning message.
.PARAMETER Path .PARAMETER Path
Define a custom credential store you try to read from. Without the `-Path` parameter Define a custom credential store you try to read from. Without the `-Path` parameter
`Test-CredentialStoreItem` tries to read from the default private store. `Test-CredentialStoreItem` tries to read from the default private store.
@ -29,11 +33,11 @@ function Test-CredentialStoreItem {
[None] [None]
.EXAMPLE .EXAMPLE
if (Test-CredentialStoreItem -RemoteHost "Default") { if (Test-CredentialStoreItem -RemoteHost 'Default') {
Get-CredentialStoreItem -RemoteHost "Default" Get-CredentialStoreItem -RemoteHost 'Default'
} }
else { else {
Write-Warning ("The given Remote Host {0} does not exist in the credential Store!" -f $RemoteHost) Write-Warning ('The given Remote Host {0} does not exist in the credential Store!' -f $RemoteHost)
} }
#> #>
@ -41,7 +45,7 @@ function Test-CredentialStoreItem {
[OutputType([bool])] [OutputType([bool])]
param ( param (
[Parameter(Mandatory = $false, ParameterSetName = 'Shared')] [Parameter(Mandatory = $false, ParameterSetName = 'Shared')]
[string]$Path = "{0}\PSCredentialStore\CredentialStore.json" -f $env:ProgramData, [string]$Path = '{0}\PSCredentialStore\CredentialStore.json' -f $env:ProgramData,
[Parameter(Mandatory = $true)] [Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
@ -57,7 +61,7 @@ function Test-CredentialStoreItem {
begin { begin {
# Set the CredentialStore for private, shared or custom mode. # Set the CredentialStore for private, shared or custom mode.
Write-Debug ("ParameterSetName: {0}" -f $PSCmdlet.ParameterSetName) Write-Debug ('ParameterSetName: {0}' -f $PSCmdlet.ParameterSetName)
if ($PSCmdlet.ParameterSetName -eq 'Private') { if ($PSCmdlet.ParameterSetName -eq 'Private') {
$Path = Get-DefaultCredentialStorePath $Path = Get-DefaultCredentialStorePath
} }
@ -69,8 +73,8 @@ function Test-CredentialStoreItem {
} }
process { process {
if ($Identifier -ne "") { if ($Identifier -ne '') {
$CredentialName = $RemoteHost = "{0}/{1}" -f $Identifier, $RemoteHost $CredentialName = $RemoteHost = '{0}/{1}' -f $Identifier, $RemoteHost
} }
else { else {
$CredentialName = $RemoteHost $CredentialName = $RemoteHost
@ -88,10 +92,10 @@ function Test-CredentialStoreItem {
} }
else { else {
$MsgParams = @{ $MsgParams = @{
ErrorAction = 'Stop' Message = 'The given credential store ({0}) does not exist!' -f $Path
Message = "The given credential store ({0}) does not exist!" -f $Path
} }
Write-Error @MsgParams Write-Warning @MsgParams
return $false
} }
} }

View File

@ -143,7 +143,32 @@
# RequireLicenseAcceptance = $false # RequireLicenseAcceptance = $false
# External dependent modules of this module # External dependent modules of this module
# ExternalModuleDependencies = @() ExternalModuleDependencies = @(
@{
ModuleName = 'VMware.VimAutomation.Core'
ModuleVersion = '12.7.0.20091293'
},
@{
ModuleName = 'VMware.VimAutomation.Cis.Core'
ModuleVersion = '12.6.0.19601368'
},
@{
ModuleName = 'Cisco.UCS.Common'
ModuleVersion = '3.0.1.2'
},
@{
ModuleName = 'Cisco.UCSManager'
ModuleVersion = '3.0.1.2'
},
@{
ModuleName = 'WinSCP'
ModuleVersion = '5.17.8.1'
},
@{
ModuleName = 'NetApp.ONTAP'
ModuleVersion = '9.10.1.2111'
}
)
} # End of PSData hashtable } # End of PSData hashtable

View File

@ -1,60 +0,0 @@
BeforeAll {
$ManifestFile = (Get-Item -Path "./src/*.psd1").FullName
Import-Module $ManifestFile -Force
$PrivateFunctions = (Get-ChildItem -Path "./src/Private/*.ps1" | Where-Object {
$_.BaseName -notmatch '.Tests'
}
).FullName
foreach ( $func in $PrivateFunctions) {
. $func
}
}
Describe "Resolve-Dependency" {
Context "Basic syntax check" {
BeforeAll {
Mock Get-ModuleBase {
return (Join-Path -Path $PWD -ChildPath '/resources')
}
Mock Test-Module {
return $true
}
}
It "Test1: Should not throw" {
{ Resolve-Dependency -Name 'foobar2000' } | Should -Not -Throw
}
It "Test2: Output type should be bool" {
Resolve-Dependency -Name 'foobar2000' | Should -BeOfType bool
}
}
Context "Enforce Error" {
# Return incorrect module base to enforce there is no config file.
Mock Get-ModuleBase {
if ($IsWindows) { return "C:\" }
elseif ($isLinux) { return "/" }
}
It "Missing dependency file should not cause an error" {
{ Resolve-Dependency -Name 'awesome' } | Should -Not -Throw
}
It "Missing dependency file should return true" {
Resolve-Dependency -Name 'awesome' | Should -Be $true
}
}
Context "Testing input variations" {
It "Should return true if all given dependencies exist" {
Mock Get-ModuleBase {
return (Join-Path -Path $PWD -ChildPath '/resources')
}
Resolve-Dependency -Name 'Existing' | Should -Be $true
}
It "Mixed results should return false" {
Mock Get-ModuleBase {
return (Join-Path -Path $PWD -ChildPath '/resources')
}
Resolve-Dependency -Name 'PSGetMixed' | Should -Be $false
}
}
}

View File

@ -1,87 +0,0 @@
function Resolve-Dependency {
<#
.SYNOPSIS
Tests defined optional dependencies and returns the result as bool.
.DESCRIPTION
Use this function to test for optional modules. You can use it if you provide functions which needs special
modules but you don't want to make them required.
Place a file called Dependency.json in your module root dir. The default format is:
{
"Version": 0.1,
"Mandatory": {},
"Optional": [
{
"Name": "VMware",
"Modules": [
"VMware.VimAutomation.Core"
]
},
{
"Name": "CiscoUCS",
"Modules": []
}
]
}
.PARAMETER Name
Select the dependency item name you defined in the dependency.json.
.INPUTS
[None]
.OUTPUTS
[bool]
.EXAMPLE
If (-not (Resolve-Dependency -Name 'VMware')) {
Write-Error -Message (
"Could not resolve the optional dependencies defined for {0}" -f 'VMware'
) -ErrorAction 'Stop'
}
#>
[OutputType([bool])]
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$Name
)
begin {
$ModuleRootDir = Get-ModuleBase
$DepFilePath = Join-Path -Path $ModuleRootDir -ChildPath "Dependency.json"
if (Test-Path -Path $DepFilePath) {
$Dependency = Get-Content -Path $DepFilePath -Raw -Encoding UTF8 | ConvertFrom-Json
}
else {
Write-Warning ("Could not find the dependency file: {0}" -f $DepFilePath)
}
}
process {
# ScriptAnalyzer issue workaround (unused var)
$null = $Name
$SelectedDependency = $Dependency.Optional | Where-Object { $_.Name -match $Name }
# return true if there is no dependency defined
if ($null -eq $SelectedDependency) {
return $true
}
$res = @()
foreach ($Module in $SelectedDependency.Modules) {
$res += Test-Module -Name $Module
}
# return false if there was not module at all
if (($res -contains $false) -or ($res.Count -eq 0)) {
return $false
}
else {
return $true
}
}
end {}
}

BIN
src/Vendor/libressl/openssl.exe (Stored with Git LFS) vendored Normal file

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libcrypto-41.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libssl-43.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.dll (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.exp (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.lib (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/libtls-15.pdb (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/ocspcheck.exe (Stored with Git LFS) vendored

Binary file not shown.

BIN
src/Vendor/libressl255/openssl.exe (Stored with Git LFS) vendored

Binary file not shown.