<?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: Get user AD groups in Visual LISP, AutoLISP and General Customization Forum</title>
    <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9390817#M77043</link>
    <description>&lt;P&gt;You would be better writing bat to a known directory as the files are never erased if using vl temp unless after reading does a delete.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; (vl-file-delete f)
(princ)
)  ; end defun&lt;/LI-CODE&gt;</description>
    <pubDate>Sat, 21 Mar 2020 05:15:40 GMT</pubDate>
    <dc:creator>Sea-Haven</dc:creator>
    <dc:date>2020-03-21T05:15:40Z</dc:date>
    <item>
      <title>Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9387656#M77040</link>
      <description>&lt;P&gt;I am looking to load lisp routines in an acaddoc based on the users Active Directory groups. Has anyone done this before? How can i connect a LISP routine to active directory.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 15:46:44 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9387656#M77040</guid>
      <dc:creator>drew_dewit</dc:creator>
      <dc:date>2020-03-19T15:46:44Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9388500#M77041</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This isn't elegant, but it will work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It involves running &lt;STRONG&gt;net user /domain&lt;/STRONG&gt; for the current user &amp;amp; parsing the output&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It involves some temporary files - I've put everything in C:\Temp in this example&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Create c:\temp\ad.bat&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;@Anonymous off
net user /domain %1 &amp;gt; c:\temp\out.txt​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;In your lisp code call it like this&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;(startapp "c:\\temp\\ad.bat" (getenv "USERNAME"))​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;That will create a text file&amp;nbsp;c:\temp\out.txt&lt;/LI&gt;&lt;LI&gt;Open the file &amp;amp; read all the lines until you get to one that starts with&amp;nbsp;&lt;STRONG&gt;Global Group memberships&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;From that line to the end of the file you get a list of groups&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;Logon hours allowed          All

Local Group Memberships
Global Group memberships     *CADPRO-USERS         *CADPRO-MANAGE
                             *CADPRO-VPN           *Domain Users
                             *CADPRO-TECH​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Split each line to get the group names, which begin with a &lt;STRONG&gt;*&lt;/STRONG&gt;&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;You can do it more elegantly using a tool like DOSLib -&amp;nbsp;&lt;A href="https://wiki.mcneel.com/doslib/home" target="_blank" rel="noopener"&gt;https://wiki.mcneel.com/doslib/home&lt;/A&gt;&amp;nbsp;- which will allow you to hide the DOS window&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope that helps&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Nick&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2020 22:56:51 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9388500#M77041</guid>
      <dc:creator>Nick_Hall</dc:creator>
      <dc:date>2020-03-19T22:56:51Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9389599#M77042</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6128698"&gt;@drew_dewit&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/7162092"&gt;@Nick_Hall&lt;/a&gt;&amp;nbsp;'s approach, this will get you the contents of the text file. I don't have time to mess with it much, but it's a start in the right direction.&lt;/P&gt;&lt;P&gt;I found that I needed to add about a 3 second pause until the file could be executed through the command prompt.&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;(defun c:TEST ( / fMain fOut f txt str time)
(setq fMain (vl-filename-mktemp nil nil ".bat"))
(setq f (open fMain "w"))
(write-line "@echo off" f)
(write-line (strcat "net user /domain %1 &amp;gt; \"" (setq fOut (vl-filename-mktemp nil nil ".txt")) "\"") f)
(close f)
(startapp fMain (getenv "USERNAME"))
(setq txt '() time (getvar 'MILLISECS))
(while (&amp;lt; (- (getvar 'MILLISECS) time) 3000);&amp;lt;-- wait 3 seconds
  ;do nothing
);while
(setq f (open fOut "r"))
(while (setq str (read-line f))
  (setq txt (cons str txt))
);while
(close f)
;Do stuff with file contents here..
(foreach str txt
  (princ "\n") (princ str)
);foreach
(princ)
);defun&lt;/LI-CODE&gt;&lt;P&gt;Best,&lt;/P&gt;&lt;P&gt;~DD&lt;/P&gt;</description>
      <pubDate>Fri, 20 Mar 2020 13:54:09 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9389599#M77042</guid>
      <dc:creator>CodeDing</dc:creator>
      <dc:date>2020-03-20T13:54:09Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9390817#M77043</link>
      <description>&lt;P&gt;You would be better writing bat to a known directory as the files are never erased if using vl temp unless after reading does a delete.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; (vl-file-delete f)
(princ)
)  ; end defun&lt;/LI-CODE&gt;</description>
      <pubDate>Sat, 21 Mar 2020 05:15:40 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9390817#M77043</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2020-03-21T05:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392515#M77044</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/5680873"&gt;@CodeDing&lt;/a&gt;&amp;nbsp; for creating a fuller solution - I have a neat &amp;amp; tidy version for node.js but didn't have the time to work up an Autolisp version&lt;/P&gt;</description>
      <pubDate>Sun, 22 Mar 2020 20:02:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392515#M77044</guid>
      <dc:creator>Nick_Hall</dc:creator>
      <dc:date>2020-03-22T20:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392526#M77045</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/6254908"&gt;@Sea-Haven&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have not personally tested, but according to &lt;A href="http://help.autodesk.com/view/ACD/2018/DEU/?guid=GUID-F417A5EF-95BB-47EE-B60E-7C017635580D" target="_blank" rel="noopener"&gt;vl-filename-mktemp documentation&lt;/A&gt;:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;"&lt;SPAN&gt;All file names generated by&amp;nbsp;&lt;/SPAN&gt;vl-filename-mktemp&lt;SPAN&gt;&amp;nbsp;during a session are deleted when you exit the application.&lt;/SPAN&gt;"&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 22 Mar 2020 20:16:05 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392526#M77045</guid>
      <dc:creator>CodeDing</dc:creator>
      <dc:date>2020-03-22T20:16:05Z</dc:date>
    </item>
    <item>
      <title>Re: Get user AD groups</title>
      <link>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392733#M77046</link>
      <description>&lt;P&gt;Thanks for that always learning, only issue may be if you don't exit cleanly etc.but delete-file will probably not be used also.&lt;/P&gt;</description>
      <pubDate>Sun, 22 Mar 2020 23:55:49 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/get-user-ad-groups/m-p/9392733#M77046</guid>
      <dc:creator>Sea-Haven</dc:creator>
      <dc:date>2020-03-22T23:55:49Z</dc:date>
    </item>
  </channel>
</rss>

