diff --git a/HPOneView.120.format.ps1xml b/HPOneView.120.format.ps1xml
deleted file mode 100644
index 9a733f1..0000000
--- a/HPOneView.120.format.ps1xml
+++ /dev/null
@@ -1,327 +0,0 @@
-
-
-
-
- connections
-
- HPOneView.Profile.Connection
-
-
-
-
-
- 2
- Left
-
-
-
- 12
- Left
-
-
-
- 30
- Left
-
-
-
- 12
- Left
-
-
-
- 10
- Left
-
-
-
- 20
- Left
-
-
-
- 10
- Left
-
-
-
- 32
- Left
-
-
-
-
-
-
- id
-
-
- functionType
-
-
- $profileCache[$_.networkUri]
-
-
- "{0} Gbps" -f ($_.requestedMbps / 1000)
-
-
- "{0} Gbps" -f ($_.maximumMbps / 1000)
-
-
- $bootSetting = @()
- $bootSetting += $_.boot.priority
- if ($_.boot.targets) {
-
- for ($i=0; $i -eq $boot.targets.count; $i++) { $bootSetting += "WWN $($_.boot.targets[$i].arrayWwpn)`nLUN $($_.boot.targets[$i].lun)" }
-
- }
- elseif ($_.functionType -eq "FibreChannel" -and -not ($_.boot.priority -eq "NotBootable") -and -not ($_.boot.targets)) { $bootSetting += "(Use Adapter BIOS)" }
- $bootSettingString = $bootSetting | Out-String | % { $_ -replace '^\s+|\s+$' }
- $bootSettingString
-
-
- portId
-
-
- $address = @()
-
- if ($_.macType -eq "Virtual" -and $_.mac) { $address += "MAC $($_.mac) (V)" }
- elseif ($_.macType -eq "Physical" -and $_.mac) { $address += "MAC $($_.mac) (p)" }
-
- if ($_.wwpnType -eq "Virtual" -and $_.wwnn) { $address += "WWNN $($_.wwnn) (v)"}
- elseif ($_.wwpnType -eq "Physical" -and $_.wwnn) { $address += "WWNN $($_.wwnn) (p)" }
-
- if ($_.wwpnType -eq "Virtual" -and $_.wwpn) { $address += "WWPN $($_.wwpn) (v)"}
- elseif ($_.wwpnType -eq "Physical" -and $_.wwpn) { $address += "WWPN $($_.wwpn) (p)" }
-
- $address | Out-String | % { $_ -replace '^\s+|\s+$' }
-
-
-
-
-
-
-
- sanvolumes
-
- HPOneView.Profile.SanVolume
-
-
-
-
-
- 9
- Left
-
-
-
- 6
- Left
-
-
-
- 20
- Left
-
-
-
- 4
- Left
-
-
-
- 20
- Left
-
-
-
- 8
- Left
-
-
-
- 12
- Left
-
-
-
- 7
- Left
-
-
-
-
-
-
- id
-
-
- status
-
-
- "{0}" -f $profileCache[$_.volumeUri].name
-
-
- lunType
-
-
- "{0}" -f $profileCache[$_.volumeStoragePoolUri].name
-
-
- "{0} GB" -f ($profileCache[$_.volumeUri].provisionedCapacity / 1gb)
-
-
- "{0}" -f $profileCache[$_.volumeUri].provisionType
-
-
- if ($profileCache[$_.volumeUri].shareable) { "{0}" -f "Shared" } else { "{0}" -f "Private" }
-
-
-
-
-
-
-
- SmtpConfigurationObject
-
- HPOneView.Appliance.SmtpConfiguration
-
-
-
-
-
-
-
- alertEmailDisabled
-
-
-
- senderEmailAddress
-
-
-
- smtpServer
-
-
-
- smtpPort
-
-
-
- alertEmailDisabled
-
-
-
-
-
-
-
- TaskObject
-
- HPOneView.Appliance.TaskResource
-
-
-
-
-
-
-
- name
-
-
-
- owner
-
-
-
- taskState
-
-
-
- percentComplete
-
-
-
- progressUpdates
-
-
-
- taskErrors
-
-
-
- created
-
-
-
- modified
-
-
-
- parentTaskUri
-
-
-
-
-
-
-
- LicenseKey
-
- HPOneView.Appliance.LicenseKey
-
-
-
-
-
-
-
- Product
-
-
-
- availableCapacity
-
-
-
- $_.nodes.count
-
-
-
- TotalCapacity
-
-
-
- unlicensedCount
-
-
-
-
-
-
-
- UserRole
-
- HPOneView.Appliance.UserRole
-
-
-
-
-
- 22
- Left
-
-
-
-
-
-
- roleName
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/HPOneView.120.psd1 b/HPOneView.120.psd1
index b2cc987..bad39ca 100644
Binary files a/HPOneView.120.psd1 and b/HPOneView.120.psd1 differ
diff --git a/HPOneView.120.psm1 b/HPOneView.120.psm1
index 6c08abc..82bce48 100644
--- a/HPOneView.120.psm1
+++ b/HPOneView.120.psm1
@@ -104,15 +104,25 @@ THE SOFTWARE.
| - Fixed New-HPOVUplinkSet where -NativeEthNetwork was not being set correctly.
| - Updated New-HPOVUplinkSet to support Object types for NativeEthNetwork parameter.
| - Updated Send-HPOVRequest to generate terminating error for HTTP 404 and 500 conditions.
- | - Updated Connect-HPOVMgmt to generate terminating error for expired passwords. Please update your script to catch HPOneView.Appliance.PasswordChangeRequired instead of lookging for a return HTTP Status Code.
+ | - Updated Connect-HPOVMgmt to generate terminating error for expired passwords. Please update your script to catch HPOneView.Appliance.PasswordChangeRequired instead of looking for a return HTTP Status Code.
| - Updated ApplianceConfig_Sample.ps1 to show how to configure a new appliance.
| - Added Get-HPOVRemoteSyslog and Set-HPOVRemoteSyslog cmdlets.
| - Added dependancy to FormatPX PowerShell module to fix PowerShell's Format-* cmdlet output.
+------------------------------------------
+1.20.0164.0
+ | - Fixed Show-HPOVSSLCertificate error handling
+ | - Fixed Connect-HPOVMgmt Error Handling
+ | - Fixed Update-HPOVStorageSystem where a variable collision would occur reulting in erronuous error.
+ | - Removed modifying PowerShell prompt. Set-HPOVPrompt is now deprecated. Please use Show-HPOVAppliance to see what appliance you are connected to.
+ | - Added support for Microsoft Desired State Configuration automation with Microsoft System Center Service Management Automation. Please refer to Enable-HPOVMSDSC for more information.
+ | - Added Verbose support for PSM1 executed code during Import-Module -verbose.
#>
#Set HPOneView POSH Library Version
#Increment 3rd string by taking todays day (e.g. 23) and hour in 24hr format (e.g. 14), and adding to the prior value.
-$script:scriptVersion = "1.20.0124.0"
+$script:scriptVersion = "1.20.0164.0"
+$Global:CallStack = Get-PSCallStack
+$verbose = ($Global:CallStack | ? { $_.Command -eq "" }).position.text -match "-verbose"
#Check to see if another module is loaded in the console, but allow Import-Module to process normally if user specifies the same module name
if ($(get-module -name HPOneView*) -and (-not $(get-module -name HPOneView* | % { $_.name -eq "HPOneView.120"}))) {
@@ -878,8 +888,8 @@ $Source = @"
"@
-$Results = $CSharpProvider.CompileAssemblyFromSource($Params,$Source)
-$Assembly = $Results.CompiledAssembly
+$CompileResults = $CSharpProvider.CompileAssemblyFromSource($Params,$Source)
+$Assembly = $CompileResults.CompiledAssembly
$debugMode = $False
@@ -1242,105 +1252,59 @@ function Set-HPOVPrompt {
)
-
- Process {
-
- if ($Enable) {
-
- $Value = "Enabled"
-
- }
-
- if ($Disable) {
-
- $Value = "Disabled"
-
- }
-
- if ($global) {
-
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Setting Global Prompt setting."
-
- #Get Library Global Prompt Setting
- $regkey = "HKLM:\Software\Hewlett-Packard\HPOneView"
- $regValueName = "Prompt"
-
- }
-
- else {
-
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Setting Per User Prompt setting."
-
- #Get Library Per User Prompt Setting
- $regkey = "HKCU:\Software\Hewlett-Packard\HPOneView"
- $regValueName = "Prompt"
-
- }
-
- $RegQueryPrompt = Get-ItemProperty $regkey $regValueName -ErrorAction SilentlyContinue
-
- #Create if it doesn't exist
- if (! $RegQueryPrompt) {
-
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Prompt (REG_SZ) at $regkey does not exist. Creating, and setting to default 'Enabled'."
-
- #If Global, need to check for UAC and elevate the call to Net-ItemProperty
- #Need to elevate users prviledges due to UAC policy
- if ($global) {
- if ($pscmdlet.ShouldProcess("Setting Global Prompt Policy",'Are you sure?')) {
- If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
+ Write-Warning "This CMDLET has been deprecated. No processing will be performed."
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Requesting to elevate user access due to UAC."
+}
- $arguments = "`"if (! (test-path $regkey)) { Md $regkey }; New-ItemProperty $regkey -Name $regValueName -Value Enabled -PropertyType String`""
+function Enable-HPOVMSDSC {
- Start-Process "$psHome\powershell.exe" -Verb runAs -ArgumentList $arguments -WindowStyle Hidden
+ # .ExternalHelp HPOneView.120.psm1-help.xml
- }
+ [CmdletBinding()]
+ Param ()
- #Else, UAC not enabled for HKLM write access, or per user setting
- else {
+ Begin { }
- if (! (test-path $regkey)) { Md $regkey }
+ Process {
- New-ItemProperty $regkey -Name $regValueName -Value $value -PropertyType "String"
+ $RegKey = "HKCU:\Software\Hewlett-Packard\HPOneView"
- }
- }
- }
+ if (-not(Test-Path $RegKey)) { New-Item -Path $RegKey -force | Write-Verbose }
- else {
+ $UseMSDSC = [bool](Get-ItemProperty -LiteralPath $regkeyGlobal -ea silentlycontinue).'UseMSDSC'
- if (! (test-path $regkey)) { Md $regkey }
+ if (-not($UseMSDSC)) { New-ItemProperty -Path $RegKey -Name UseMSDSC -Value 1 -Type DWORD | write-verbose }
+ else { Set-ItemProperty -Path $RegKey -Name UseMSDSC -Value 1 -Type DWORD | write-verbose }
- New-ItemProperty $regkey -Name $regValueName -Value $value -PropertyType "String"
+ }
- }
+ End { }
- }
+}
- else {
+function Disable-HPOVMSDSC {
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Prompt (REG_SZ) at $regkey does exists. Setting to $($Value)."
+ # .ExternalHelp HPOneView.120.psm1-help.xml
- Set-ItemProperty $regkey -Name $regValueName -Value $Value
+ [CmdletBinding()]
+ Param ()
- }
+ Begin { }
- $RegQueryPrompt = Get-ItemProperty $regkey $regvalue -ErrorAction SilentlyContinue
+ Process {
- #Control how the Prompt function will behave
- $script:HPOneViewLibraryPrompt = ($RegQueryPrompt).Prompt
+ $RegKey = "HKCU:\Software\Hewlett-Packard\HPOneView"
- switch ($script:HPOneViewLibraryPrompt) {
+ if (-not(Test-Path $RegKey)) { New-Item -Path $RegKey -force | Write-Verbose }
- "Enabled" { Prompt }
+ $UseMSDSC = [bool](Get-ItemProperty -LiteralPath $regkeyGlobal -ea silentlycontinue).'UseMSDSC'
- "Disabled" { Invoke-Expression $Global:prompt_old }
+ if (-not($UseMSDSC)) { New-ItemProperty -Path $RegKey -Name UseMSDSC -Value 0 -Type DWORD | write-verbose }
+ else { Set-ItemProperty -Path $RegKey -Name UseMSDSC -Value 0 -Type DWORD | write-verbose }
- }
+ }
- }
+ End { }
}
@@ -1483,14 +1447,18 @@ function Send-HPOVRequest {
}
+ write-verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] SSLCheckFlag: $script:SSLCheckFlag"
+
#Check how to handle SSL Certificates
- if (! $script:SSLCheckFlag) {
+ if (-not($script:SSLCheckFlag)) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] SSL Certificate has not been checked."
#Out-Host is IMPORTANT, otherwise, the Certificate Details will NOT display when called from Connect-HPOVMgmt, or any other cmdlet for that matter.
Try { Show-HPOVSSLCertificate | Out-Host }
catch [System.Net.WebException] {
+
+ write-verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Caught WebException error after calling Show-HPOVSSLCertificate"
if ($_.FullyQualifiedErrorId -match "ApplianceNotResponding") {
@@ -1498,11 +1466,31 @@ function Send-HPOVRequest {
$PSCmdlet.ThrowTerminatingError($errorRecord)
}
+ else {
+
+ $errorRecord = New-ErrorRecord HPOneView.Appliance.NetworkConnectionException UnknownError ResourceUnavailable 'Send-HPOVRequest' -Message "Unable to connect to '$Appliance' due to unknown error [$($_.Exception.Message)]." #-verbose
+ $PSCmdlet.ThrowTerminatingError($errorRecord)
+
+ }
}
+ catch {
+
+ write-verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Caught OTHER error after calling Show-HPOVSSLCertificate"
+
+ $errorRecord = New-ErrorRecord HPOneView.Appliance.NetworkConnectionException UnknownError ResourceUnavailable 'Send-HPOVRequest' -Message "Unable to connect to '$Appliance' due to unknown error [$($_.Exception.Message)]." #-verbose
+ $PSCmdlet.ThrowTerminatingError($errorRecord)
+
+ }
#If cert is untrusted, set ServicePointManager to ignore cert checking
- if ($global:certTrusted -eq $False) { [System.Net.ServicePointManager]::CertificatePolicy = new-object HPOneView.HPOneViewIgnoreCertPolicy }
+ if ($global:certTrusted -eq $False) {
+
+ Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] SSL Certificate is untrusted. Setting HPOneView.HPOneViewIgnoreCertPolicy policy."
+
+ [System.Net.ServicePointManager]::CertificatePolicy = new-object HPOneView.HPOneViewIgnoreCertPolicy
+
+ }
$script:SSLCheckFlag = $True
}
@@ -1510,7 +1498,7 @@ function Send-HPOVRequest {
#Need to check for authenticated session when the URI passed is not value of $script:loginSessionsUri
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Requested URI: $($uri)"
- If ((!$global:cimgmtSessionId ) -and ($uri -ine $script:loginSessionsUri)) {
+ If ((-not($global:cimgmtSessionId)) -and ($uri -ine $script:loginSessionsUri)) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] We have reached the URI Whitelist condition block"
@@ -2026,7 +2014,7 @@ function Wait-HPOVApplianceStart {
$flag = $false <# Used to control displaying either output messages #>
#Check to see if SSL Certificate trust has been validated
- if (! $script:SSLCheckFlag) {
+ if (-not($script:SSLCheckFlag)) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] SSL Certificate has not been checked before."
@@ -2229,8 +2217,8 @@ function Connect-HPOVMgmt {
}
catch [HPOneView.Appliance.NetworkConnectionException] {
- $errorRecord = New-ErrorRecord HPOneView.Appliance.NetworkConnectionException ApplianceNotResponding ResourceUnavailable 'Connect-HPOVMgmt' -TargetType "CMDLET" -Message "Unable to connect to '$Appliance' due to timeout." #-verbose
- $PSCmdlet.ThrowTerminatingError($errorRecord)
+ $errorRecord = New-ErrorRecord HPOneView.Appliance.NetworkConnectionException ($_.FullyQualifiedErrorId -split(","))[0] $_.CategoryInfo.Category 'Connect-HPOVMgmt' -TargetType "CMDLET" -Message $_.Exception.Message #-verbose
+ $PSCmdlet.ThrowTerminatingError($errorRecord)
}
@@ -2386,7 +2374,7 @@ function Disconnect-HPOVMgmt {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Bound PS Parameters: $($PSBoundParameters | out-string)"
- If (!$global:cimgmtSessionId) {
+ If (-not($global:cimgmtSessionId)) {
$errorRecord = New-ErrorRecord HPOneview.Appliance.AuthSessionException NoAuthSession ResourceUnavailable 'Disconnect-HPOVMgmt' -Message "No valid logon session available. Please use Connect-HPOVMgmt to connecto to an appliance, and then use Disconnect-HPOVmgmt to terminate your session." #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
@@ -3971,7 +3959,7 @@ function Set-HPOVApplianceNetworkConfig {
}
#}
- if(!$configured){
+ if (-not($configured)) {
$freeMacs = Send-HPOVRequest $script:applMacAddresses
if($freeMacs.members | ? {$_.device -eq $device}){
$macAddr = ($freeMacs.members | ? {$_.device -eq $device}).macAddress
@@ -4052,12 +4040,12 @@ function Set-HPOVApplianceNetworkConfig {
if ($importConfig.applianceNetworks[$i].searchDomains -is "String"){
$importConfig.applianceNetworks[$i].searchDomains = @()
}
- if (!$importConfig.applianceNetworks[$i].macAddress){
+ if (-not($importConfig.applianceNetworks[$i].macAddress)) {
$macAddr = ($currentConfig.applianceNetworks | ? {$_.device -eq $importConfig.applianceNetworks[$i].device}).macAddress
- if(!$macAddr){
+ if(-not($macAddr)) {
$macAddr = ($freeMacs.members | ? {$_.device -eq $importConfig.applianceNetworks[$i].device}).macAddress
}
- if(!$macAddr){
+ if(-not($macAddr)){
$errorRecord = New-ErrorRecord InvalidOperationException ApplianceNICResourceNotFound ObjectNotFound 'Get-HPOVStorageSystem' -Message ($importConfig.applianceNetworks[$i].device + "does not exist on the appliance.") #-verbose
#$errMessage = $importConfig.applianceNetworks[$i].device + "does not exist on the appliance."
#Throw $errMessage
@@ -4577,7 +4565,7 @@ function New-HPOVSupportDump {
#Validate the path exists. If not, create it.
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Validating $($Location) exists"
- if (!(Test-Path $Location)) { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] $($Location) Directory does not exist. Creating directory..."; New-Item -ItemType directory -path $Location }
+ if (-not(Test-Path $Location)) { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] $($Location) Directory does not exist. Creating directory..."; New-Item -ItemType directory -path $Location }
}
@@ -4704,7 +4692,7 @@ Function New-HPOVBackup {
Process {
#Validate the path exists. If not, create it.
- if (!(Test-Path $Location)){
+ if (-not(Test-Path $Location)){
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Directory does not exist. Creating directory..."
New-Item $Location -itemtype directory
}
@@ -5213,7 +5201,7 @@ function Get-HPOVScmbCertificates {
}
#Validate the path exists. If not, create it.
- if (!(Test-Path $Location)){
+ if (-not(Test-Path $Location)){
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Directory does not exist. Creating directory..."
New-Item -path $Location -ItemType Directory
}
@@ -5335,38 +5323,68 @@ function Show-HPOVSSLCertificate {
#Attempt connection to appliance.
try { $Response = $WebRequest.GetResponse() }
- catch [Net.WebException] {
-
- $e = $_
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] System.Net.WebException caught."
-
- if ($e.exception.InnerException.Status -eq "TrustFailure") { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Certificate failed trust validation." }
-
- elseif ($e.Exception -match "The remote name could not be resolved") {
+ catch [System.Net.WebException] {
+
+ #write-host "Exception GM:"
+ #$errorObject.Exception | GM -view all
+ #
+ #write-host "InnerException GM:"
+ #$errorObject.Exception.InnerException | GM -view all
+ #
+ ##
+ ##write-host "InnerException.Status:" $_.Exception.InnerException.Status
+ ##
+ ##write-host "Exception.Message" $_.Exception.Message
+ #
+ ##$e = $_
+ ##write-host $error[-1].exception.InnerException.Status
+ ##write-host $error[-1].exception.InnerException | gm -view all
+ #write-host "Exception: $($errorObject.Exception | out-string)"
+ #write-host "InnerExcpetion: $($errorObject.Exception.InnerException | out-string)"
+ #write-host "InnerExcpetion Status: $($errorObject.Exception.InnerException.Status | out-string)"
+ #$errorObject.Exception.Status -match "TrustFailure"
+ #$_.Exception.Status -match "TrustFailure"
+ #write-host "Exception Message: $($errorObject.Exception.Message)"
+
+ Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] [System.Net.WebException] code block."
+
+ if ($_.Exception.Status -match "TrustFailure") { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Certificate failed trust validation." }
+
+ elseif ($_.Exception -match "The remote name could not be resolved") {
$errorRecord = New-ErrorRecord System.Net.WebException ApplianceNotResponding ObjectNotFound 'Show-HPOVSslCertificate' -Message "Unable to resolve hostname '$Appliance'. Please check the name and try again." #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
-
+
}
-
- elseif ($e.Exception -match "Unable to connect to the remote server") {
-
+
+ #elseif ($_.Exception -match "Unable to connect to the remote server") {
+ elseif ($_.Exception.Message -contains "Unable to connect to the remote server") {
+
$errorRecord = New-ErrorRecord System.Net.WebException ApplianceNotResponding ConnectionError 'Show-HPOVSslCertificate' -Message "Unable to connect to '$Appliance' due to timeout or remote system didn't respond to the connection request." #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
-
+
}
-
+
else {
-
+
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Other error caught."
-
- $errorRecord = New-ErrorRecord System.Net.WebException WebExceptionInvalidResult InvalidResult 'Show-HPOVSslCertificate' -Message $e.Exception.Message #-verbose
+
+ $errorRecord = New-ErrorRecord System.Net.WebException WebExceptionInvalidResult InvalidResult 'Show-HPOVSslCertificate' -Message $_.Exception.Message #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
-
+
}
}
+
+ catch {
+
+ write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Non-Specific CATCH block."
+
+ $errorRecord = New-ErrorRecord System.Net.WebException WebExceptionInvalidResult InvalidResult 'Show-HPOVSslCertificate' -Message $_.Exception.Message #-verbose
+ $PSCmdlet.ThrowTerminatingError($errorRecord)
+
+ }
#Close the response connection, as it is no longer needed, and will cause problems if left open.
if ($response) { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Closing response connection"; $Response.Close() }
@@ -5397,9 +5415,9 @@ function Show-HPOVSSLCertificate {
}
#If the certificate is NOT valid, display it and warn user
- if ((! $certObject.CertificateIsValid) -and ($certObject.ErrorInformation -contains "UntrustedRoot")) {
+ if ((-not($certObject.CertificateIsValid)) -and ($certObject.ErrorInformation -contains "UntrustedRoot")) {
- Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Cert is NOT trusted"
+ Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Cert Root is NOT trusted"
#Display the certificate output in Yellow
$originalFGColor = [System.Console]::ForegroundColor
@@ -6051,7 +6069,7 @@ function Set-HPOVServerPower {
#Validate input object type
#Checking if the input is System.String and is NOT a URI
- if (($server -is [string]) -and (!$server.StartsWith($script:serversUri))) {
+ if (($server -is [string]) -and (-not($server.StartsWith($script:serversUri)))) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Server is a Server Name: $($server)"
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Getting Server URI"
@@ -6096,7 +6114,7 @@ function Set-HPOVServerPower {
#Validate the server power state and lock
$serverPowerState = Send-HPOVRequest $serverUri
- if (($serverPowerState.powerState -ine $powerState) -and (!$serverPowerState.powerLock)) {
+ if (($serverPowerState.powerState -ine $powerState) -and (-not($serverPowerState.powerLock))) {
#Enforce the proper string case
$powerState = (Get-Culture).TextInfo.ToTitleCase($powerState)
@@ -6752,7 +6770,7 @@ function Update-HPOVEnclosure {
Process {
- if (! $Enclosure) {
+ if (-not($Enclosure)) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Enclosure parameter not provided. Calling Get-HPOVEnclosure for all Enclosure resources."
$Enclosures = Get-HPOVEnclosure
@@ -7914,7 +7932,7 @@ function Enclosure-Report {
@{Expression={$_.romVersion};Label="System ROM";width=15}, `
@{Expression={($_.mpModel + " " + $_.mpFirmwareVersion)};Label="iLO Firmware Version";width=22}, `
@{Expression={
- if (!$_.serverProfileUri){ 'No Profile' }
+ if (-not($_.serverProfileUri)){ 'No Profile' }
else { (Send-HPOVRequest $_.serverProfileUri).name }
};Label="Server Profile";width=30},`
@{Expression={$_.licensingIntent};Label="Licensing";width=15}
@@ -8025,7 +8043,7 @@ function Remove-HPOVEnclosure {
}
- if (!$enclosureNameOrUri) {
+ if (-not($enclosureNameOrUri)) {
$errorRecord = New-ErrorRecord System.ArgumentException InvalidParameter InvalidArgument "Remove-HPOVEnclosure" -Message "Invalid enclosure parameter: $encl" #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
@@ -9275,7 +9293,7 @@ function Update-HPOVStorageSystem {
process {
- if (-not $StorageSystem) {
+ if (-not ($StorageSystem)) {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] No Storage System resource(s) provided. Calling Get-HPOVStorageSystem."
$StorageSystem = Get-HPOVStorageSystem
@@ -9313,6 +9331,8 @@ function Update-HPOVStorageSystem {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Storage System resource object provided"
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Storage System Name: $($system.name)"
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Storage System URI: $($system.uri)"
+
+ $ss = $system
}
else {
@@ -9568,13 +9588,15 @@ function Add-HPOVStorageSystem {
if ($connectedStorageSystem.unmanagedDomains -contains $Domain){
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Found Virtual Domain '$Domain'."
+
#The domain exists, update the managedDomain property
$connectedStorageSystem.managedDomain = $Domain
#remove the domain from the unManagedDomains property
- $unManaged=@()
- $unManaged = $connectedStorageSystem.unmanagedDomains | ? {$_ -ne $Domain}
- $connectedStorageSystem.unmanagedDomains = $unManaged
+ [Array]$unManaged = @()
+ [Array]$unManaged = $connectedStorageSystem.unmanagedDomains | ? {$_ -ne $Domain}
+ [Array]$connectedStorageSystem.unmanagedDomains = $unManaged
+
}
else {
@@ -9582,10 +9604,9 @@ function Add-HPOVStorageSystem {
Send-HPOVRequest -uri $connectedStorageSystem.uri -method DELETE
$errorRecord = New-ErrorRecord InvalidOperationException StorageDomainResourceNotFound ObjectNotFound 'Add-HPOVStorageSystem' -Message "Storage Domain, '$Domain', not found. Please check the storage domain exist on the storage system." #-verbose
- #Generate Terminating Error
$PSCmdlet.ThrowTerminatingError($errorRecord)
+
}
- #$ports.Keys | %{ "key is: $($_), value is $($ports[$_])" }
}
@@ -9596,7 +9617,6 @@ function Add-HPOVStorageSystem {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Task error occurred. Generating error message."
$errorRecord = New-ErrorRecord InvalidOperationException $storageSystemDiscoveredTask.taskErrors[0].errorCode InvalidResult 'Add-HPOVStorageSystem' -Message "$($storageSystemDiscoveredTask.taskErrors[0].message)" #-verbose
- #WRITE-ERROR "AN ERROR OCURRED. $($storageSystemDiscoveredTask.taskErrors[0].errorCode) $($storageSystemDiscoveredTask.taskErrors[0].message)" -ErrorAction Stop
$PSCmdlet.ThrowTerminatingError($errorRecord)
}
@@ -9675,7 +9695,7 @@ function Remove-HPOVStorageSystem {
}
- if (!$ssNameOrUri) {
+ if (-not($ssNameOrUri)) {
if ($ss.name) { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] The storage system '$($ss.nam)' provided was not found. Please check the storageSystem parameter value and try again." }
else { Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] The storage system '$($ss)' provided was not found. Please check the storageSystem parameter value and try again." }
@@ -12673,7 +12693,7 @@ function New-HPOVNetwork {
Begin {
- If (!$global:cimgmtSessionId) {
+ If (-not($global:cimgmtSessionId)) {
$errorRecord = New-ErrorRecord HPOneview.Appliance.AuthSessionException ResourceExists AuthenticationError $script:HPOneViewAppliance -Message "You are already logged into $Appliance. Please use Disconnect-HPOVMgmt to end your existing session, and then call Connect-HPOVMgmt again." #-verbose
$PSCmdlet.ThrowTerminatingError($errorRecord)
@@ -16937,7 +16957,7 @@ function New-HPOVUplinkSet {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Native Network object provided: $($nativeEthNetwork | Out-String)"
- $nativeEthNetworkUri = $network.uri
+ $nativeEthNetworkUri = $nativeEthNetwork.uri
}
@@ -16956,7 +16976,7 @@ function New-HPOVUplinkSet {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Native Ethernet Network URI provided '$nativeEthNetworkUri'."
- $nativeEthNetworkUri = $network
+ $nativeEthNetworkUri = $nativeEthNetwork
}
elseif ($nativeEthNetwork.StartsWith('/rest/')){
@@ -16969,7 +16989,7 @@ function New-HPOVUplinkSet {
Write-Verbose "[$($MyInvocation.InvocationName.ToString().ToUpper())] Getting `"$($nativeEthNetworkUri)`" URI"
- $ret = Get-HPOVNetwork $network -type Ethernet
+ $ret = Get-HPOVNetwork $nativeEthNetwork -type Ethernet
$nativeEthNetworkUri = $ret.uri
@@ -22732,13 +22752,12 @@ function New-HPOVLicense {
}
}
+ }
- End {
+ End {
$ret
- }
-
}
}
@@ -23231,6 +23250,8 @@ Export-ModuleMember -Function Enable-HPOVDebug
Export-ModuleMember -Function Disable-HPOVDebug
Export-ModuleMember -Function Get-HPOVRemoteSyslog
Export-ModuleMember -Function Set-HPOVRemoteSyslog
+Export-ModuleMember -Function Enable-HPOVMSDSC
+Export-ModuleMember -Function Disable-HPOVMSDSC
#Appliance Configuration:
Export-ModuleMember -Function Get-HPOVApplianceCertificateStatus
@@ -23414,63 +23435,42 @@ $script:AuthProviderSetting = (Get-ItemProperty "HKCU:\Software\Hewlett-Packard\
#
#Check to see if Global Policy is set first.
-$regkeyGlobal = "HKLM:\Software\Hewlett-Packard\HPOneView"
-$regkeyUser = "HKCU:\Software\Hewlett-Packard\HPOneView"
-$regValueName = "Prompt"
-
-#$RegQueryGlobalPrompt = Get-ItemProperty $regkeyGlobal $regValueName -ErrorAction SilentlyContinue
-If (Test-Path "HKLM:\Software\Hewlett-Packard\HPOneView") { $RegQueryGlobalPrompt = Get-ItemProperty $regkeyGlobal $regValueName -ErrorAction SilentlyContinue }
-
-#$RegQueryUserPrompt = Get-ItemProperty $regkeyUser $regValueName -ErrorAction SilentlyContinue
-If (Test-Path "HKCU:\Software\Hewlett-Packard\HPOneView"){ $RegQueryGlobalPrompt = Get-ItemProperty $regkeyUser $regValueName -ErrorAction SilentlyContinue}
-
-#Per User Setting overrides Global
-if (($RegQueryUserPrompt) -and ($RegQueryGlobalPrompt)) { $RegQueryPrompt = $RegQueryUserPrompt }
-elseif ((! $RegQueryUserPrompt) -and ($RegQueryGlobalPrompt)) { $RegQueryPrompt = $RegQueryGlobalPrompt }
-elseif (($RegQueryUserPrompt) -and (!$RegQueryGlobalPrompt)) { $RegQueryPrompt = $RegQueryUserPrompt }
-
-#Create Per-User if it and Global doesn't exist
-else {
-
- $RegQueryPrompt = @{Prompt = "Enabled"}
-
-}
+$regkeyGlobal = "HKLM:\Software\Hewlett-Packard\HPOneView"
+$regkeyUser = "HKCU:\Software\Hewlett-Packard\HPOneView"
+$UserUseMSDSC = [bool](Get-ItemProperty -LiteralPath $regkeyUser -ea silentlycontinue).'UseMSDSC'
-#Control how the Prompt function will behave
-$script:HPOneViewLibraryPrompt = ($RegQueryPrompt).Prompt
+Write-Verbose "$regkeyUser exists: $(Test-Path $regkeyUser)" -verbose:$verbose
+Write-Verbose "UseMSDSC Enabled: $($UserUseMSDSC)" -verbose:$verbose
-#Save the users PowerShell Session Prompt state
-$Global:prompt_old = Get-Content Function:\prompt
-$Script:PromptApplianceHostname = "[Not Connected]"
-
-#Change the PowerShell Prompt
-function global:prompt {
-
- if ($script:HPOneViewLibraryPrompt -eq "Enabled") {
-
- $cwd = (get-location).Path
-
- #Display no more than 2 directories deep in the Prompt, otherwise there will be severe prompt wrapping
- [array]$cwdt=$()
- $cwdi=-1
- do {$cwdi=$cwd.indexofany(“\”,$cwdi+1) ; [array]$cwdt+=$cwdi} until($cwdi -eq -1)
-
- if ($cwdt.count -gt 3) {
- $cwd = $cwd.substring(0,$cwdt[0]) + “..” + $cwd.substring($cwdt[$cwdt.count-3])
- }
+#Override Write-Host for MSDSC
+if ((Test-Path $regKeyGlobal) -and ($UserUseMSDSC)) {
+
+ function Write-Host {
+ [CmdletBinding()]
+ Param(
+ [Parameter(Mandatory = $true, Position = 0)]
+ [Object]
+ $Object,
+ [Switch]
+ $NoNewLine,
+ [ConsoleColor]
+ $ForegroundColor,
+ [ConsoleColor]
+ $BackgroundColor
+
+ )
+
+ #Override default Write-Host...
+ Write-Verbose $Object -verbose:$verbose
+ }
- Write-Host '[HPONEVIEW]: ' -ForegroundColor Yellow -NoNewline
- if ($global:cimgmtSessionId){
- write-host $script:userName@$Script:PromptApplianceHostname PS $cwd> -NoNewline
- }
- else{
- write-host $Script:PromptApplianceHostname PS $cwd> -NoNewline
- }
- return " "
+ Function Get-Host {
+ [CmdletBinding()]
+ Param()
- }
+ Return [PSCustomObject]$Width = @{ UI = @{ RawUI = @{ MaxWindowSize = @{ width = 120 } } } }
- else { Invoke-Expression $Global:prompt_old }
+ }
}
@@ -23522,7 +23522,7 @@ $ExecutionContext.SessionState.Module.OnRemove = {
if ($global:cimgmtSessionId) { Disconnect-HPOVMgmt }
#Restore default prompt
- Set-Content Function:\prompt $Global:prompt_old
+ #Set-Content Function:\prompt $Global:prompt_old
if ([System.Net.ServicePointManager]::CertificatePolicy) {
@@ -23534,3 +23534,4 @@ $ExecutionContext.SessionState.Module.OnRemove = {
$script:SSLCheckFlag = $False
}
+
diff --git a/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_HelpInfo.xml b/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_HelpInfo.xml
index 79bf576..7698cf9 100644
--- a/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_HelpInfo.xml
+++ b/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_HelpInfo.xml
@@ -4,7 +4,7 @@
en-US
- 1.20.112.9
+ 1.20.164.2
\ No newline at end of file
diff --git a/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_ModuleInfo.xml b/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_ModuleInfo.xml
index 3ae1399..cb2e286 100644
--- a/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_ModuleInfo.xml
+++ b/HPOneView.120_9A442AA7-2F4D-4771-9068-8C65EBEFEFC9_ModuleInfo.xml
@@ -1,5 +1,5 @@
http://www.hp.com/go/powershell/updatehelp/
- 1.20.112.2
+ 1.20.164.0
\ No newline at end of file
diff --git a/Samples/ApplianceConfig_Sample.ps1 b/Samples/ApplianceConfig_Sample.ps1
index a157151..68ceb0a 100644
--- a/Samples/ApplianceConfig_Sample.ps1
+++ b/Samples/ApplianceConfig_Sample.ps1
@@ -3,7 +3,7 @@
# - Example scripts for configuring the HP OneView appliance (networking, NTP,
# etc.).
#
-# VERSION 2.0
+# VERSION 2.1
#
# (C) Copyright 2015 Hewlett-Packard Development Company, L.P.
##############################################################################
@@ -31,9 +31,10 @@ THE SOFTWARE.
[CmdletBinding()]
param(
- [Parameter(Mandatory=$True)]
+ [Parameter(Position = 0, Mandatory = $True, HelpMessage = "Please provide the Appliances DHCP Address.")]
[string]$vm_ipaddr,
+ [Parameter(Position = 1, Mandatory = $True, HelpMessage = "Please provide the Appliances NEW Static IP Address.")]
[String]$IPAddress
)
@@ -57,14 +58,13 @@ $ErrorActionPreference = "Stop"
if (Get-HPOVEulaStatus -appliance $vm_ipaddr) {
Write-Host "Accepting EULA..."
- # ret is empty for success?
+
$ret = Set-HPOVEulaStatus -supportAccess "yes" -appliance $vm_ipaddr
}
# For initial setup, connect first using "default" Administrator credentials:
-
Try { Connect-HPOVMgmt -appliance $vm_ipaddr -user "Administrator" -password "admin" }
catch [HPOneView.Appliance.PasswordChangeRequired] {
@@ -213,7 +213,7 @@ $ErrorActionPreference = "Stop"
New-HPOVNetwork -name "3PAR SAN DA A" -type "FibreChannel" -typicalBandwidth 4000 -autoLoginRedistribution $true -fabricType DirectAttach
New-HPOVNetwork -name "3PAR SAN DA B" -type "FibreChannel" -typicalBandwidth 4000 -autoLoginRedistribution $true -fabricType DirectAttach
- $lig = "HOL Logical Interconnect Group"
+ $lig = "Logical Interconnect Group 1"
$task = New-HPOVLogicalInterconnectGroup -ligName $lig -bays @{1 = "FlexFabric";2 = "FlexFabric"}
@@ -230,7 +230,7 @@ $ErrorActionPreference = "Stop"
New-HPOVUplinkSet -ligName $lig -Name "3PAR SAN Fabric B" -Type "FibreChannel" -Networks "3PAR SAN DA B" -UplinkPorts "BAY2:X2"
$mylig = Get-HPOVLogicalInterconnectGroup -name $lig
- New-HPOVEnclosureGroup -name "HOL Enclosure Group" -logicalInterConnectGroup $mylig.uri -interconnectBayMappingCount 8 -stackingMode "Enclosure"
+ New-HPOVEnclosureGroup -name "Enclosure Group 1" -logicalInterConnectGroup $mylig.uri -interconnectBayMappingCount 8 -stackingMode "Enclosure"
Write-host "Sleeping 90sec"
start-sleep -Seconds 90
@@ -240,7 +240,7 @@ $ErrorActionPreference = "Stop"
username = "3paradm";
password = "3pardata";
hostname = "3par-array.domain.local";
- domain = "CINetworkingLab"
+ domain = "NODOMAIN"
#myArrayPorts = @{
#
@@ -255,7 +255,7 @@ $ErrorActionPreference = "Stop"
Write-Host "Importing POD storage array: $($params.hostname)"
New-HPOVStorageSystem @params | Wait-HPOVTaskComplete
- Add-HPOVStoragePool HP-P10000-2 -poolName HPNetworking_R1_FC | Wait-HPOVTaskComplete
+ Add-HPOVStoragePool HP-P7400-1 -poolName R1_FC_CPG | Wait-HPOVTaskComplete
$sht= '{
"type": "server-hardware-type-3",
@@ -325,7 +325,7 @@ $ErrorActionPreference = "Stop"
Send-HPOVRequest /rest/server-hardware-types POST ($sht | ConvertFrom-Json)
- New-HPOVStorageVolume -volumeName "POD$id ESXi Cluster Shared VMFS 1" -StorageSystem "HP-P10000-2" -StoragePool HPNetworking_R1_FC -capacity 500 -shared | Wait-HPOVTaskComplete
+ New-HPOVStorageVolume -volumeName "POD$id ESXi Cluster Shared VMFS 1" -StorageSystem "HP-P7400-1" -StoragePool R1_FC_CPG -capacity 500 -shared | Wait-HPOVTaskComplete
#Create Server Profiles
$con1 = New-HPOVProfileConnection -id 1 -type Ethernet -requestedBW 1000 -network "VLAN 1-A" -bootable -priority Primary
diff --git a/en-US/HPOneView.120.psm1-help.xml b/en-US/HPOneView.120.psm1-help.xml
index 6e0b48b..2b12877 100644
--- a/en-US/HPOneView.120.psm1-help.xml
+++ b/en-US/HPOneView.120.psm1-help.xml
@@ -2505,7 +2505,7 @@ Clears the alert.
Establish a connection with the specified HP OneView appliance. Logs the user into the appliance and establishes a session for use with subsequent requests. Prompts will be displayed for any omitted values.
-
+
Appliance hostname or IP can include an alternate TCP port number. While the appliance does not allow the default TCP port 443 to be changed, the appliance could reside behind a firewall, which is redirecting an alternate TCP port number.
@@ -3254,6 +3254,94 @@ Disable local logins on the appliance.
+
+
+
+ Disable-HPOVMSDSC
+
+ Disable Microsoft DSC Support
+
+ Disable
+ HPOVMSDSC
+
+
+
+ Using this cmdlet will create and/or modify UseMSDSC (REG_DWORD) located at HKCU:\Software\Hewlett-Packard\HPOneView, to 0 (False). By disabling support, the module will no longer overload Write-Host.
+
+Use Enable-HPOVMsDSC to enable support.
+
+
+
+
+ Disable-HPOVMSDSC
+
+
+
+
+
+
+ None. You cannot pipe objects to this cmdlet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ None.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- EXAMPLE 1 --------------------------
+
+
+
+ PS C:\> Disable-HPOVMSDSC
+Configures Registry value to no longer overload Write-Host.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enable-HPOVMSDSC
+
+
+
+ Online:
+ /~https://github.com/HewlettPackard/POSH-HPOneView/wiki/Disable-HPOVMSDSC
+
+
+
@@ -3619,6 +3707,94 @@ Enable local logins on the appliance.
+
+
+
+ Enable-HPOVMSDSC
+
+ Enable Microsoft DSC Support
+
+ Enable
+ HPOVMSDSC
+
+
+
+ Using this cmdlet will create and/or modify UseMSDSC (REG_DWORD) located at HKCU:\Software\Hewlett-Packard\HPOneView, to 1 (True). By enabling support, the module will overload Write-Host, and instead issue Write-Verbose commands.
+
+Use Disable-HPOVMsDSC to disable support.
+
+
+
+
+ Enable-HPOVMSDSC
+
+
+
+
+
+
+ None. You cannot pipe objects to this cmdlet.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ None.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -------------------------- EXAMPLE 1 --------------------------
+
+
+
+ PS C:\> Enable-HPOVMSDSC
+Configures Registry value to overload Write-Host, which then uses Write-Verbose.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Disable-HPOVMSDSC
+
+
+
+ Online:
+ /~https://github.com/HewlettPackard/POSH-HPOneView/wiki/Enable-HPOVMSDSC
+
+
+
@@ -32241,20 +32417,14 @@ Get all Ethernet networks, and add a new Suffix to their names.
Set-HPOVPrompt
- Modify the HPOneView POSH Prompt.
+ (Deprecated) Modify the HPOneView POSH Prompt.
Set
HPOVPrompt
- By default, the HP OneView POSH Library will change the prompt to display the following in the prompt:
-
-[HPONEVIEW] user@appliance PS C:\>
-
-The first part designates the module is currently loaded into the users PowerShell session. The second part shows which user account is connect to what appliance.
-
-Using the -Disable switch, the default prompt will not be displayed when the module is loaded for the current user. This setting is configured on a per-user basis. When the prompt is disabled, you an use the Show-HPOVAppliance cmdlet to get the connected to information.
+ Deprecated in 1.20.0164 Release. Please use Show-HPOVAppliance to see what appliance you are connected to.
@@ -35373,7 +35543,7 @@ Retrieve the available MAC Addresses learned in 'VLAN100' network, and export to
port
- The name of the Logical Interconnect Group to retrieve.
+ The name of the Interconnect Port ID (i.e. X1 or D5) to retrieve. If no Port ID is provided, all Ports of the Interconnect will be returned.
Object
@@ -35381,8 +35551,7 @@ Retrieve the available MAC Addresses learned in 'VLAN100' network, and export to
interconnect
- Aliases [-x, -export]
-The full path and file name to export the contents retrieved from the call to Get-HPOVLogicalInterconnectGroup.
+ The Interconnect resource the Port ID is a member of.
Object
@@ -35393,7 +35562,7 @@ The full path and file name to export the contents retrieved from the call to Ge
port
- The name of the Logical Interconnect Group to retrieve.
+ The name of the Interconnect Port ID (i.e. X1 or D5) to retrieve. If no Port ID is provided, all Ports of the Interconnect will be returned.
Object
@@ -35404,7 +35573,7 @@ The full path and file name to export the contents retrieved from the call to Ge
port
- The name of the Logical Interconnect Group to retrieve.
+ The name of the Interconnect Port ID (i.e. X1 or D5) to retrieve. If no Port ID is provided, all Ports of the Interconnect will be returned.
Object
@@ -35416,8 +35585,7 @@ The full path and file name to export the contents retrieved from the call to Ge
interconnect
- Aliases [-x, -export]
-The full path and file name to export the contents retrieved from the call to Get-HPOVLogicalInterconnectGroup.
+ The Interconnect resource the Port ID is a member of.
Object
@@ -37040,7 +37208,7 @@ when the [System.Net.WebRequest] GetResponse() client generates an [Net.WebExcep
to provide the caller with an indication that the appliance is starting its services. This will display two prompts:
1. An initial text-based progress bar while the System.Net.WebRequest is able to access the web service on the appliance to begin polling
- for service startup status.
+ for service startup status.
2. Write-Progress indicator displaying the overall service startup.
If any service fails to startup, this function will cause a terminating error, informing the caller to go visit the appliance kiosk
diff --git a/en-US/about_HPOneView.120.help.txt b/en-US/about_HPOneView.120.help.txt
index f8ec746..c4e29cf 100644
--- a/en-US/about_HPOneView.120.help.txt
+++ b/en-US/about_HPOneView.120.help.txt
@@ -30,6 +30,18 @@ SHORT DESCRIPTION
WHAT'S NEW
+ Release 1.20.0164.0
+
+ -- Fixed Show-HPOVSSLCertificate error handling
+ -- Fixed Connect-HPOVMgmt Error Handling
+ -- Fixed Update-HPOVStorageSystem where a variable collision would occur reulting in erronuous
+ error.
+ -- Removed modifying PowerShell prompt. Set-HPOVPrompt is now deprecated. Please use Show-HPOVAppliance
+ to see what appliance you are connected to.
+ -- Added support for Microsoft Desired State Configuration automation with Microsoft System Center
+ Service Management Automation. Please refer to Enable-HPOVMSDSC for more information.
+ -- Added Verbose support for PSM1 executed code during Import-Module -verbose.
+
Release 1.20.0124.0
-- Fixed Show-HPOVLdapGroups where only 1 group would be returned or displayed.
-- Fixed New-HPOVLdapServer where the Base64 Certificate wasn't being properly accepted by the
@@ -44,7 +56,7 @@ WHAT'S NEW
-- Updated New-HPOVUplinkSet to support Object types for NativeEthNetwork parameter.
-- Updated Send-HPOVRequest to generate terminating error for HTTP 404 and 500 conditions.
-- Updated Connect-HPOVMgmt to generate terminating error for expired passwords. Please update
- your script to catch 'HPOneView.Appliance.PasswordChangeRequired' instead of lookging for a return
+ your script to catch 'HPOneView.Appliance.PasswordChangeRequired' instead of looking for a return
HTTP Status Code.
-- Updated ApplianceConfig_Sample.ps1 to show how to configure a new appliance.
-- Added Get-HPOVRemoteSyslog and Set-HPOVRemoteSyslog cmdlets.