<?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: Determining Ontap privileges needed for powershell script in Microsoft Virtualization Discussions</title>
    <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16234#M848</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Beam, that's exactly what I needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Mar 2014 18:54:47 GMT</pubDate>
    <dc:creator>MARTINLEGGATT</dc:creator>
    <dc:date>2014-03-14T18:54:47Z</dc:date>
    <item>
      <title>Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16210#M843</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Working in a least privileges environment I'm trying to confirm what Ontap privileges are needed on the Filers for a script that monitors the Filers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm currently adding a privilege re-running the script and then checking the messages file for which privilege is missing, this is obviously pretty time consuming though.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If there is an easier method it would be great to know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Martin &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 05:40:35 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16210#M843</guid>
      <dc:creator>MARTINLEGGATT</dc:creator>
      <dc:date>2025-06-05T05:40:35Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16213#M844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;IMHO, You're fighting a losing battle..&amp;nbsp;&amp;nbsp; Why on earth would you want to do this.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the powershell cmdlets let you do many things so the optimal solution is for someone who knows what they are doing in powershell and netapp and then you wll be all set&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just my opinion of course&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 17:54:40 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16213#M844</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2014-03-14T17:54:40Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16218#M845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For 7-mode, there is an easier way... the help documentation includes the required privileges for each cmdlet.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS C:\&amp;gt; Get-NaHelp Get-NaVol | select Privilege&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Privilege&lt;/P&gt;&lt;P&gt;---------&lt;/P&gt;&lt;P&gt;{api-volume-list-info-iter-start, api-volume-list-info-iter-next, api-volume-list-info-iter-end, api-volume-list-info}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For the clustered ONTAP cmdlets, there is a little bit more work you need to do.&amp;nbsp; The help documents list the API the command uses, then you need to use that information to map the API to a CLI command using the "show-ontapi" CLI command.&amp;nbsp; For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS C:\Users\SBeam&amp;gt; Get-NcHelp Get-NcVol | select API&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Api&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;{volume-get-iter}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS C:\Users\SBeam&amp;gt; Invoke-NcSsh "security login role show-ontapi -ontapi volume-get-iter"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NcController : 10.61.167.254&lt;/P&gt;&lt;P&gt;Value&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;&lt;P&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; ONTAPI Name: volume-get-iter&lt;/P&gt;&lt;P&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; CLI Command: volume show&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Steven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 18:20:58 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16218#M845</guid>
      <dc:creator>beam</dc:creator>
      <dc:date>2014-03-14T18:20:58Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16225#M846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Steven,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know we can tell the API, but can you imagine building a role for all of PS toolkit and different scenarios... Just not my cup of tea, that's all&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 18:35:27 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16225#M846</guid>
      <dc:creator>JGPSHNTAP</dc:creator>
      <dc:date>2014-03-14T18:35:27Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16230#M847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd have to say I disagree.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to do this for security purposes, I work in a least privileges environment meaning any login whether API, SSH&amp;nbsp; to the Filers has the least amount of privileges it needs to function.&lt;/P&gt;&lt;P&gt;Without going into detail many Financial and Healthcare regulations mandate this, without it you will fail an audit and as a company could be fined or shut down.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On a practical note, this script is running as an account on the Filer from a remote server, if you give the user this script runs as administrative privileges because its too difficult to restrict which ones it needs. What happens if that account gets compromised? What if the over privileged account loops through your Filers running "aggr offline/destroy"??&lt;/P&gt;&lt;P&gt;I also can't see an auditor being impressed when they ask "why does it have admin rights on the Filer" and you answer"because it was a bit difficult to work out what it needed".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you run everything as root on Linux boxes or Administrator on Windows boxes?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 18:53:32 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16230#M847</guid>
      <dc:creator>MARTINLEGGATT</dc:creator>
      <dc:date>2014-03-14T18:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16234#M848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Beam, that's exactly what I needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 18:54:47 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16234#M848</guid>
      <dc:creator>MARTINLEGGATT</dc:creator>
      <dc:date>2014-03-14T18:54:47Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16240#M849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Beam,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm running a simple script that uses Get-NaSnapmirror to check the status of snapmirrors periodically and email a report out (long story why I can't use SNMP, OCUM e.t.c).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the Get-Na-Snapmirror command as you mentioned:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS Y:\&amp;gt; Get-NaHelp Get-NaSnapmirror | select Privilege&lt;/P&gt;&lt;P&gt;Privilege&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;&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; &lt;/P&gt;&lt;P&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;&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; &lt;/P&gt;&lt;P&gt;{api-snapmirror-get-status}&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;&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; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PS Y:\&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fri Mar 14 15:13:37 GMT [filer1:useradmin.unauthorized.user:warning]: User 'snapmirror-user' denied access - missing required capability: 'api-file-write-file' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can't see why the PS script would be making this API call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm going to create a test user on a test Filer and then give it just that api-snapmirror-get-status privilege and try a simple Get-NaSnapmirror.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any pointers would be appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 19:20:52 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16240#M849</guid>
      <dc:creator>MARTINLEGGATT</dc:creator>
      <dc:date>2014-03-14T19:20:52Z</dc:date>
    </item>
    <item>
      <title>Re: Determining Ontap privileges needed for powershell script</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16243#M850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The file-write-file is most likely coming from Connect-NaController.&amp;nbsp; If you do not want the user to have file writing capabilities, you can ignore that particular error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Steven&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Mar 2014 20:27:41 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Determining-Ontap-privileges-needed-for-powershell-script/m-p/16243#M850</guid>
      <dc:creator>beam</dc:creator>
      <dc:date>2014-03-14T20:27:41Z</dc:date>
    </item>
  </channel>
</rss>

