Download

{{{!Python

#!/usr/bin/python

import re import pprint from ontapi.NaServer import * from ontapi.NaElement import *

print "%6s %6s %6s %8s %20s %20s" % ('Files', 'Dirs', 'Change', 'Filer', 'Host', 'User') print "***********************************************************************"

for filer in ('o-new', 'g-new'):

  • server = NaServer(filer) server.setAdminUser('USERNAME', 'PASSWORD') # Invoke the start of our session listing

    cmd = NaElement('cifs-session-list-iter-start') results = server.invokeElem(cmd) # Invoke iter stepping

    cmd = NaElement('cifs-session-list-iter-next') # Get our content contexts maximum = results.getChildByName('records').getContent() tag = results.getChildByName('tag').getContent() # Add content contexts as elements to the query cmd.addNewChild('maximum', maximum) cmd.addNewChild('tag', tag) # Retrieve query, get children of 'cifs-sessions' in array results = server.invokeElem(cmd).getChildren()[1].getChildren()

  • # Iterate over results
    • for r in results:
      • # Split the host/domain/username stuff up m = re.compile('(.*?)\s\(.*?\s-\s(.*)\)').match(r.getChildByName('user').getContent()) print "%6s %6s %6s %8s %15s %s" % (
        • r.getChildByName('files').getContent(), r.getChildByName('dirs').getContent(), r.getChildByName('change-notifies').getContent(), filer, r.getChildByName('host-name').getContent(), r.getChildByName('user').getContent())
      # Send the cleanup

      cmd = NaElement('cifs-session-list-iter-end') cmd.addNewChild('tag', tag) # Invoke cleanup results = server.invokeElem(cmd)

sys.exit(0)

}}}

Project Details

Usage

Background

See Also

Projects/Python/SMallTools/netapp_filer_cifs_enum.py (last edited 2008-11-17 19:28:42 by NathanRamella)