whose middle step is not script-friendly.
Perhaps not, but it's IMO not so unfriendly as to make it *far* too expensive to parse correctly. So what I would try is to script it, using some powerful pattern matching tool(s) such as that available in Perl. I can see that it may take a rather skilled programmed to get this right.
I agree with you that it would seem very convenient to be able to do
cifs terminate <username>
I suspect there's a potential problem here though, and it may be the reason for NetApp not having (yet) implemented that semantics: there may be several users connected from the same CIFS client (e.g. MS Windows host, or UNIX host with smbclient for example). If you then do 'cifs terminate <wsname>' it would not be the correct thing to do.
I don't know if there would be 2 separate resources on the server side (in ONTAP CIFS handling) in such a case so that you can terminate one of them and leave the rest unaffected. If not, it's probably very hard to do a correct and logical implementaion of the semantics one wants here. Caveat lector: I'm not even close to knowing enough about CIFS inner workings to feel very sure about any of the above.
(There doesn't seem to be an "mv" or similar, although I do see an "mv" under priv/advanced... but I'm always slightly nervous around priv/advanced.)
Does even that work if the directory is "held" by an actice CIFS session from a client? I suspect not. Also, you might not be able to script this, i.e. is it possible to do rsh <file> priv set advanced mv <from> <to> or do you have to be interactively connected to the console to use this mv?
Cheers, M