Effective December 3, NetApp adopts Microsoft’s Business-to-Customer (B2C) identity management to simplify and provide secure access to NetApp resources.
For accounts that did not pre-register (prior to Dec 3), access to your NetApp data may take up to 1 hour as your legacy NSS ID is synchronized to the new B2C identity.
To learn more, read the FAQ and watch the video.
Need assistance? Complete this form and select “Registration Issue” as the Feedback Category.

Microsoft Virtualization Discussions

Import-Module DataONTAP very slow


Import-Module DataONTAP is very slow. How can I speed this up?


PS C:\Windows\system32> Measure-Command {Import-Module DataONTAP}

Days : 0
Hours : 0
Minutes : 1
Seconds : 29
Milliseconds : 484
Ticks : 894848737
TotalDays : 0,00103570455671296
TotalHours : 0,0248569093611111
TotalMinutes : 1,49141456166667
TotalSeconds : 89,4848737
TotalMilliseconds : 89484,8737


PS C:\Windows\system32>


Also, I installed PowerShell Toolkit 4.4, and it is showing 4.2:


PS C:\Windows\system32> Get-Module DataONTAP

ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 4.2.0 DataONTAP {Add-NaAggr, Add-NaCifsShare, Add-NaCredential, Add-NaFpol...


any ideas ?




Still figuring out why this happens


but have noticed that, if you do this first, it loads fast

(run as admin)


set-executionpolicy bypass


My system loads the module in ~250ms, do I win a prize? : )


PS C:\Users\Andrew> Measure-Command {Import-Module dataontap}

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 251
Ticks             : 2510433
TotalDays         : 2.90559375E-06
TotalHours        : 6.973425E-05
TotalMinutes      : 0.004184055
TotalSeconds      : 0.2510433
TotalMilliseconds : 251.0433

Anyway, what other modules do you have on your system?  I'm wondering if perhaps there are other modules being loaded simultaneously which affect the load time?


Perhaps do a "Get-Module" before and after "Import-Module DataONTAP" to see if there are others in the mix?



If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.


>> Improving module load time


One option to reduce the module load time is to load only the cmdlets that you'll actually use.

      For example, if you're not using 7-mode, you could load only the cmdlets matching *Nc* - running `Import-Module DataONTAP` took about 120ms more on my system than `Import-Module DataONTAP -Cmdlet *Nc*`. If you are using the Import statement as part of a script, or you use only a few cmdlets, you may want to mention them by name - that'll decrease the load time even further.


Another option to look at, would be your PSModulePath - if there are many entries there and the path to DataONTAP is near the end, that might explain some of the delay. Moving the path towards the beginning might speed up search and reduce the overall load time.


>> The version mis-match


There is a Data ONTAP PSTK version and a NetApp PSTK version. NetApp PSTK is the parent package of SANtricity and Data ONTAP PSTKs (not sure if any more have been added over the years). I suspect you downloaded NetApp PSTK 4.4, which packages Data ONTAP PSTK 4.2.


Hope this helps,



My Module-Path looks like this:


PS D:\PowerShell> $env:PSModulePath
C:\Users\waring\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell
\v1.0\Modules\;;C:\Program Files (x86)\NetApp\NetApp PowerShell Toolkit\Modules\.


How do I change this persistently and to what paths should I set it?


You don't need to,  It's pre-loaded 


Open up a PS window and without loading data ontap you should be able to type


get-natoolkitversion and see if that comes up


OK, started a clean PowerShell Window and entered get-natoolkitversion, same result, takes 92 sec


Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS C:\Users\waring> Measure-Command {get-natoolkitversion}

Days : 0
Hours : 0
Minutes : 1
Seconds : 32
Milliseconds : 822
Ticks : 928221834
TotalDays : 0,00107433082638889
TotalHours : 0,0257839398333333
TotalMinutes : 1,54703639
TotalSeconds : 92,8221834
TotalMilliseconds : 92822,1834


PS C:\Users\waring>


Ok, when you downloaded and installed data ontap, when you downloaded it, did you right click properties, and select "unblock".  At least at my company I find that i need to do that.


If the module is loaded locally, i'm not sure why it is taking this long


not sure what you mean with "unblock" I just downloaded NetApp_PowerShell_Toolkit_4.4.0.msi and ran it. I see no "unblock" when I right click and select "Properties"


When I do not explicitly import the module, then the first Nc-command I enter in the PowerShell takes very long (about 90 sec), obviously it then implicitly imports the module.


Even took a little longer when importing only Nc Modules:


PS C:\Users\waring> Measure-Command {Import-Module DataONTAP -Cmdlet *Nc*}

Days : 0
Hours : 0
Minutes : 1
Seconds : 31
Milliseconds : 948
Ticks : 919482281
TotalDays : 0,00106421560300926
TotalHours : 0,0255411744722222
TotalMinutes : 1,53247046833333
TotalSeconds : 91,9482281
TotalMilliseconds : 91948,2281


PS C:\Users\waring>


Looking into the path-suggestion....



Here was my result


Seconds : 1
Milliseconds : 573


Also, with the later versions of dataontap it should be in your psmodulepath so you don't have to import the module.   


I commented this out in my profile a while ago - #import-module dataontap


Type this



The output should have this line in there.

C:\Program Files (x86)\NetApp\NetApp PowerShell Toolkit\Modules\


The common misnumber has been consistent  from the last version as well.  I just ignore it for now.



NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner