From 599232ecec709db6ff17d1376951a0f301679216 Mon Sep 17 00:00:00 2001 From: Marco Blessing Date: Mon, 23 Oct 2017 10:53:52 +0200 Subject: [PATCH] Implements CisServer connection handling (#10) ### fixes #8 - gh deployment for dev branch removed - duplicate deployment. - see appveyor artifacts. - installation of dependencies moved to ps function - modularize PSGallery Deployment branch - update platPS docs - enable private build - Implements ConnectionType CisServer (#9) --- README.md | 3 ++ appveyor.yml | 41 +++++++++++++------------ docs/Connect-To.md | 29 ++++++++++++++--- docs/Disconnect-From.md | 18 ++++++++--- docs/Get-CredentialStore.md | 2 ++ docs/Get-CredentialStoreItem.md | 2 ++ docs/New-CredentialStore.md | 2 ++ docs/New-CredentialStoreItem.md | 2 ++ docs/Remove-CredentialStoreItem.md | 2 ++ docs/Set-CredentialStoreItem.md | 2 ++ docs/Test-CredentialStore.md | 2 ++ docs/Test-CredentialStoreItem.md | 2 ++ docs/about_PSCredentialStore.md | 5 ++- src/ChallengeFile/Get-ChallengeFile.ps1 | 3 +- src/Connection/Connect-To.ps1 | 30 ++++++++++++++++-- src/Connection/Disconnect-From.ps1 | 37 +++++++++++++++++----- src/Dependency.json | 6 ++++ src/Helper/Get-RandomKey.ps1 | 2 ++ src/Helper/Resolve-Dependency.ps1 | 2 ++ src/Helper/Test-Module.ps1 | 2 ++ src/Item/Get-CredentialStoreItem.ps1 | 3 +- src/Item/New-CredentialStoreItem.ps1 | 3 +- src/Item/Remove-CredentialStoreItem.ps1 | 2 ++ src/Item/Set-CredentialStoreItem.ps1 | 2 ++ src/Item/Test-CredentialStoreItem.ps1 | 2 ++ src/Store/Get-CredentialStore.ps1 | 3 +- src/Store/New-CredentialStore.ps1 | 3 +- src/Store/Test-CredentialStore.ps1 | 3 +- tools/AppVeyor.psm1 | 32 ++++++++++++++++++- 29 files changed, 200 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 20c3c7a..0f2472b 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,8 @@ If you have already installed the underlying framework / modules, you can connec * Required Modules: [`DataONTAP`](http://mysupport.netapp.com/tools/info/ECMLP2310788I.html?productID=61926) * **VMware** - Establish a connection to a VMware vCenter or ESXi host. * Required Modules: [`VMware.VimAutomation.Core`](https://www.powershellgallery.com/packages/VMware.PowerCLI) +* **CisServer** - Establish a connection to the CisServer Service on vCenter Host. + * Required Modules: [`VMware.VimAutomation.Cis.Core`](https://www.powershellgallery.com/packages/VMware.PowerCLI) Here are some basic examples: @@ -81,4 +83,5 @@ Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs Connect-To -RemoteHost "ftp.myside.local" -Type FTP Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS Connect-To -RemoteHost "esx01.myside.local" -Type VMware +Connect-To -RemoteHost "vcr.myside.local" -Type CisServer ``` diff --git a/appveyor.yml b/appveyor.yml index ea07ece..c009088 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -14,15 +14,8 @@ image: Visual Studio 2017 # Install pester module and init the Appveyor support. install: - - ps: Install-PackageProvider -Name NuGet -MinimumVersion '2.8.5.201' -Force -Verbose - - ps: Import-PackageProvider NuGet -MinimumVersion '2.8.5.201' -Force - - ps: Install-Module -Name 'Pester' -Scope CurrentUser -Force -SkipPublisherCheck -AllowClobber - - ps: Update-Module 'Pester' - - ps: Install-Module -Name 'posh-git' -Scope CurrentUser -Force -SkipPublisherCheck -AllowClobber - - ps: Update-Module 'posh-git' - - ps: Install-Module -Name 'PSCoverage' -Scope CurrentUser -Force -SkipPublisherCheck -AllowClobber - - ps: Import-Module 'PSCoverage' - ps: Import-Module .\tools\AppVeyor.psm1 + - ps: Invoke-InstallDependencies -Verbose environment: NuGetToken: @@ -42,15 +35,23 @@ test_script: - ps: Invoke-AppVeyorTests - ps: Invoke-CoverageReport -#deploy: -# - provider: GitHub -# auth_token: -# secure: M+bBX5/nKdJB0eViP7xtrLVTwf3vGDUA9N2MMprZp2i+9ZR3CBVcJnSzJWUmalhB -# artifact: PSCredentialStore.zip # upload all NuGet packages to release assets -# draft: false -# prerelease: true -# on: -# branch: master # release from master branch only -# -#after_deploy: -# - ps: Invoke-AppVeyorPSGallery +deploy: + #- provider: GitHub + # auth_token: + # secure: M+bBX5/nKdJB0eViP7xtrLVTwf3vGDUA9N2MMprZp2i+9ZR3CBVcJnSzJWUmalhB + # artifact: PSCredentialStore.zip # upload all NuGet packages to release assets + # draft: true + # prerelease: true + # on: + # branch: dev + - provider: GitHub + auth_token: + secure: M+bBX5/nKdJB0eViP7xtrLVTwf3vGDUA9N2MMprZp2i+9ZR3CBVcJnSzJWUmalhB + artifact: PSCredentialStore.zip # upload all NuGet packages to release assets + draft: false + prerelease: false + on: + branch: master # release from master branch only + +after_deploy: + - ps: Invoke-AppVeyorPSGallery -OnBranch 'master' diff --git a/docs/Connect-To.md b/docs/Connect-To.md index 34d42fc..01277b5 100644 --- a/docs/Connect-To.md +++ b/docs/Connect-To.md @@ -34,12 +34,28 @@ Establish a connection to the selected host using a stored CredentialStoreItem. Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs ``` -Connect-To -RemoteHost "ftp.myside.local" -Type FTP -Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS -Connect-To -RemoteHost "esx01.myside.local" -Type VMware - ### -------------------------- EXAMPLE 2 -------------------------- ``` +Connect-To -RemoteHost "ftp.myside.local" -Type FTP +``` + +### -------------------------- EXAMPLE 3 -------------------------- +``` +Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS +``` + +### -------------------------- EXAMPLE 4 -------------------------- +``` +Connect-To -RemoteHost "esx01.myside.local" -Type VMware +``` + +### -------------------------- EXAMPLE 5 -------------------------- +``` +Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer +``` + +### -------------------------- EXAMPLE 6 -------------------------- +``` $MyCreds = Get-Credential ``` @@ -88,6 +104,7 @@ Currently implemented targets are: - FTP Establish a connection to a FTP host. - NetAppFAS Establish a connection to a NetApp Clustered ONTAP filer. - VMware Establish a connection to a VMware vCenter or ESXi host. + - CisServer Establish a connection to a Vmware CisServer. ```yaml Type: String @@ -164,9 +181,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES +\`\`\` File Name : Connect-To.ps1 Author : Marco Blessing - marco.blessing@googlemail.com -Requires : PSFTP, PowerCLI +Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Disconnect-From.md b/docs/Disconnect-From.md index c54f2f9..dda7e88 100644 --- a/docs/Disconnect-From.md +++ b/docs/Disconnect-From.md @@ -46,6 +46,11 @@ Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware -Force:$True ``` +### -------------------------- EXAMPLE 6 -------------------------- +``` +Disconnect-From -RemoteHost "vcenter.myside.local" -Type CisServer +``` + ## PARAMETERS ### -RemoteHost @@ -66,10 +71,11 @@ Accept wildcard characters: False ### -Type Specify the host type of the target. Currently implemented targets are: - - CiscoUcs Establish a connection to a Cisco UCS Fabric Interconnect. - - FTP Establish a connection to a FTP host. - - NetAppFAS Establish a connection to a NetApp Clustered ONTAP filer. - - VMware Establish a connection to a VMware vCenter or ESXi host. + - CiscoUcs Terminates the connection from a Cisco UCS Fabric Interconnect. + - FTP Terminates the connection from a FTP host. + - NetAppFAS Terminates the connection from a NetApp Clustered ONTAP filer. + - VMware Terminates the connection from a VMware vCenter or ESXi host. + - CisServer Terminates the connection from a Vmware CisServer. ```yaml Type: String @@ -110,9 +116,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES -File Name : Disconnect-To.ps1 +\`\`\` +File Name : Disconnect-From.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Get-CredentialStore.md b/docs/Get-CredentialStore.md index b175055..dc32b47 100644 --- a/docs/Get-CredentialStore.md +++ b/docs/Get-CredentialStore.md @@ -82,9 +82,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [PSObject] Returns the credential store content as PSObject. ## NOTES +\`\`\` File Name : Get-CredentialStore.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Get-CredentialStoreItem.md b/docs/Get-CredentialStoreItem.md index b0f4095..bd1c5cf 100644 --- a/docs/Get-CredentialStoreItem.md +++ b/docs/Get-CredentialStoreItem.md @@ -112,9 +112,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [System.Management.Automation.PSCredential] ## NOTES +\`\`\` File Name : Get-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/New-CredentialStore.md b/docs/New-CredentialStore.md index b0f4095..bd1c5cf 100644 --- a/docs/New-CredentialStore.md +++ b/docs/New-CredentialStore.md @@ -112,9 +112,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [System.Management.Automation.PSCredential] ## NOTES +\`\`\` File Name : Get-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/New-CredentialStoreItem.md b/docs/New-CredentialStoreItem.md index 0ad01f7..eb5a7ff 100644 --- a/docs/New-CredentialStoreItem.md +++ b/docs/New-CredentialStoreItem.md @@ -130,9 +130,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES +\`\`\` File Name : New-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Remove-CredentialStoreItem.md b/docs/Remove-CredentialStoreItem.md index 005b52c..7f0f540 100644 --- a/docs/Remove-CredentialStoreItem.md +++ b/docs/Remove-CredentialStoreItem.md @@ -113,9 +113,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES +\`\`\` File Name : Remove-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Set-CredentialStoreItem.md b/docs/Set-CredentialStoreItem.md index 80b1b02..9f15422 100644 --- a/docs/Set-CredentialStoreItem.md +++ b/docs/Set-CredentialStoreItem.md @@ -113,9 +113,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES +\`\`\` File Name : Set-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Test-CredentialStore.md b/docs/Test-CredentialStore.md index 80756f6..de4f824 100644 --- a/docs/Test-CredentialStore.md +++ b/docs/Test-CredentialStore.md @@ -78,9 +78,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ## OUTPUTS ## NOTES +\`\`\` File Name : Test-CredentialStore.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/Test-CredentialStoreItem.md b/docs/Test-CredentialStoreItem.md index 5a71c58..bccadf3 100644 --- a/docs/Test-CredentialStoreItem.md +++ b/docs/Test-CredentialStoreItem.md @@ -121,9 +121,11 @@ This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable ### [None] ## NOTES +\`\`\` File Name : Test-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : +\`\`\` ## RELATED LINKS diff --git a/docs/about_PSCredentialStore.md b/docs/about_PSCredentialStore.md index 8a11b43..6b1b11f 100644 --- a/docs/about_PSCredentialStore.md +++ b/docs/about_PSCredentialStore.md @@ -70,15 +70,18 @@ If you have already installed the underlying framework your can connect to: * Required Modules: [`DataONTAP`](http://mysupport.netapp.com/tools/info/ECMLP2310788I.html?productID=61926) * **VMware** - Establish a connection to a VMware vCenter or ESXi host. * Required Modules: [`VMware.VimAutomation.Core`](https://www.powershellgallery.com/packages/VMware.PowerCLI) +* **CisServer** - Establish a connection to the CisServer Service on vCenter Host. + * Required Modules: [`VMware.VimAutomation.Cis.Core`](https://www.powershellgallery.com/packages/VMware.PowerCLI)) # EXAMPLES + ```powershell Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs Connect-To -RemoteHost "ftp.myside.local" -Type FTP Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS Connect-To -RemoteHost "esx01.myside.local" -Type VMware +Connect-To -RemoteHost "vcr.myside.local" -Type CisServer ``` - # NOTE diff --git a/src/ChallengeFile/Get-ChallengeFile.ps1 b/src/ChallengeFile/Get-ChallengeFile.ps1 index e4062f0..b5af369 100644 --- a/src/ChallengeFile/Get-ChallengeFile.ps1 +++ b/src/ChallengeFile/Get-ChallengeFile.ps1 @@ -19,10 +19,11 @@ function Get-ChallengeFile { .\Get-RandomKey -Path "C:\TMP\Challenge.bin" .NOTES + ``` File Name : Get-ChallengeFile.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/src/Connection/Connect-To.ps1 b/src/Connection/Connect-To.ps1 index 740ee6a..de92e5c 100644 --- a/src/Connection/Connect-To.ps1 +++ b/src/Connection/Connect-To.ps1 @@ -19,6 +19,7 @@ function Connect-To { - FTP Establish a connection to a FTP host. - NetAppFAS Establish a connection to a NetApp Clustered ONTAP filer. - VMware Establish a connection to a VMware vCenter or ESXi host. + - CisServer Establish a connection to a Vmware CisServer. .PARAMETER Credentials Use this parameter to bypass the stored credentials. Without this parameter Connect-To tries to read the @@ -40,10 +41,19 @@ function Connect-To { .EXAMPLE Connect-To -RemoteHost "ucs.myside.local" -Type CiscoUcs + + .EXAMPLE Connect-To -RemoteHost "ftp.myside.local" -Type FTP + + .EXAMPLE Connect-To -RemoteHost "fas.myside.local" -Type NetAppFAS + + .EXAMPLE Connect-To -RemoteHost "esx01.myside.local" -Type VMware + .EXAMPLE + Connect-To -RemoteHost "vCenter.myside.local" -Type CisServer + .EXAMPLE $MyCreds = Get-Credential Connect-To -RemoteHost "vcr01.myside.local" -Type VMware -Credentials $MyCreds @@ -51,9 +61,11 @@ function Connect-To { Disconnect-From -RemoteHost "vcr01.myside.local" -Type VMware .NOTES + ``` File Name : Connect-To.ps1 Author : Marco Blessing - marco.blessing@googlemail.com - Requires : PSFTP, PowerCLI + Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore @@ -70,7 +82,7 @@ function Connect-To { [Parameter(Mandatory = $true, ParameterSetName = "Shared")] [Parameter(Mandatory = $true, ParameterSetName = "Private")] - [ValidateSet("CiscoUcs", "FTP", "NetAppFAS", "VMware")] + [ValidateSet("CiscoUcs", "FTP", "NetAppFAS", "VMware", "CisServer")] [String]$Type, [Parameter(Mandatory = $False, ParameterSetName = "Shared")] @@ -199,6 +211,20 @@ function Connect-To { Write-Error @MessageParams } } + "CisServer" { + try { + Connect-CisServer -Server $RemoteHost -Credential $creds -ErrorAction Stop | Out-Null + } + + catch { + # Write a error message to the log. + $MessageParams = @{ + Message = "Unable to connect to {0} using Type {1}." -f $RemoteHost, $Type + ErrorAction = "Stop" + } + Write-Error @MessageParams + } + } default { # Write a error message to the log. $MessageParams = @{ diff --git a/src/Connection/Disconnect-From.ps1 b/src/Connection/Disconnect-From.ps1 index 8fa8c2b..b67686a 100644 --- a/src/Connection/Disconnect-From.ps1 +++ b/src/Connection/Disconnect-From.ps1 @@ -15,11 +15,11 @@ function Disconnect-From { .PARAMETER Type Specify the host type of the target. Currently implemented targets are: - - CiscoUcs Establish a connection to a Cisco UCS Fabric Interconnect. - - FTP Establish a connection to a FTP host. - - NetAppFAS Establish a connection to a NetApp Clustered ONTAP filer. - - VMware Establish a connection to a VMware vCenter or ESXi host. - + - CiscoUcs Terminates the connection from a Cisco UCS Fabric Interconnect. + - FTP Terminates the connection from a FTP host. + - NetAppFAS Terminates the connection from a NetApp Clustered ONTAP filer. + - VMware Terminates the connection from a VMware vCenter or ESXi host. + - CisServer Terminates the connection from a Vmware CisServer. .PARAMETER Force Force the disconnect, even if the disconnect would fail. @@ -44,10 +44,15 @@ function Disconnect-From { .EXAMPLE Disconnect-From -RemoteHost "esx01.myside.local" -Type VMware -Force:$True + .EXAMPLE + Disconnect-From -RemoteHost "vcenter.myside.local" -Type CisServer + .NOTES - File Name : Disconnect-To.ps1 + ``` + File Name : Disconnect-From.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore @@ -59,7 +64,7 @@ function Disconnect-From { [string]$RemoteHost, [Parameter(Mandatory = $true)] - [ValidateSet("CiscoUcs", "FTP", "NetAppFAS", "VMware")] + [ValidateSet("CiscoUcs", "FTP", "NetAppFAS", "VMware", "CisServer")] [string]$Type, [Parameter(Mandatory = $false)] @@ -85,7 +90,25 @@ function Disconnect-From { } Write-Error @MessageParams } + } + "CisServer" { + try { + if ($Force) { + Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop -Force:$true + } + else { + Disconnect-CisServer -Server $RemoteHost -Confirm:$false -ErrorAction Stop + } + } + catch { + # Write a error message to the log. + $MessageParams = @{ + Message = "Unable to disconnect from {0} using Type {1}." -f $RemoteHost, $Type + ErrorAction = "Stop" + } + Write-Error @MessageParams + } } # Check for an existing WinSCP Session var "FTP" { diff --git a/src/Dependency.json b/src/Dependency.json index d76a42f..865f246 100644 --- a/src/Dependency.json +++ b/src/Dependency.json @@ -26,6 +26,12 @@ "Modules": [ "DataONTAP" ] + }, + { + "Name": "CisServer", + "Modules": [ + "VMware.VimAutomation.Cis.Core" + ] } ] } diff --git a/src/Helper/Get-RandomKey.ps1 b/src/Helper/Get-RandomKey.ps1 index b1ea7e3..206f400 100644 --- a/src/Helper/Get-RandomKey.ps1 +++ b/src/Helper/Get-RandomKey.ps1 @@ -19,9 +19,11 @@ function Get-RandomKey { .\Get-RandomKey -Size 24 .NOTES + ``` File Name : Get-RandomKey.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Helper/Resolve-Dependency.ps1 b/src/Helper/Resolve-Dependency.ps1 index 9d76571..1687275 100644 --- a/src/Helper/Resolve-Dependency.ps1 +++ b/src/Helper/Resolve-Dependency.ps1 @@ -40,9 +40,11 @@ function Resolve-Dependency { } .NOTES + ``` File Name : ResolveDependency.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Helper/Test-Module.ps1 b/src/Helper/Test-Module.ps1 index 7f18f95..75d7720 100644 --- a/src/Helper/Test-Module.ps1 +++ b/src/Helper/Test-Module.ps1 @@ -34,9 +34,11 @@ function Test-Module { .\Test-Dependency -Name 'VMware.PowerCLI' -Type 'Module' -StopIfFails .NOTES + ``` File Name : Get-RandomKey.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Item/Get-CredentialStoreItem.ps1 b/src/Item/Get-CredentialStoreItem.ps1 index 4236c50..52ad70a 100644 --- a/src/Item/Get-CredentialStoreItem.ps1 +++ b/src/Item/Get-CredentialStoreItem.ps1 @@ -31,10 +31,11 @@ function Get-CredentialStoreItem { $myCreds = Get-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" .NOTES + ``` File Name : Get-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/src/Item/New-CredentialStoreItem.ps1 b/src/Item/New-CredentialStoreItem.ps1 index b643659..e431c01 100644 --- a/src/Item/New-CredentialStoreItem.ps1 +++ b/src/Item/New-CredentialStoreItem.ps1 @@ -31,10 +31,11 @@ function New-CredentialStoreItem { New-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" .NOTES + ``` File Name : New-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/src/Item/Remove-CredentialStoreItem.ps1 b/src/Item/Remove-CredentialStoreItem.ps1 index b82cd27..00f21b2 100644 --- a/src/Item/Remove-CredentialStoreItem.ps1 +++ b/src/Item/Remove-CredentialStoreItem.ps1 @@ -31,9 +31,11 @@ function Remove-CredentialStoreItem { Remove-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" -Identifier svc .NOTES + ``` File Name : Remove-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Item/Set-CredentialStoreItem.ps1 b/src/Item/Set-CredentialStoreItem.ps1 index 6f35fe8..7cbcb28 100644 --- a/src/Item/Set-CredentialStoreItem.ps1 +++ b/src/Item/Set-CredentialStoreItem.ps1 @@ -30,9 +30,11 @@ function Set-CredentialStoreItem { Set-CredentialStoreItem -Path "C:\TMP\mystore.json" -RemoteHost "esx01.myside.local" -Identifier svc .NOTES + ``` File Name : Set-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Item/Test-CredentialStoreItem.ps1 b/src/Item/Test-CredentialStoreItem.ps1 index 56e9c9d..692befb 100644 --- a/src/Item/Test-CredentialStoreItem.ps1 +++ b/src/Item/Test-CredentialStoreItem.ps1 @@ -37,9 +37,11 @@ function Test-CredentialStoreItem() { } .NOTES + ``` File Name : Test-CredentialStoreItem.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : + ``` .LINK https://github.com/OCram85/PSCredentialStore diff --git a/src/Store/Get-CredentialStore.ps1 b/src/Store/Get-CredentialStore.ps1 index 8828d92..8e26930 100644 --- a/src/Store/Get-CredentialStore.ps1 +++ b/src/Store/Get-CredentialStore.ps1 @@ -25,10 +25,11 @@ function Get-CredentialStore { $CSContent = Get-CredentialStore -Path "C:\TMP\mystore.json" .NOTES + ``` File Name : Get-CredentialStore.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/src/Store/New-CredentialStore.ps1 b/src/Store/New-CredentialStore.ps1 index 6bbe19f..a688f2d 100644 --- a/src/Store/New-CredentialStore.ps1 +++ b/src/Store/New-CredentialStore.ps1 @@ -41,10 +41,11 @@ function New-CredentialStore { # Creates a new shared CredentialStore in the given location. .NOTES + ``` File Name : New-CredentialStore.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/src/Store/Test-CredentialStore.ps1 b/src/Store/Test-CredentialStore.ps1 index cf72109..34101c3 100644 --- a/src/Store/Test-CredentialStore.ps1 +++ b/src/Store/Test-CredentialStore.ps1 @@ -15,10 +15,11 @@ function Test-CredentialStore { can be decrypted across systems. .NOTES + ``` File Name : Test-CredentialStore.ps1 Author : Marco Blessing - marco.blessing@googlemail.com Requires : - + ``` .LINK https://github.com/OCram85/PSCredentialStore #> diff --git a/tools/AppVeyor.psm1 b/tools/AppVeyor.psm1 index 58f916d..de78763 100644 --- a/tools/AppVeyor.psm1 +++ b/tools/AppVeyor.psm1 @@ -9,6 +9,32 @@ $CALLSIGN = 'PSCredentialStore' Write-Host ("Callsign is: {0}" -f $CALLSIGN) -ForegroundColor Yellow + +Function Invoke-InstallDependencies() { + [CmdletBinding()] + Param() + + Process { + Try { + Install-PackageProvider -Name NuGet -RequiredVersion '2.8.5.208' -Force -Verbose + Import-PackageProvider -Name NuGet -RequiredVersion '2.8.5.208' -Force + Install-Module -Name 'Pester' -Scope CurrentUser -RequiredVersion '4.0.8' -Force -SkipPublisherCheck -AllowClobber + Install-Module -Name 'posh-git' -Scope CurrentUser -RequiredVersion '0.7.1' -Force -SkipPublisherCheck -AllowClobber + Install-Module -Name 'PSCoverage' -Scope CurrentUser -Force -SkipPublisherCheck -AllowClobber + Import-Module -Name 'Pester', 'posh-git', 'PSCoverage' + } + Catch { + $MsgParams = @{ + Message = 'Could not install the required dependencies!' + Category = 'Error' + Details = $_.Exception.Message + } + Add-AppveyorMessage @MsgParams + Throw $MsgParams.Message + } + + } +} Function Invoke-AppVeyorBumpVersion() { [CmdletBinding()] Param() @@ -138,7 +164,11 @@ Function Invoke-CoverageReport() { Function Invoke-AppVeyorPSGallery() { [CmdletBinding()] - Param() + Param( + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [String]$OnBranch + ) Expand-Archive -Path (".\bin\{0}.zip" -f $CALLSIGN) -DestinationPath ("C:\Users\appveyor\Documents\WindowsPowerShell\Modules\{0}\" -f $CALLSIGN) -Verbose Import-Module -Name $CALLSIGN -Verbose -Force Write-Host "Available Package Provider:" -ForegroundColor Yellow