I just tried connecting to a controller that I have connected to countless times in the past and got an RPC error with access denied. When I issues the connect command again but this time force it to get my credentials (I enter my current credentials) it works. Anyone have any ideas how to correct this?
PS C:\Scripts> Connect-NaController netapp01
Connect-NaController : RPC Error: Access is denied. Code 0x5.
At line:1 char:1
+ Connect-NaController netapp01
+ CategoryInfo : InvalidResult: (netapp01:NaController) [Connect-NaController], EAPITRANSMISSION
+ FullyQualifiedErrorId : RpcConnectionFailed,DataONTAP.PowerShell.SDK.ConnectNaController
PS C:\Scripts> Connect-NaController netapp01-Credential (Get-Credential)
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Name Address Ontapi Version
---- ------- ------ -------
netapp01 22.214.171.124 1.13 Data ONTAP Release 8.0.2P6 7-Mode: Fri Jan 27 14:48:08 PST 2012
Solved! See The Solution
I guess your credentials might have got removed from the credential cache, can you try running
Get-NaCredential and check that you don't get any blank output?
Here's the description of this cmdlet quoted in help on the cmdlet
"List entries in the credentials cache. Only entries that are usable by the current user are listed. This may include credentials that were saved with user or system scope."
I guess You would need to use Add-NaCredential to save login credentials for a Data Ontap Controller, Here's the description of this cmdlet quoted in help on the cmdlet
Save login credentials for a Data ONTAP controller. The cached credentials are available to Connect-NaController
and Invoke-NaSsh, making these cmdlets as simple to use with HTTP/HTTPS connections as when using RPC connections.
The saved credentials are encrypted for safe storage. By default, a set of credentials is saved using the current
user context, so that only the same Windows user can retrieve them. If an application of the Toolkit must utilize
the cached credentials while running under some other context, specify the -SystemScope parameter. This saves the
credentials such that any process or user on the local system can access them, so this option should only be used
on a system with limited user access.
Any number of Toolkit users may store credentials for a given storage controller in the cache, but a user will
only be able to see and utilize credentials saved using his account identity or the system identity.
The credentials cache is designed to be interoperable with that created by the PowerShell cmdlets bundled with
NetApp's ApplianceWatch PRO 2.1 and later. However, the AppWatch cmdlets only support saving credentials with
System scope, so be sure to use the -SystemScope parameter with Data ONTAP PowerShell Toolkit credential cmdlets
if interoperability is important.
The controller may be specified by name or address, by an NaController object, or by the value in
Here's some stuff i tested out, i connected to a controller using cached credentials, i saw that indeed my cached credentials were present when i ran "Get-NaCredential"
Later i piped the output of Get-NaCredential to Remove-NaCredential and i again reconnected to the filer and i got an access denied error.
Again i used "Add-NaCredential" to add my Controller Credentials to the Credential Cache, and when i tried re-connecting it worked.
Here's a screen cap of the steps.