<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Invoke-NcSsh works, but throws exception in WFA in Active IQ Unified Manager Discussions</title>
    <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153543#M27475</link>
    <description>&lt;P&gt;Hi David,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I do have WFA4.2 running on WIN2K12R2 in my lab and tested it for you. It works:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;09:41:40.862 INFO  [invoke_system_api] ### Command 'invoke_system_api' in 'POWER_SHELL' ###
09:42:05.691 INFO  [invoke_system_api] Get-WfaCredentials -Host cluster1
09:42:05.722 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
09:42:05.847 INFO  [invoke_system_api] Connect-Controller -Type CLUSTER -Name cluster1 -Credential System.Management.Automation.PSCredential -Vserver  -SSLversion TLSv1
09:42:05.894 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
09:42:06.003 INFO  [invoke_system_api] Connect-NcController (with credentials) -Name cluster1 -Timeout 60000 -ErrorAction Stop -Port 443 -SSLVersion TLSv1
09:42:09.972 INFO  [invoke_system_api] Connected to cluster node
09:42:10.550 INFO  [invoke_system_api] Executed Command: snapshot show -volume volume1 -vserver vserver1
09:42:10.597 INFO  [invoke_system_api] ---Blocks---
09:42:10.613 INFO  [invoke_system_api] Vserver  Volume   Snapshot                                  Size Total% Used%
09:42:10.675 INFO  [invoke_system_api] -------- -------- ------------------------------------- -------- ------ -----
09:42:10.691 INFO  [invoke_system_api] vserver1 volume1
09:42:10.706 INFO  [invoke_system_api]                   weekly.2020-01-05_0015                   548KB     0%   49%
09:42:10.722 INFO  [invoke_system_api]                   weekly.2020-01-12_0015                   652KB     0%   54%
09:42:10.816 INFO  [invoke_system_api]                   daily.2020-01-14_0010                    580KB     0%   51%
09:42:10.831 INFO  [invoke_system_api]                   snapshot1                                140KB     0%   20%
09:42:10.863 INFO  [invoke_system_api]                   snapshot2                                140KB     0%   20%
09:42:10.878 INFO  [invoke_system_api]                   snapshot3                                524KB     0%   48%
09:42:10.925 INFO  [invoke_system_api]                   daily.2020-01-15_0010                    508KB     0%   47%
09:42:10.941 INFO  [invoke_system_api]                   hourly.2020-01-15_0405                   156KB     0%   22%
09:42:10.987 INFO  [invoke_system_api]                   hourly.2020-01-15_0505                   440KB     0%   44%
09:42:11.003 INFO  [invoke_system_api]                   hourly.2020-01-15_0605                   156KB     0%   22%
09:42:11.066 INFO  [invoke_system_api]                   hourly.2020-01-15_0705                   384KB     0%   41%
09:42:11.081 INFO  [invoke_system_api]                   hourly.2020-01-15_0805                   156KB     0%   22%
09:42:11.113 INFO  [invoke_system_api]                   hourly.2020-01-15_0905                   364KB     0%   39%
09:42:11.206 INFO  [invoke_system_api] 13 entries were displayed.
09:42:11.269 INFO  [invoke_system_api] Command completed, took 10407 milliseconds
&lt;/PRE&gt;
&lt;P&gt;The difference would be the version of ONTAP perhaps (i doubt that is the issue). I am using the default cluster admin user in the WFA credentials for an ONTAP 9.6 simulator so it's running within a user that has the admin role.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Have you configured any delegated access that might be restricting it from working?&lt;/LI&gt;
&lt;LI&gt;Have you considered alternatives. EG: &lt;A title="https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html" href="https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html" target="_blank" rel="noopener"&gt;https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Does the following code work externally to WFA?&lt;/LI&gt;
&lt;/OL&gt;
&lt;PRE&gt;Param(
   [Parameter(Mandatory=$True, HelpMessage="The Cluster name or IP Address")]
   [String]$Cluster,
   [Parameter(Mandatory=$True, HelpMessage="The ONTAP CLI to invoke")]
   [String]$Command,
   [Parameter(Mandatory=$False, HelpMessage="The ONTAP CLI privilege")]
   [ValidateSet("admin","advanced","diag")]
   [String]$Privilege,
   [Parameter(Mandatory=$False, HelpMessage="If specified the CLI output is logged")]
   [Bool]$VerboseLogging,
   [Parameter(Mandatory=$True, HelpMessage="The Credentials to connect to the cluster")]
   [System.Management.Automation.PSCredential]$Credentials
)
#'------------------------------------------------------------------------------
#'Import the DataONTAP PSTK.
#'------------------------------------------------------------------------------
[String]$moduleName = "DataONTAP"
Try{
   Import-Module -Name $moduleName -ErrorAction Stop
   Write-Host "Imported Module ""$moduleName"""
}Catch{
   Write-Warning -Message $("Failed importing module ""$moduleName"". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Connect to the Cluster.
#'------------------------------------------------------------------------------
Try{
   Connect-NcController -Name $Cluster -HTTPS -Credential $Credentials -ErrorAction Stop | Out-Null
   Write-Host "Connect to cluster ""$Cluster"""
}Catch{
   Write-Warning -Message $("Failed connecting to cluster ""$Cluster"". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Convert the CLI command to the API to invoke.
#'------------------------------------------------------------------------------
[String]$Command = $Command.Trim();
If($Command.Contains(" ")){
   [Array]$cmd = $Command.Split(" ")
}Else{
   [Array]$cmd = $Command
}
If($Privilege){
   $cmd[0] = $("set $Privilege`;" + $cmd[0])
}
$api = $("&amp;lt;system-cli&amp;gt;&amp;lt;args&amp;gt;&amp;lt;arg&amp;gt;" + ($cmd -join "&amp;lt;/arg&amp;gt;&amp;lt;arg&amp;gt;") + "&amp;lt;/arg&amp;gt;&amp;lt;/args&amp;gt;&amp;lt;/system-cli&amp;gt;")
#'------------------------------------------------------------------------------
#'Invoke the API.
#'------------------------------------------------------------------------------
Try{
   $output = Invoke-NcSystemApi -Request $api -ErrorAction Stop
   Write-Host $("Executed Command`: " + $([String]::Join(" ", $command)))
}Catch{
   Write-Warning -Message $("Failed Executed Command`: " + $([String]::Join(" ", $command)) + ". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Log the CLI output if required.
#'------------------------------------------------------------------------------
If($VerboseLogging -And $output.results."cli-result-value" -eq 1){
   [Array]$lines = $output.results."cli-output".Trim().Split("`n")
   ForEach($line In $lines){
      If(-Not([String]::IsNullOrEmpty($line))){
         Write-Host $line
      }
   }
}
#'------------------------------------------------------------------------------&lt;/PRE&gt;
&lt;P&gt;Example Output:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;PS D:\Scripts\PowerShell\Projects\InvokeSystemApi&amp;gt; $Credentials = Get-Credential -Credential admin
PS D:\Scripts\PowerShell\Projects\InvokeSystemApi&amp;gt; .\InvokeSystemApi.ps1 -Cluster cluster1 -Command "snapshot show -volume volume1 -vserver vserver1" -VerboseLogging $True -Credentials $credentials
Imported Module "DataONTAP"
Connect to cluster "cluster1"
Executed Command: snapshot show -volume volume1 -vserver vserver1
---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
vserver1 volume1
                  weekly.2020-01-05_0015                   548KB     0%   46%
                  weekly.2020-01-12_0015                   652KB     0%   50%
                  daily.2020-01-14_0010                    580KB     0%   47%
                  snapshot1                                140KB     0%   18%
                  snapshot2                                140KB     0%   18%
                  snapshot3                                524KB     0%   45%
                  daily.2020-01-15_0010                    512KB     0%   44%
                  hourly.2020-01-15_0505                   440KB     0%   40%
                  hourly.2020-01-15_0605                   156KB     0%   19%
                  hourly.2020-01-15_0705                   384KB     0%   37%
                  hourly.2020-01-15_0805                   156KB     0%   19%
                  hourly.2020-01-15_0905                   372KB     0%   36%
                  hourly.2020-01-15_1005                   148KB     0%   19%
13 entries were displayed.&lt;/PRE&gt;
&lt;P&gt;/Matt&lt;/P&gt;</description>
    <pubDate>Tue, 14 Jan 2020 23:30:42 GMT</pubDate>
    <dc:creator>mbeattie</dc:creator>
    <dc:date>2020-01-14T23:30:42Z</dc:date>
    <item>
      <title>Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153493#M27467</link>
      <description>&lt;P&gt;I need a general purpose WFA Command that will accept a Cluster name and Command as input and run the command on the cluster.&lt;/P&gt;
&lt;P&gt;My environment is: WFA Server Windows 2012 R2, WFA 4.2, Clustered ONTAP 9.3P15; PSToolkit 9.7; Putty 0.73&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have written the command using the Invoke-NcSsh cmdlet.&amp;nbsp; I ran into the issues described in Community Article: "Invoke-NcSsh failing with ONTAP 9.3".&amp;nbsp; I followed the solution to upgrade the Netapp DataONTAP PSToolkit to 9.7 and install PuTTY v0.7.3.&amp;nbsp; This got me past the initial problem and the Invoke-NcSsh cmdlet actually runs the command on the cluster.&amp;nbsp; The only problem is that the cmdlet in the WFA JBOSS container throws an exception at the end of the command processing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the simplified PS code that shows the problem:&lt;/P&gt;
&lt;P&gt;param (&lt;BR /&gt;&amp;nbsp; [parameter(Mandatory=$True, HelpMessage="First Cluster")]&lt;BR /&gt;&amp;nbsp; [string]$Cluster&lt;BR /&gt;)&lt;/P&gt;
&lt;P&gt;Get-WFALogger -info -message "Running Test Command"&lt;/P&gt;
&lt;P&gt;$creds = Get-WfaCredentials -Hostname $Cluster&lt;BR /&gt;$result = Invoke-NcSsh -Name $Cluster -Command date -Credential $creds&lt;/P&gt;
&lt;P&gt;Get-WFALogger -info -message $("-- " + $result)&lt;/P&gt;
&lt;P&gt;Get-WFALogger -info -message "End Test Command"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Output: &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;15:47:29.012 INFO&amp;nbsp; [SWA Test] ### Command XXX Test' in 'POWER_SHELL' ###&lt;BR /&gt;15:47:35.559 INFO&amp;nbsp; [SWA Test] Running Test Command&lt;BR /&gt;15:47:35.574 INFO&amp;nbsp; [SWA Test] Credentials successfully provided for 'cluster050'&lt;BR /&gt;15:47:40.996 INFO&amp;nbsp; [SWA Test] -- Node&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time zone&lt;BR /&gt;--------- ------------------------ -------------------------&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fri Jan 10 15:47:41 2020 US/Central&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fri Jan 10 15:47:41 2020 US/Central&lt;BR /&gt;2 entries were displayed.&lt;BR /&gt;15:47:41.012 INFO&amp;nbsp; [XXX Test] End Test Command&lt;BR /&gt;15:47:41.074 ERROR&amp;nbsp; [XXX Test] Failed executing command. Exception:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The command works fine, its just that WFA flags an error; but the Excepton is null.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The only other clue I have found is that an error is posted to the server.log when the command is run:&lt;/P&gt;
&lt;P&gt;server.log error &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/P&gt;
&lt;P&gt;2020-01-10 15:47:41,059 ERROR [stderr] (default task-16) [Fatal Error] :1:1: Content is not allowed in prolog.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any ideas on trouble shooting this error?&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jun 2025 11:22:52 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153493#M27467</guid>
      <dc:creator>DavidSpano</dc:creator>
      <dc:date>2025-06-04T11:22:52Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153498#M27468</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A potenital workaround for you might be to use "Invoke-NcSystemApi" to invoke a CLI command instead of using "Invoke-NcSsh". For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Param(
   [Parameter(Mandatory=$True, HelpMessage="The Cluster name or IP Address")]
   [String]$Cluster,
   [Parameter(Mandatory=$True, HelpMessage="The ONTAP CLI to invoke")]
   [String]$Command,
   [Parameter(Mandatory=$False, HelpMessage="If specified the CLI output is logged")]
   [Bool]$VerboseLogging
)
#'------------------------------------------------------------------------------
#'Connect to the Cluster.
#'------------------------------------------------------------------------------
Connect-WFACluster $Cluster
#'------------------------------------------------------------------------------
#'Convert the CLI command to the API to invoke.
#'------------------------------------------------------------------------------
[String]$Command = $Command.Trim();
If($Command.Contains(" ")){
   [Array]$cmd = $Command.Split(" ")
}Else{
   [Array]$cmd = $Command
}
$api = $("&amp;lt;system-cli&amp;gt;&amp;lt;args&amp;gt;&amp;lt;arg&amp;gt;" + ($cmd -join "&amp;lt;/arg&amp;gt;&amp;lt;arg&amp;gt;") + "&amp;lt;/arg&amp;gt;&amp;lt;/args&amp;gt;&amp;lt;/system-cli&amp;gt;")
#'------------------------------------------------------------------------------
#'Invoke the API.
#'------------------------------------------------------------------------------
Try{
   $output = Invoke-NcSystemApi -Request $api -ErrorAction Stop
   Get-WFALogger -Info -Message $("Executed Command`: " + $([String]::Join(" ", $command)))
}Catch{
   Get-WFALogger -Error -Message $("Failed Executed Command`: " + $([String]::Join(" ", $command)) + ". Error " + $_.Exception.Message)
   Throw $("Failed Executing Command`: " + $([String]::Join(" ", $command)))
}
#'------------------------------------------------------------------------------
#'Log the CLI output if required.
#'------------------------------------------------------------------------------
If($VerboseLogging -And $output.results."cli-result-value" -eq 1){
   [Array]$lines = $output.results."cli-output".Trim().Split("`n")
   ForEach($line In $lines){
      Get-WFALogger -Info -Message $line
   }
}
#'------------------------------------------------------------------------------&lt;/PRE&gt;
&lt;P&gt;Hope that helps&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/Matt&lt;/P&gt;</description>
      <pubDate>Sun, 12 Jan 2020 23:53:13 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153498#M27468</guid>
      <dc:creator>mbeattie</dc:creator>
      <dc:date>2020-01-12T23:53:13Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153518#M27469</link>
      <description>&lt;P&gt;Matt,&amp;nbsp; Thank you for the suggested solution.&amp;nbsp; I have deployed the code into a WFA command to test.&amp;nbsp; It seems to run fine, except that the output from the command is&amp;nbsp;either&amp;nbsp;not returned or not logged.&amp;nbsp; Below is the output I see, even though I set "VerboseLogging" to true:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10:19:45.261 INFO&amp;nbsp; [Execute cDOT Command] ### Command 'Execute cDOT Command' in 'POWER_SHELL' ###&lt;BR /&gt;10:19:51.763 INFO&amp;nbsp; [Execute cDOT Command] Using cached cluster connection&lt;BR /&gt;10:19:53.008 INFO&amp;nbsp; [Execute cDOT Command] Executed Command: date&lt;BR /&gt;10:19:53.055 INFO&amp;nbsp; [Execute cDOT Command] Command completed, took 7794 milliseconds&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jan 2020 16:27:56 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153518#M27469</guid>
      <dc:creator>DavidSpano</dc:creator>
      <dc:date>2020-01-13T16:27:56Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153522#M27470</link>
      <description>&lt;P&gt;Matt,&lt;/P&gt;
&lt;P&gt;Running a second test to actually modify a volume on the cluster seems to show that the command is not executing even though the Invoke-NcSystemApi does not return a failure.&amp;nbsp; Using a test volume, I list the current snapshots:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;sdcdclr050::&amp;gt; volume snapshot show -vserver dsvmnas04 -volume dev_appz&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---Blocks---&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;Vserver&amp;nbsp; Volume&amp;nbsp;&amp;nbsp; Snapshot&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Size Total% Used%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;-------- -------- ------------------------------------- -------- ------ -----&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;dsvmnas04&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dev_appz&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-07_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 672KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 40%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-08_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 572KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 36%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-09_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 504KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 33%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-10_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 364KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 26%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-11_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 644KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 39%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-12_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 456KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 31%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-12_0800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 108KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 10%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-12_1200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 472KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 32%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-12_1600&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 108KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 10%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-12_2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 108KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 10%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daily.2020-01-13_0010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 416KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 29%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-13_0400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 108KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp; 10%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hourly.2020-01-13_0800&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 100KB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0%&amp;nbsp;&amp;nbsp;&amp;nbsp; 9%&lt;/EM&gt;&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT color="#000000"&gt;&lt;EM&gt;13 entries were displayed.&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I then run the command with the following Inputs:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Invoke-NcSystemApi-Inputs.PNG" style="width: 400px;"&gt;&lt;img src="https://community.netapp.com/t5/image/serverpage/image-id/9476iC111173A6CD2C5C0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Invoke-NcSystemApi-Inputs.PNG" alt="Invoke-NcSystemApi-Inputs.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I list the snapshots on the volume again, I don't see a new snapshot named "testsnap".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When I check the Audit log, I don't find any logging of the API command.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://10.33.8.38/spi/sdcdclr050-01/etc/log/" target="_blank"&gt;https://xxxxxxx050/spi/xxxxxx050-01/etc/log/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jan 2020 16:48:44 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153522#M27470</guid>
      <dc:creator>DavidSpano</dc:creator>
      <dc:date>2020-01-13T16:48:44Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153527#M27471</link>
      <description>&lt;P&gt;Hi David,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've tweaked the code and tested it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Param(
   [Parameter(Mandatory=$True, HelpMessage="The Cluster name or IP Address")]
   [String]$Cluster,
   [Parameter(Mandatory=$True, HelpMessage="The ONTAP CLI to invoke")]
   [String]$Command,
   [Parameter(Mandatory=$False, HelpMessage="The ONTAP CLI privilege")]
   [ValidateSet("admin","advanced","diag")]
   [String]$Privilege,
   [Parameter(Mandatory=$False, HelpMessage="If specified the CLI output is logged")]
   [Bool]$VerboseLogging
)
#'------------------------------------------------------------------------------
#'Connect to the Cluster.
#'------------------------------------------------------------------------------
Connect-WFACluster $Cluster
#'------------------------------------------------------------------------------
#'Convert the CLI command to the API to invoke.
#'------------------------------------------------------------------------------
[String]$Command = $Command.Trim();
If($Command.Contains(" ")){
   [Array]$cmd = $Command.Split(" ")
}Else{
   [Array]$cmd = $Command
}
If($Privilege){
   $cmd[0] = $("set $Privilege`;" + $cmd[0])
}
$api = $("&amp;lt;system-cli&amp;gt;&amp;lt;args&amp;gt;&amp;lt;arg&amp;gt;" + ($cmd -join "&amp;lt;/arg&amp;gt;&amp;lt;arg&amp;gt;") + "&amp;lt;/arg&amp;gt;&amp;lt;/args&amp;gt;&amp;lt;/system-cli&amp;gt;")
#'------------------------------------------------------------------------------
#'Invoke the API.
#'------------------------------------------------------------------------------
Try{
   $output = Invoke-NcSystemApi -Request $api -ErrorAction Stop
   Get-WFALogger -Info -Message $("Executed Command`: " + $([String]::Join(" ", $command)))
}Catch{
   Get-WFALogger -Error -Message $("Failed Executed Command`: " + $([String]::Join(" ", $command)) + ". Error " + $_.Exception.Message)
   Throw $("Failed Executing Command`: " + $([String]::Join(" ", $command)))
}
#'------------------------------------------------------------------------------
#'Log the CLI output if required.
#'------------------------------------------------------------------------------
If($VerboseLogging -And $output.results."cli-result-value" -eq 1){
   [Array]$lines = $output.results."cli-output".Trim().Split("`n")
   ForEach($line In $lines){
      If(-Not([String]::IsNullOrEmpty($line))){
         Get-WFALogger -Info -Message $line
      }
   }
}
#'------------------------------------------------------------------------------&lt;/PRE&gt;
&lt;P&gt;EG: Create a volume snapshot via a CLI:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;11:30:14.845 INFO  [invoke_system_api] ### Command 'invoke_system_api' in 'POWER_SHELL' ###
11:30:27.471 INFO  [invoke_system_api] Get-WfaCredentials -Host cluster1
11:30:27.502 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
11:30:27.533 INFO  [invoke_system_api] Connect-Controller -Type CLUSTER -Name cluster1 -Credential System.Management.Automation.PSCredential -Vserver  -SSLversion TLSv1
11:30:27.580 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
11:30:27.643 INFO  [invoke_system_api] Connect-NcController (with credentials) -Name cluster1 -Timeout 60000 -ErrorAction Stop -Port 443 -SSLVersion TLSv1
11:30:29.518 INFO  [invoke_system_api] Connected to cluster node
11:30:31.549 INFO  [invoke_system_api] Executed Command: &lt;U&gt;&lt;STRONG&gt;volume snapshot create -vserver vserver1 -volume volume1 -snapshot snapshot3&lt;/STRONG&gt;&lt;/U&gt;
11:30:31.611 INFO  [invoke_system_api] Command completed, took 16766 milliseconds
&lt;/PRE&gt;
&lt;P&gt;Display the volume snapshots using CLI:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;11:31:38.837 INFO  [invoke_system_api] ### Command 'invoke_system_api' in 'POWER_SHELL' ###
11:31:52.134 INFO  [invoke_system_api] Get-WfaCredentials -Host cluster1
11:31:52.166 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
11:31:52.197 INFO  [invoke_system_api] Connect-Controller -Type CLUSTER -Name cluster1 -Credential System.Management.Automation.PSCredential -Vserver  -SSLversion TLSv1
11:31:52.259 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
11:31:52.306 INFO  [invoke_system_api] Connect-NcController (with credentials) -Name cluster1 -Timeout 60000 -ErrorAction Stop -Port 443 -SSLVersion TLSv1
11:31:54.619 INFO  [invoke_system_api] Connected to cluster node
11:31:54.884 INFO  [invoke_system_api] Executed Command: &lt;U&gt;&lt;STRONG&gt;volume snapshot show -vserver vserver1 -volume volume1&lt;/STRONG&gt;&lt;/U&gt;
11:31:54.916 INFO  [invoke_system_api] ---Blocks---
11:31:54.931 INFO  [invoke_system_api] Vserver  Volume   Snapshot                                  Size Total% Used%
11:31:54.963 INFO  [invoke_system_api] -------- -------- ------------------------------------- -------- ------ -----
11:31:54.994 INFO  [invoke_system_api] vserver1 volume1
11:31:55.009 INFO  [invoke_system_api]                   weekly.2020-01-05_0015                   548KB     0%   46%
11:31:55.041 INFO  [invoke_system_api]                   weekly.2020-01-12_0015                   652KB     0%   50%
11:31:55.056 INFO  [invoke_system_api]                   daily.2020-01-13_0010                    548KB     0%   46%
11:31:55.088 INFO  [invoke_system_api]                   daily.2020-01-14_0010                    524KB     0%   45%
11:31:55.103 INFO  [invoke_system_api]                   hourly.2020-01-14_0605                   156KB     0%   19%
11:31:55.134 INFO  [invoke_system_api]                   hourly.2020-01-14_0705                   384KB     0%   37%
11:31:55.150 INFO  [invoke_system_api]                   hourly.2020-01-14_0805                   156KB     0%   19%
11:31:55.197 INFO  [invoke_system_api]                   hourly.2020-01-14_0905                   376KB     0%   37%
11:31:55.213 INFO  [invoke_system_api]                   hourly.2020-01-14_1005                   156KB     0%   19%
11:31:55.244 INFO  [invoke_system_api]                   hourly.2020-01-14_1105                   364KB     0%   36%
11:31:55.259 INFO  [invoke_system_api]                   snapshot1                                140KB     0%   18%
11:31:55.291 INFO  [invoke_system_api]                   snapshot2                                140KB     0%   18%
11:31:55.322 INFO  [invoke_system_api]                   &lt;U&gt;&lt;STRONG&gt;snapshot3&lt;/STRONG&gt;&lt;/U&gt;                                136KB     0%   17%
11:31:55.338 INFO  [invoke_system_api] 13 entries were displayed.
11:31:55.416 INFO  [invoke_system_api] Command completed, took 16579 milliseconds
&lt;/PRE&gt;
&lt;P&gt;The command is logged in: &lt;STRONG&gt;https://&amp;lt;%cluster_name%&amp;gt;/spi/&amp;lt;%node_name%&amp;gt;/etc/log/mlog/auditlog.log&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note: I've tested this on WFA5 using an ONTAP 9.6 simulator. The WFA user cached credentials used to connect to the cluster has the admin role.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/Matt&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jan 2020 00:44:25 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153527#M27471</guid>
      <dc:creator>mbeattie</dc:creator>
      <dc:date>2020-01-14T00:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153534#M27472</link>
      <description>&lt;P&gt;Matt,&lt;/P&gt;
&lt;P&gt;I plugged in your new code into the test command and I am still getting the same failure as described above.&amp;nbsp; It must be due to my configuration being different.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My environment is: WFA Server Windows 2012 R2, WFA 4.2, Clustered ONTAP 9.3P15; PSToolkit 9.7; Putty 0.73&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Weeks back, I looked into upgrading our environment to WFA5.0.1, but we have a lot of 7Mode systems that only support TLS1.0.&amp;nbsp; It turns out that WFA5.0.1 no longer supports TLS1.0.&amp;nbsp; For this reason, I cannot upgrade to WFA5 at this time.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is there anyway you could test on WFA 4.2?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Either way, thanks for your help.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jan 2020 14:38:56 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153534#M27472</guid>
      <dc:creator>DavidSpano</dc:creator>
      <dc:date>2020-01-14T14:38:56Z</dc:date>
    </item>
    <item>
      <title>Re: Invoke-NcSsh works, but throws exception in WFA</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153543#M27475</link>
      <description>&lt;P&gt;Hi David,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I do have WFA4.2 running on WIN2K12R2 in my lab and tested it for you. It works:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;09:41:40.862 INFO  [invoke_system_api] ### Command 'invoke_system_api' in 'POWER_SHELL' ###
09:42:05.691 INFO  [invoke_system_api] Get-WfaCredentials -Host cluster1
09:42:05.722 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
09:42:05.847 INFO  [invoke_system_api] Connect-Controller -Type CLUSTER -Name cluster1 -Credential System.Management.Automation.PSCredential -Vserver  -SSLversion TLSv1
09:42:05.894 INFO  [invoke_system_api] Credentials successfully provided for 'cluster1'
09:42:06.003 INFO  [invoke_system_api] Connect-NcController (with credentials) -Name cluster1 -Timeout 60000 -ErrorAction Stop -Port 443 -SSLVersion TLSv1
09:42:09.972 INFO  [invoke_system_api] Connected to cluster node
09:42:10.550 INFO  [invoke_system_api] Executed Command: snapshot show -volume volume1 -vserver vserver1
09:42:10.597 INFO  [invoke_system_api] ---Blocks---
09:42:10.613 INFO  [invoke_system_api] Vserver  Volume   Snapshot                                  Size Total% Used%
09:42:10.675 INFO  [invoke_system_api] -------- -------- ------------------------------------- -------- ------ -----
09:42:10.691 INFO  [invoke_system_api] vserver1 volume1
09:42:10.706 INFO  [invoke_system_api]                   weekly.2020-01-05_0015                   548KB     0%   49%
09:42:10.722 INFO  [invoke_system_api]                   weekly.2020-01-12_0015                   652KB     0%   54%
09:42:10.816 INFO  [invoke_system_api]                   daily.2020-01-14_0010                    580KB     0%   51%
09:42:10.831 INFO  [invoke_system_api]                   snapshot1                                140KB     0%   20%
09:42:10.863 INFO  [invoke_system_api]                   snapshot2                                140KB     0%   20%
09:42:10.878 INFO  [invoke_system_api]                   snapshot3                                524KB     0%   48%
09:42:10.925 INFO  [invoke_system_api]                   daily.2020-01-15_0010                    508KB     0%   47%
09:42:10.941 INFO  [invoke_system_api]                   hourly.2020-01-15_0405                   156KB     0%   22%
09:42:10.987 INFO  [invoke_system_api]                   hourly.2020-01-15_0505                   440KB     0%   44%
09:42:11.003 INFO  [invoke_system_api]                   hourly.2020-01-15_0605                   156KB     0%   22%
09:42:11.066 INFO  [invoke_system_api]                   hourly.2020-01-15_0705                   384KB     0%   41%
09:42:11.081 INFO  [invoke_system_api]                   hourly.2020-01-15_0805                   156KB     0%   22%
09:42:11.113 INFO  [invoke_system_api]                   hourly.2020-01-15_0905                   364KB     0%   39%
09:42:11.206 INFO  [invoke_system_api] 13 entries were displayed.
09:42:11.269 INFO  [invoke_system_api] Command completed, took 10407 milliseconds
&lt;/PRE&gt;
&lt;P&gt;The difference would be the version of ONTAP perhaps (i doubt that is the issue). I am using the default cluster admin user in the WFA credentials for an ONTAP 9.6 simulator so it's running within a user that has the admin role.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Have you configured any delegated access that might be restricting it from working?&lt;/LI&gt;
&lt;LI&gt;Have you considered alternatives. EG: &lt;A title="https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html" href="https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html" target="_blank" rel="noopener"&gt;https://docs.ansible.com/ansible/latest/modules/na_ontap_command_module.html&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Does the following code work externally to WFA?&lt;/LI&gt;
&lt;/OL&gt;
&lt;PRE&gt;Param(
   [Parameter(Mandatory=$True, HelpMessage="The Cluster name or IP Address")]
   [String]$Cluster,
   [Parameter(Mandatory=$True, HelpMessage="The ONTAP CLI to invoke")]
   [String]$Command,
   [Parameter(Mandatory=$False, HelpMessage="The ONTAP CLI privilege")]
   [ValidateSet("admin","advanced","diag")]
   [String]$Privilege,
   [Parameter(Mandatory=$False, HelpMessage="If specified the CLI output is logged")]
   [Bool]$VerboseLogging,
   [Parameter(Mandatory=$True, HelpMessage="The Credentials to connect to the cluster")]
   [System.Management.Automation.PSCredential]$Credentials
)
#'------------------------------------------------------------------------------
#'Import the DataONTAP PSTK.
#'------------------------------------------------------------------------------
[String]$moduleName = "DataONTAP"
Try{
   Import-Module -Name $moduleName -ErrorAction Stop
   Write-Host "Imported Module ""$moduleName"""
}Catch{
   Write-Warning -Message $("Failed importing module ""$moduleName"". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Connect to the Cluster.
#'------------------------------------------------------------------------------
Try{
   Connect-NcController -Name $Cluster -HTTPS -Credential $Credentials -ErrorAction Stop | Out-Null
   Write-Host "Connect to cluster ""$Cluster"""
}Catch{
   Write-Warning -Message $("Failed connecting to cluster ""$Cluster"". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Convert the CLI command to the API to invoke.
#'------------------------------------------------------------------------------
[String]$Command = $Command.Trim();
If($Command.Contains(" ")){
   [Array]$cmd = $Command.Split(" ")
}Else{
   [Array]$cmd = $Command
}
If($Privilege){
   $cmd[0] = $("set $Privilege`;" + $cmd[0])
}
$api = $("&amp;lt;system-cli&amp;gt;&amp;lt;args&amp;gt;&amp;lt;arg&amp;gt;" + ($cmd -join "&amp;lt;/arg&amp;gt;&amp;lt;arg&amp;gt;") + "&amp;lt;/arg&amp;gt;&amp;lt;/args&amp;gt;&amp;lt;/system-cli&amp;gt;")
#'------------------------------------------------------------------------------
#'Invoke the API.
#'------------------------------------------------------------------------------
Try{
   $output = Invoke-NcSystemApi -Request $api -ErrorAction Stop
   Write-Host $("Executed Command`: " + $([String]::Join(" ", $command)))
}Catch{
   Write-Warning -Message $("Failed Executed Command`: " + $([String]::Join(" ", $command)) + ". Error " + $_.Exception.Message)
   Break;
}
#'------------------------------------------------------------------------------
#'Log the CLI output if required.
#'------------------------------------------------------------------------------
If($VerboseLogging -And $output.results."cli-result-value" -eq 1){
   [Array]$lines = $output.results."cli-output".Trim().Split("`n")
   ForEach($line In $lines){
      If(-Not([String]::IsNullOrEmpty($line))){
         Write-Host $line
      }
   }
}
#'------------------------------------------------------------------------------&lt;/PRE&gt;
&lt;P&gt;Example Output:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;PS D:\Scripts\PowerShell\Projects\InvokeSystemApi&amp;gt; $Credentials = Get-Credential -Credential admin
PS D:\Scripts\PowerShell\Projects\InvokeSystemApi&amp;gt; .\InvokeSystemApi.ps1 -Cluster cluster1 -Command "snapshot show -volume volume1 -vserver vserver1" -VerboseLogging $True -Credentials $credentials
Imported Module "DataONTAP"
Connect to cluster "cluster1"
Executed Command: snapshot show -volume volume1 -vserver vserver1
---Blocks---
Vserver  Volume   Snapshot                                  Size Total% Used%
-------- -------- ------------------------------------- -------- ------ -----
vserver1 volume1
                  weekly.2020-01-05_0015                   548KB     0%   46%
                  weekly.2020-01-12_0015                   652KB     0%   50%
                  daily.2020-01-14_0010                    580KB     0%   47%
                  snapshot1                                140KB     0%   18%
                  snapshot2                                140KB     0%   18%
                  snapshot3                                524KB     0%   45%
                  daily.2020-01-15_0010                    512KB     0%   44%
                  hourly.2020-01-15_0505                   440KB     0%   40%
                  hourly.2020-01-15_0605                   156KB     0%   19%
                  hourly.2020-01-15_0705                   384KB     0%   37%
                  hourly.2020-01-15_0805                   156KB     0%   19%
                  hourly.2020-01-15_0905                   372KB     0%   36%
                  hourly.2020-01-15_1005                   148KB     0%   19%
13 entries were displayed.&lt;/PRE&gt;
&lt;P&gt;/Matt&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jan 2020 23:30:42 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/Invoke-NcSsh-works-but-throws-exception-in-WFA/m-p/153543#M27475</guid>
      <dc:creator>mbeattie</dc:creator>
      <dc:date>2020-01-14T23:30:42Z</dc:date>
    </item>
  </channel>
</rss>

