<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8348906958242545173</id><updated>2012-01-04T11:48:41.698-08:00</updated><category term='Microsot'/><category term='Xen'/><category term='Hyper-V'/><category term='VMware'/><category term='Citrix'/><category term='Linux'/><title type='text'>Jeramy Thompson</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-2535355476239443202</id><published>2010-11-09T13:50:00.000-08:00</published><updated>2010-11-09T13:51:19.889-08:00</updated><title type='text'>NOD32 Detects Java core files as Trojans</title><content type='html'>&lt;a href="http://www.wilderssecurity.com/showthread.php?p=1781676#post1781676"&gt;http://www.wilderssecurity.com/showthread.php?p=1781676#post1781676&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;i cant wait till our contract is up with these clowns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-2535355476239443202?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/2535355476239443202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2010/11/nod32-detects-java-core-files-as.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2535355476239443202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2535355476239443202'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2010/11/nod32-detects-java-core-files-as.html' title='NOD32 Detects Java core files as Trojans'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-8370142771044630743</id><published>2010-10-17T19:38:00.000-07:00</published><updated>2010-10-17T20:03:50.956-07:00</updated><title type='text'>AT&amp;T Says the "Internet" slows down on Sundays</title><content type='html'>so for about a month i have noticed my DSL connection speed has been slowing down. Well finally after having some issues downloading some rather large projects for work on a 1.5mbps line (supposed to be 6mbps) i contacted the AT&amp;amp;T support chat after the phone support said i would be on hold for 15 minutes.&lt;br /&gt;here is the transcript.&lt;br /&gt;-------------------------------------------------------------&lt;br /&gt;System-Welcome Mr. JERAMY THOMPSON.&lt;br /&gt;System - Connecting to server. Please wait...&lt;br /&gt;System -Connection with server established.&lt;br /&gt;System -Technical Support Topic: DSL High Speed Internet&lt;br /&gt;System -ALANA has joined this session!&lt;br /&gt;System - Connected with ALANA&lt;br /&gt;ALANA - Thank you for contacting AT&amp;amp;T Internet Support, my name is Alana (aa1260). I see that I am chatting with Mr. THOMPSON. Am I correct?&lt;br /&gt;You- yes&lt;br /&gt;ALANA - I see that you provided ######### as the number associated with your DSL/Dial account. Am I correct?&lt;br /&gt;You - yes&lt;br /&gt;ALANA - I'm unable to pull the records for you, please let me know the DSL account number or at&amp;amp;t email address.&lt;br /&gt;You - ##########@att.net&lt;br /&gt;ALANA - Thank you for confirming the details.&lt;br /&gt;ALANA - How are you doing?&lt;br /&gt;You - ok&lt;br /&gt;ALANA - How can I make you a VERY SATISFIED customer, today?&lt;br /&gt;You - my dsl service slows down every sunday&lt;br /&gt;ALANA - I am sorry for the inconvenience you have experienced due to this issue. I will do my best in getting this resolved.&lt;br /&gt;You - sunday evenibg&lt;br /&gt;You - verified this with speedtest.net&lt;br /&gt;You - during the week its not an issue&lt;br /&gt;ALANA - Mr. Thompson, you get the slow speed every Sunday because it the Internet traffic is high and the server slows down.&lt;br /&gt;ALANA - Is it any particular site which you browse each Sunday, in the evening?&lt;br /&gt;ALANA - I have an option for you. I will let you know. Please don't worry.&lt;br /&gt;You - i just said i verified it with speedtest.net, so that means its ever site, it an issue with YOUR service&lt;br /&gt;ALANA - Yes, you are correct.&lt;br /&gt;ALANA - Please return me the result of the speed test.&lt;br /&gt;You - right now 1.61mbps down&lt;br /&gt;You -.63mpps up&lt;br /&gt;ALANA - Thank you. Mr. Thompson, I can see that your are getting the correct speed as per your plan. We just need to refresh the connection, Let me give you the steps and you will notice the difference after that.&lt;br /&gt;ALANA -These steps must be followed after this chat session.&lt;br /&gt;You -um no im not, i pay for 6mbps down&lt;br /&gt;ALANA -1. Please turn off your computer and the modem/router.&lt;br /&gt;You -i have rebooted the modem several times, this does not resolve the issue&lt;br /&gt;ALANA - Okay. Shall I complete the steps, I want to refresh the connection?&lt;br /&gt;You - go ahead&lt;br /&gt;ALANA - 1. Please turn off your computer and the modem/router.&lt;br /&gt;ALANA - 2. Unplug the wires of the modem and the DSL wire as well.&lt;br /&gt;You - if i do that i will loose this chat session&lt;br /&gt;ALANA - 3. Leave them for 5 minutes&lt;br /&gt;ALANA - I said earlier that please do this after this chat session.&lt;br /&gt;You - ok done all of that&lt;br /&gt;ALANA - I'm sharing this on my experience.&lt;br /&gt;ALANA - This resolves the temporary slow issues.&lt;br /&gt;ALANA - Okay.&lt;br /&gt;ALANA - May I ask you to wait for 2 minutes while I research on your issue/query?&lt;br /&gt;You - sure&lt;br /&gt;ALANA - Thank you for your patience.&lt;br /&gt;ALANA - May I know the make and model of the modem/router which you are using?&lt;br /&gt;You - netgear DGN2200&lt;br /&gt;You - i have a speedstream around here some where, it did the same thing last weekend&lt;br /&gt;ALANA - Mr. Thompson, I want to share with you that we don't support Netgear routers as this is not an at&amp;amp;t provided routers. However, I'm running the line test for you.&lt;br /&gt;You - ok ill plug in the 2wire. yup, same problem&lt;br /&gt;ALANA - I'm running the line test.&lt;br /&gt;ALANA - Mr. Thompson, there is no issues in the line. You will have to contact Netgear directly.&lt;br /&gt;ALANA - Else, please isolate the Netgear and be back to us.&lt;br /&gt;You - as i just explained i have tried 2 diffrent modems, and the issue persists, why would i contact netgear about YOUR DSL?&lt;br /&gt;ALANA - I said to contact Netgear because you are currently using their router. Please isolate Netgear and be back to chat or our Voice support. Then we can check the line using our modem and troubleshoot accordingly. But you are experiencing this issue just because of the Internet traffic, it is a common issue on Sundays.&lt;br /&gt;ALANA - this is not an issue related to our ISP because if this would be an issue you get the slow speed everyday.&lt;br /&gt;You - hold on ill remote into my work computer and see if they have an issue with slow internet traffic&lt;br /&gt;ALANA - And the speed test results may differ time to time.&lt;br /&gt;ALANA - You can check this later.&lt;br /&gt;You - no i have you on the line now, and you are telling me that the "internet" is slow on sundays&lt;br /&gt;You - im proving that you have no clue what you are talking about&lt;br /&gt;ALANA - It is not fixed that we have slow speed on Sundays, I just want to share with you that this is an issue related to the Internet traffic which can also be on holidays.&lt;br /&gt;ALANA - Please don't worry, we are here to resolve your issue.&lt;br /&gt;ALANA - I just want you to isolate the Netgear router and connect directly to the 2wire, so that we can check the line again.&lt;br /&gt;You - ill repeat what you said "But you are experiencing this issue just because of the Internet traffic, it is a common issue on Sundays."&lt;br /&gt;ALANA - Yes, I said this. We all know that Internet works slow on holidays, this is very common.&lt;br /&gt;You - ok so at work im getting my full 20mbps through MOREnet (i work for a college)&lt;br /&gt;You - no slowdown there&lt;br /&gt;ALANA - Okay, Thank you for the information.&lt;br /&gt;You - so how can i have a slow connection, from AT&amp;amp;T but not MOREnet?&lt;br /&gt;ALANA -We are not supposed to troubleshoot third party routers, I'm very sorry about that.&lt;br /&gt;You - im uing a speed stream now, supplied by you&lt;br /&gt;ALANA -We are not trained on Netgear and can't troubleshoot further.&lt;br /&gt;You - i get the same issue&lt;br /&gt;ALANA - As you said, you are running speed stream and Netgear together.&lt;br /&gt;You - apparently you cannot read or trouble shoot, "i have a speedstream around here some where, it did the same thing last weekend"&lt;br /&gt;You -"ok ill plug in the 2wire. yup, same problem"&lt;br /&gt;You -please raise this to tier 3 support or an engineer, i need someone who knows what they are talking about&lt;br /&gt;You - or i will need a tech to come out here @ 9PM next Sunday&lt;br /&gt;ALANA - Sure, let me document the case and raise it to the highest level of support.&lt;br /&gt;ALANA  -Please wait, I'm giving you the case number.&lt;br /&gt;You - someone that speaks english please&lt;br /&gt;ALANA -Sure, I'm escalating this issue to the higher level.&lt;br /&gt;ALANA -Based on our experience, this issue is best resolved when working together with one of our support agents over a telephone line because it requires multiple troubleshooting steps. Please call us at 1-877-722-3755 (24/7 Tier 2) and reference (#########). We look forward to speaking with you to resolve this issue.&lt;br /&gt;ALANA - Please pen down the case number.&lt;br /&gt;ALANA- But please, contact them after isolating the Netgear router.&lt;br /&gt;ALANA -So that they can provide better resolution.&lt;br /&gt;ALANA -You don't need to repeat the issue again.&lt;br /&gt;------------------------------------------------------------------------------------&lt;br /&gt;this went on for about another 30 minutes (i had time to kill to see what other bull they would try to feed me)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-8370142771044630743?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/8370142771044630743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2010/10/at-says-internet-slows-down-on-sundays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/8370142771044630743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/8370142771044630743'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2010/10/at-says-internet-slows-down-on-sundays.html' title='AT&amp;T Says the &quot;Internet&quot; slows down on Sundays'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-9077910427717954282</id><published>2010-07-12T09:15:00.000-07:00</published><updated>2010-07-12T09:20:38.722-07:00</updated><title type='text'>Delete Outlook 2010 Shared Calendar items</title><content type='html'>So my scenario is i have Windows 7 PC's running Office 2010 and XP machines running Office 2007 (soon to be upgraded). However the users on Office 2010 cannot delete appointments in the shared calendars.&lt;br /&gt;you get this stupid error that means nothing:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Some items cannot be deleted. They were either moved or already deleted, or access was denied&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;This error may be the result of trying to delete more than 4,000 messages at one time.  Outlook can delete no more than 4,000 messages when it is working with a server message store.&lt;br /&gt;To avoid this error, delete fewer than 4,000 messages in a single operation.&lt;br /&gt;It is also possible that you do not have the appropriate permissions to delete messages. If you need to delete content from a folder owned by someone else, contact the owner of the folder to obtain the necessary permissions, or have the owner delete the content for you.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt; It’s a simple fix for me.&lt;br /&gt;Hold SHIFT and then right click , click delete , release SHIFT and click yes&lt;br /&gt;or just click once on the item hold SHIFT hit DELETE key, release shift click yes.&lt;br /&gt;&lt;br /&gt;Took me a couple of days to find this hope it helps others.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-9077910427717954282?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/9077910427717954282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2010/07/delete-outlook-2010-shared-calendar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/9077910427717954282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/9077910427717954282'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2010/07/delete-outlook-2010-shared-calendar.html' title='Delete Outlook 2010 Shared Calendar items'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-4688983771407254051</id><published>2010-04-27T09:13:00.000-07:00</published><updated>2010-04-27T09:25:17.865-07:00</updated><title type='text'>Free Calls using Google voice on android phone!</title><content type='html'>I recently bought an android phone to use with my T-mobile Pay-as-you-go SIM. Im cheep and don't need a $100 a month phone bill so this work for me.&lt;br /&gt;&lt;br /&gt;With WiFi almost every where i go, i don't need a data plan, i just use the Wifi.&lt;br /&gt;I found a cool way to save even more minutes using the &lt;a href="http://www.google.com/mobile/voice/"&gt;Google Voice for Mobile app&lt;/a&gt; over Wifi.&lt;br /&gt;&lt;br /&gt;If you have a android phone, and are usually around a WiFi connection (home, work , etc), simply &lt;a href="https://www.google.com/accounts/ServiceLoginAuth?service=grandcentral"&gt;sign up for a google voice account&lt;/a&gt;, pick a number in your area code , give that number to whomever you want to be able to call \ recive calls from. next download the client by going to the &lt;a href="http://www.google.com/mobile/voice/"&gt;GV-mobile site&lt;/a&gt; and requesting the link, or just find it in the market place download and install.&lt;br /&gt;when you go through the setup, set it to always ask to use google voice.&lt;br /&gt;Now when you make a call select google voice, and viola, you are now making free calls over VOIP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-4688983771407254051?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/4688983771407254051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2010/04/free-calls-using-google-voice-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4688983771407254051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4688983771407254051'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2010/04/free-calls-using-google-voice-on.html' title='Free Calls using Google voice on android phone!'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-581942986163622977</id><published>2010-03-15T06:22:00.000-07:00</published><updated>2010-03-15T06:26:51.100-07:00</updated><title type='text'>Remote Defrag for XP</title><content type='html'>Thought id share this with you all. here is a simple application i wrote a while back to help setting defrag schedules on remote workstation.&lt;br /&gt;Enjoy&lt;br /&gt;&lt;a href="http://www.mediafire.com/?mon0trnmkgw"&gt;&lt;/a&gt;&lt;a href="http://www.mediafire.com/?mon0trnmkgw"&gt;Remote Defrage 2.1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-581942986163622977?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/581942986163622977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2010/03/remote-defrag-for-xp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/581942986163622977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/581942986163622977'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2010/03/remote-defrag-for-xp.html' title='Remote Defrag for XP'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-392464831978095960</id><published>2009-09-29T06:27:00.001-07:00</published><updated>2009-09-29T06:31:15.078-07:00</updated><title type='text'>Active Directory Scripting</title><content type='html'>I was looking for a script the other day and found this post very helpful&lt;br /&gt;&lt;a href="http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/groups/"&gt;&lt;br /&gt;http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/groups/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Adding 1,000 Users to a Security Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Demonstration script that creates a security group named Group1, and adds one thousand users (UserNo1 through UserNo10000) to that group. This script is not intended for use in a production environment.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_APPEND = 3&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objContainer = GetObject("LDAP://cn=Users," &amp;amp; _&lt;br /&gt;                             objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;Set objGroup = objContainer.Create("Group", "cn=Group1")&lt;br /&gt;objGroup.Put "sAMAccountName","Group1"&lt;br /&gt;objGroup.SetInfo&lt;br /&gt;For i = 1 To 1000&lt;br /&gt;strDN = ",cn=Users," &amp;amp; objRootDSE.defaultNamingContext&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_APPEND, "member", _&lt;br /&gt;  Array("cn=UserNo" &amp;amp; i &amp;amp; strDN)&lt;br /&gt;objGroup.SetInfo&lt;br /&gt;Next&lt;br /&gt;WScript.Echo "Group1 created and 1000 Users added to the group."&lt;/pre&gt; &lt;a name="AddNewMembers.htm"&gt;&lt;/a&gt;&lt;h3&gt;Adding New Members to a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Adds two groups (Executives and Scientists) and one user account (MyerKen) to the Sea-Users group in Active Directory. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_APPEND = 3&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Sea-Users,cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_APPEND, "member", _&lt;br /&gt;  Array("cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com", _&lt;br /&gt;    "cn=Executives,ou=Management,dc=NA,dc=fabrikam,dc=com", _&lt;br /&gt;    "cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="AssignGroupmanager.htm"&gt;&lt;/a&gt;&lt;h3&gt;Assigning a Group Manager&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 32);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Assigns user MyerKen as the manager of the Active Directory security group named Scientists&lt;/span&gt;. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.Put "managedBy", "cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com"&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="ChangeScopeOfGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Changing the Scope of a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Changes a global distribution group named Scientists to a universal security group. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_GLOBAL_GROUP = &amp;amp;h2&lt;br /&gt;Const ADS_GROUP_TYPE_LOCAL_GROUP = &amp;amp;h4&lt;br /&gt;Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &amp;amp;h8&lt;br /&gt;Const ADS_GROUP_TYPE_SECURITY_ENABLED = &amp;amp;h80000000&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt; ("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.Put "groupType", _&lt;br /&gt;ADS_GROUP_TYPE_GLOBAL_GROUP + ADS_GROUP_TYPE_SECURITY_ENABLED&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="CreateDomLocDistr.htm"&gt;&lt;/a&gt;&lt;h3&gt;Creating a Domain Local Distribution Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Creates a domain local Active Directory distribution group named Vendors.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_LOCAL_GROUP = &amp;amp;h4&lt;br /&gt;Set objOU = GetObject("LDAP://ou=HR,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;Set objGroup = objOU.Create("Group", "cn=Vendors")&lt;br /&gt;objGroup.Put "sAMAccountName", "vendors"&lt;br /&gt;objGroup.Put "groupType", ADS_GROUP_TYPE_LOCAL_GROUP&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="CreateGlobSecGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Creating a Global Security Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Creates a global Active Directory security group named HR-Employees. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_GLOBAL_GROUP = &amp;amp;h2&lt;br /&gt;Const ADS_GROUP_TYPE_SECURITY_ENABLED = &amp;amp;h80000000&lt;br /&gt;Set objOU = GetObject("LDAP://ou=HR,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;Set objGroup = objOU.Create("Group", "cn=HR-Employees")&lt;br /&gt;objGroup.Put "sAMAccountName", "HRStaff"&lt;br /&gt;objGroup.Put "groupType", ADS_GROUP_TYPE_GLOBAL_GROUP Or _&lt;br /&gt;  ADS_GROUP_TYPE_SECURITY_ENABLED&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="CreateUnivDistrGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Creating a Universal Distribution Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Creates a universal Active Directory distribution group named Customers. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &amp;amp;h8&lt;br /&gt;Set objOU = GetObject("LDAP://ou=Sales,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;Set objGroup = objOU.Create("Group", "cn=Customers")&lt;br /&gt;objGroup.Put "sAMAccountName", "customers"&lt;br /&gt;objGroup.Put "groupType", ADS_GROUP_TYPE_UNIVERSAL_GROUP&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="CreateUnivSecGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Creating a Universal Security Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Creates a universal Active Directory security group named All-Employees. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &amp;amp;h8&lt;br /&gt;Const ADS_GROUP_TYPE_SECURITY_ENABLED = &amp;amp;h80000000&lt;br /&gt;Set objOU = GetObject("LDAP://cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;Set objGroup = objOU.Create("Group", "cn=All-Employees")&lt;br /&gt;objGroup.Put "sAMAccountName", "AllEmployees"&lt;br /&gt;objGroup.Put "groupType", ADS_GROUP_TYPE_UNIVERSAL_GROUP Or _&lt;br /&gt; ADS_GROUP_TYPE_SECURITY_ENABLED&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="DelGroupAD.htm"&gt;&lt;/a&gt;&lt;h3&gt;Deleting a Group from Active Directory&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Deletes a group named atl-users from the HR organizational unit in the hypothetical domain fabrikam.com. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objOU = GetObject("LDAP://ou=hr, dc=fabrikam,dc=com")&lt;br /&gt;objOU.Delete "group", "cn=atl-users"&lt;/pre&gt; &lt;a name="DetermOtherGroups.htm"&gt;&lt;/a&gt;&lt;h3&gt;Determining Other Groups a Group Belongs To&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns a list of all the groups that the Active Directory security group Scientists is a member of. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;objGroup.GetInfo&lt;br /&gt;&lt;br /&gt;arrMembersOf = objGroup.GetEx("memberOf")&lt;br /&gt;&lt;br /&gt;WScript.Echo "MembersOf:"&lt;br /&gt;For Each strMemberOf in arrMembersOf&lt;br /&gt;WScript.Echo strMemberOf&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="DetermPrimGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Determining the Primary Group for a User Account&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Reports the primary group for the MyerKen Active Directory user account. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;Const E_ADS_PROPERTY_NOT_FOUND  = &amp;amp;h8000500D&lt;br /&gt;&lt;br /&gt;Set objUser = GetObject _&lt;br /&gt;  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;intPrimaryGroupID = objUser.Get("primaryGroupID")&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt;objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt;objCommand.ActiveConnection = objConnection&lt;br /&gt;objCommand.CommandText = _&lt;br /&gt;  "&lt;ldap: dc="NA,dc=fabrikam,dc=com"&gt;;(objectCategory=Group);" &amp;amp; _&lt;br /&gt;      "distinguishedName,primaryGroupToken;subtree"&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordset.EOF&lt;br /&gt;  If objRecordset.Fields("primaryGroupToken") = intPrimaryGroupID Then&lt;br /&gt;      WScript.Echo "Primary group:"&lt;br /&gt;      WScript.Echo objRecordset.Fields("distinguishedName") &amp;amp; _&lt;br /&gt;          " (primaryGroupID: " &amp;amp; intPrimaryGroupID &amp;amp; ")"&lt;br /&gt;  End If&lt;br /&gt;  objRecordset.MoveNext&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;objConnection.Close&lt;/ldap:&gt;&lt;/pre&gt; &lt;a name="EnumGroupmembership.htm"&gt;&lt;/a&gt;&lt;h3&gt;Enumerating Group Members&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Retrieves the memberOf and primaryGroupID attributes of a user account to display group membership. Note that the primaryGroupID attribute contains an integer that maps to the name of the primary group. The memberOf attribute does not contain the name of the primary group of which the user is a member.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;Const E_ADS_PROPERTY_NOT_FOUND  = &amp;amp;h8000500D&lt;br /&gt;Set objOU = GetObject _&lt;br /&gt;  ("LDAP://cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;ObjOU.Filter= Array("user")&lt;br /&gt;&lt;br /&gt;For Each objUser in objOU&lt;br /&gt;  WScript.Echo objUser.cn &amp;amp; " is a member of: "&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "Primary Group ID: " &amp;amp; _&lt;br /&gt;  objUser.Get("primaryGroupID")&lt;br /&gt;&lt;br /&gt;  arrMemberOf = objUser.GetEx("memberOf")&lt;br /&gt;&lt;br /&gt;  If Err.Number &lt;&gt;  E_ADS_PROPERTY_NOT_FOUND Then&lt;br /&gt;      For Each Group in arrMemberOf&lt;br /&gt;      WScript.Echo vbTab &amp;amp; Group&lt;br /&gt;      Next&lt;br /&gt;  Else&lt;br /&gt;      WScript.Echo vbTab &amp;amp; "memberOf attribute is not set"&lt;br /&gt;      Err.Clear&lt;br /&gt;    End If&lt;br /&gt;  Wscript.Echo VbCrLf&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="IdentifOwner.htm"&gt;&lt;/a&gt;&lt;h3&gt;Identifying the Owner of a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns the owner of an Active Directory security group named Scientists. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;Set objNtSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")&lt;br /&gt;&lt;br /&gt;WScript.Echo "Owner Tab"&lt;br /&gt;WScript.Echo "Current owner of this item: " &amp;amp; objNtSecurityDescriptor.Owner&lt;/pre&gt; &lt;a name="ModGroupProps.htm"&gt;&lt;/a&gt;&lt;h3&gt;Modifying Group Properties&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Modifies both single-value (samAccountName, mail, info) and multi-value (description) attributes for a group named Scientists. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_UPDATE = 2&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt; ("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.Put "sAMAccountName", "Scientist01"&lt;br /&gt;objGroup.Put "mail", "YoungRob@fabrikam.com"&lt;br /&gt;objGroup.Put "info", "Use this group for official communications " &amp;amp; _&lt;br /&gt;"with scientists who are contracted to work with Contoso.com."&lt;br /&gt;&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_UPDATE, _&lt;br /&gt;  "description", Array("Scientist Mailing List")&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="ModGroupType.htm"&gt;&lt;/a&gt;&lt;h3&gt;Modifying Group Type&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Changes a local group named Scientists to a global security group.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_GROUP_TYPE_GLOBAL_GROUP = &amp;amp;h2&lt;br /&gt;Const ADS_GROUP_TYPE_LOCAL_GROUP = &amp;amp;h4&lt;br /&gt;Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &amp;amp;h8&lt;br /&gt;Const ADS_GROUP_TYPE_SECURITY_ENABLED = &amp;amp;h80000000&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt; ("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.Put "groupType", _&lt;br /&gt;ADS_GROUP_TYPE_UNIVERSAL_GROUP + ADS_GROUP_TYPE_SECURITY_ENABLED&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="MoveGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Moving a Group Within a Domain&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Moves a group account from the HR OU to the Users container.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objOU = GetObject("LDAP://cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;objOU.MoveHere "LDAP://cn=atl-users,ou=HR,dc=NA,dc=fabrikam,dc=com", _&lt;br /&gt;  vbNullString&lt;/pre&gt; &lt;a name="ReadGeneralProps.htm"&gt;&lt;/a&gt;&lt;h3&gt;Reading the General Properties for a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Reads the values found on the General Properties page in Active Directory Users and Computers for a group named Scientists.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;Const ADS_GROUP_TYPE_GLOBAL_GROUP = &amp;amp;h2&lt;br /&gt;Const ADS_GROUP_TYPE_LOCAL_GROUP = &amp;amp;h4&lt;br /&gt;Const ADS_GROUP_TYPE_UNIVERSAL_GROUP = &amp;amp;h8&lt;br /&gt;Const ADS_GROUP_TYPE_SECURITY_ENABLED = &amp;amp;h80000000&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;objGroup.GetInfo&lt;br /&gt;&lt;br /&gt;strName = objGroup.Get("name")&lt;br /&gt;strSAMAccountName = objGroup.Get("sAMAccountName")&lt;br /&gt;strMail = objGroup.Get("mail")&lt;br /&gt;intgroupType = objGroup.Get("groupType")&lt;br /&gt;strInfo = objGroup.Get("info")&lt;br /&gt;&lt;br /&gt;strDescription = objGroup.GetEx("description")&lt;br /&gt;&lt;br /&gt;WScript.Echo "name: " &amp;amp; strName&lt;br /&gt;WScript.Echo "sAMAccountName: " &amp;amp; strSAMAccountName&lt;br /&gt;WScript.Echo "mail: " &amp;amp; strMail&lt;br /&gt;WScript.Echo "info: " &amp;amp; strInfo&lt;br /&gt;&lt;br /&gt;WScript.StdOut.Write "Group scope: "&lt;br /&gt;If intGroupType AND ADS_GROUP_TYPE_LOCAL_GROUP Then&lt;br /&gt;WScript.Echo "Domain local"&lt;br /&gt;ElseIf intGroupType AND ADS_GROUP_TYPE_GLOBAL_GROUP Then&lt;br /&gt;WScript.Echo "Global"&lt;br /&gt;ElseIf intGroupType AND ADS_GROUP_TYPE_UNIVERSAL_GROUP Then&lt;br /&gt;WScript.Echo "Universal"&lt;br /&gt;Else&lt;br /&gt;WScript.Echo "Unknown"&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;WScript.StdOut.Write "Group type: "&lt;br /&gt;If intGroupType AND ADS_GROUP_TYPE_SECURITY_ENABLED Then&lt;br /&gt;WScript.Echo "Security group"&lt;br /&gt;Else&lt;br /&gt;WScript.Echo "Distribution group"&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;For Each strValue in strDescription&lt;br /&gt;WScript.Echo "description: " &amp;amp; strValue&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="ReadSecDescriptor.htm"&gt;&lt;/a&gt;&lt;h3&gt;Reading the Security Descriptor for a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns information found on the security descriptor for the Active Directory group named Scientists. This script must be run under CScript.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const SE_DACL_PROTECTED = &amp;amp;H1000&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;Set objNtSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")&lt;br /&gt;&lt;br /&gt;intNtSecurityDescriptorControl = objNtSecurityDescriptor.Control&lt;br /&gt;&lt;br /&gt;WScript.Echo "Permissions Tab"&lt;br /&gt;WScript.StdOut.WriteLine "Allow inheritable permissions from the parent to"&lt;br /&gt;WScript.StdOut.Write "propogate to this object and all child objects "&lt;br /&gt;If (intNtSecurityDescriptorControl And SE_DACL_PROTECTED) Then&lt;br /&gt;Wscript.Echo "is disabled."&lt;br /&gt;Else&lt;br /&gt;WScript.Echo "is enabled."&lt;br /&gt;End If&lt;br /&gt;WScript.Echo VbCr&lt;br /&gt;&lt;br /&gt;Set objDiscretionaryAcl = objNtSecurityDescriptor.DiscretionaryAcl&lt;br /&gt;DisplayAceInformation objDiscretionaryAcl, "DACL"&lt;br /&gt;&lt;br /&gt;Sub DisplayAceInformation(SecurityStructure, strType)&lt;br /&gt;Const ADS_ACETYPE_ACCESS_ALLOWED = &amp;amp;H0&lt;br /&gt;Const ADS_ACETYPE_ACCESS_DENIED = &amp;amp;H1&lt;br /&gt;Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &amp;amp;H5&lt;br /&gt;Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &amp;amp;H6&lt;br /&gt;intAceCount = 0&lt;br /&gt;For Each objAce In SecurityStructure&lt;br /&gt;  strTrustee = Mid(objAce.Trustee,1,12)&lt;br /&gt;  If StrComp(strTrustee, "NT AUTHORITY", 1) &lt;&gt; 0 Then&lt;br /&gt;    intAceCount = intAceCount + 1&lt;br /&gt;    WScript.Echo strType &amp;amp; " permission entry: " &amp;amp; intAceCount&lt;br /&gt;    WScript.Echo "Name: " &amp;amp; objAce.Trustee&lt;br /&gt;&lt;br /&gt;    intAceType = objAce.AceType&lt;br /&gt;    If (intAceType = ADS_ACETYPE_ACCESS_ALLOWED Or _&lt;br /&gt;      intAceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT) Then&lt;br /&gt;      WScript.Echo "Type: Allow Access"&lt;br /&gt;    ElseIf (intAceType = ADS_ACETYPE_ACCESS_DENIED Or _&lt;br /&gt;      intAceType = ADS_ACETYPE_ACCESS_DENIED_OBJECT) Then&lt;br /&gt;      WScript.StdOut.Write "Type: Deny Acess"&lt;br /&gt;    Else&lt;br /&gt;      WScript.Echo "Acess Type Unknown."&lt;br /&gt;    End If&lt;br /&gt;    ReadBitsInAccessMask(objAce.AccessMask)&lt;br /&gt;    WScript.Echo VbCr&lt;br /&gt;  End If&lt;br /&gt;Next&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub ReadBitsInAccessMask(AccessMask)&lt;br /&gt;Const ADS_RIGHT_DELETE = &amp;amp;H10000&lt;br /&gt;Const ADS_RIGHT_READ_CONTROL = &amp;amp;H20000&lt;br /&gt;Const ADS_RIGHT_WRITE_DAC = &amp;amp;H40000&lt;br /&gt;Const ADS_RIGHT_WRITE_OWNER = &amp;amp;H80000&lt;br /&gt;Const ADS_RIGHT_DS_CREATE_CHILD = &amp;amp;H1&lt;br /&gt;Const ADS_RIGHT_DS_DELETE_CHILD = &amp;amp;H2&lt;br /&gt;Const ADS_RIGHT_ACTRL_DS_LIST = &amp;amp;H4&lt;br /&gt;Const ADS_RIGHT_DS_SELF = &amp;amp;H8&lt;br /&gt;Const ADS_RIGHT_DS_READ_PROP = &amp;amp;H10&lt;br /&gt;Const ADS_RIGHT_DS_WRITE_PROP = &amp;amp;H20&lt;br /&gt;Const ADS_RIGHT_DS_DELETE_TREE = &amp;amp;H40&lt;br /&gt;Const ADS_RIGHT_DS_LIST_OBJECT = &amp;amp;H80&lt;br /&gt;Const ADS_RIGHT_DS_CONTROL_ACCESS = &amp;amp;H100&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Standard Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DELETE) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_READ_CONTROL) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Read permissions."&lt;br /&gt;If (AccessMask And ADS_RIGHT_WRITE_DAC) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Write permissions."&lt;br /&gt;If (AccessMask And ADS_RIGHT_WRITE_OWNER) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Modify owner."&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Directory Service Specific Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_CREATE_CHILD) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Create child objects."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_DELETE_CHILD) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete child objects."&lt;br /&gt;If (AccessMask And ADS_RIGHT_ACTRL_DS_LIST) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Enumerate an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_READ_PROP) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Read the properties of an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_WRITE_PROP) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Write the properties of an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_DELETE_TREE) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete a tree of objects"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_LIST_OBJECT) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-List a tree of objects."&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Control Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_CONTROL_ACCESS) + _&lt;br /&gt;  (AccessMask And ADS_RIGHT_DS_SELF) = 0 Then&lt;br /&gt;  WScript.Echo "-None"&lt;br /&gt;Else&lt;br /&gt;  If (AccessMask And ADS_RIGHT_DS_CONTROL_ACCESS) Then _&lt;br /&gt;    WScript.Echo vbTab &amp;amp; "-Extended access rights."&lt;br /&gt;  If (AccessMask And ADS_RIGHT_DS_SELF) Then&lt;br /&gt;    WScript.Echo vbTab &amp;amp; "-Active Directory must validate a property "&lt;br /&gt;    WScript.Echo vbTab &amp;amp; " write operation beyond the schema definition "&lt;br /&gt;    WScript.Echo vbTab &amp;amp; " for the attribute."&lt;br /&gt;  End If&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;/pre&gt; &lt;a name="ReadSystemAccess.htm"&gt;&lt;/a&gt;&lt;h3&gt;Reading the System Access Control List for a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns information found on the System Access Control List (SACL) for an Active Directory security group named Scientists. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const SE_SACL_PROTECTED = &amp;amp;H2000&lt;br /&gt;Const ADS_SECURITY_INFO_OWNER = &amp;amp;H1&lt;br /&gt;Const ADS_SECURITY_INFO_GROUP = &amp;amp;H2&lt;br /&gt;Const ADS_OPTION_SECURITY_MASK =&amp;amp;H3&lt;br /&gt;Const ADS_SECURITY_INFO_DACL = &amp;amp;H4&lt;br /&gt;Const ADS_SECURITY_INFO_SACL = &amp;amp;H8&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_OWNER _&lt;br /&gt;Or ADS_SECURITY_INFO_GROUP Or ADS_SECURITY_INFO_DACL _&lt;br /&gt;Or ADS_SECURITY_INFO_SACL&lt;br /&gt;&lt;br /&gt;Set objNtSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")&lt;br /&gt;&lt;br /&gt;intNtSecurityDescriptorControl = objNtSecurityDescriptor.Control&lt;br /&gt;&lt;br /&gt;WScript.Echo "Auditing Tab"&lt;br /&gt;WScript.StdOut.WriteLine "Allow inheritable auditing entries from" &amp;amp; _&lt;br /&gt;"the parent to "&lt;br /&gt;WScript.StdOut.Write "propogate to this object and all child objects "&lt;br /&gt;If (intNtSecurityDescriptorControl And SE_SACL_PROTECTED) Then&lt;br /&gt;Wscript.Echo "is disabled."&lt;br /&gt;Else&lt;br /&gt;WScript.Echo "is enabled."&lt;br /&gt;End If&lt;br /&gt;WScript.Echo VbCr&lt;br /&gt;&lt;br /&gt;Set objSacl = objNtSecurityDescriptor.SystemAcl&lt;br /&gt;DisplayAceInformation objSacl, "SACL"&lt;br /&gt;&lt;br /&gt;Sub DisplayAceInformation(SecurityStructure, strType)&lt;br /&gt;Const ADS_ACETYPE_SYSTEM_AUDIT = &amp;amp;H2&lt;br /&gt;Const ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = &amp;amp;H7&lt;br /&gt;&lt;br /&gt;intAceCount = 0&lt;br /&gt;For Each objAce In SecurityStructure&lt;br /&gt;  strTrustee = Mid(objAce.Trustee,1,12)&lt;br /&gt;  If StrComp(strTrustee, "NT AUTHORITY", 1) &lt;&gt; 0 Then&lt;br /&gt;    intAceCount = intAceCount + 1&lt;br /&gt;    WScript.Echo strType &amp;amp; " permission entry: " &amp;amp; intAceCount&lt;br /&gt;    WScript.Echo "Name: " &amp;amp; objAce.Trustee&lt;br /&gt;&lt;br /&gt;    intAceType = objAce.AceType&lt;br /&gt;    WScript.Echo "ACETYPE IS: " &amp;amp; intAceType&lt;br /&gt;    If (intAceType = ADS_ACETYPE_SYSTEM_AUDIT or _&lt;br /&gt;     intAceType = ADS_ACETYPE_SYSTEM_AUDIT_OBJECT) Then&lt;br /&gt;      WScript.StdOut.Write "Type: Success or Failure Audit"&lt;br /&gt;    Else&lt;br /&gt;      WScript.StdOut.Write "Audit Type Unknown."&lt;br /&gt;    End If&lt;br /&gt;    ReadBitsInAccessMask(objAce.AccessMask)&lt;br /&gt;    WScript.Echo VbCr&lt;br /&gt;  End If&lt;br /&gt;Next&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Sub ReadBitsInAccessMask(AccessMask)&lt;br /&gt;Const ADS_RIGHT_DELETE = &amp;amp;H10000&lt;br /&gt;Const ADS_RIGHT_READ_CONTROL = &amp;amp;H20000&lt;br /&gt;Const ADS_RIGHT_WRITE_DAC = &amp;amp;H40000&lt;br /&gt;Const ADS_RIGHT_WRITE_OWNER = &amp;amp;H80000&lt;br /&gt;Const ADS_RIGHT_DS_CREATE_CHILD = &amp;amp;H1&lt;br /&gt;Const ADS_RIGHT_DS_DELETE_CHILD = &amp;amp;H2&lt;br /&gt;Const ADS_RIGHT_ACTRL_DS_LIST = &amp;amp;H4&lt;br /&gt;Const ADS_RIGHT_DS_SELF = &amp;amp;H8&lt;br /&gt;Const ADS_RIGHT_DS_READ_PROP = &amp;amp;H10&lt;br /&gt;Const ADS_RIGHT_DS_WRITE_PROP = &amp;amp;H20&lt;br /&gt;Const ADS_RIGHT_DS_DELETE_TREE = &amp;amp;H40&lt;br /&gt;Const ADS_RIGHT_DS_LIST_OBJECT = &amp;amp;H80&lt;br /&gt;Const ADS_RIGHT_DS_CONTROL_ACCESS = &amp;amp;H100&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Standard Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DELETE) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_READ_CONTROL) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Read permissions."&lt;br /&gt;If (AccessMask And ADS_RIGHT_WRITE_DAC) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Write permissions."&lt;br /&gt;If (AccessMask And ADS_RIGHT_WRITE_OWNER) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Modify owner."&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Directory Service Specific Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_CREATE_CHILD) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Create child objects."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_DELETE_CHILD) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete child objects."&lt;br /&gt;If (AccessMask And ADS_RIGHT_ACTRL_DS_LIST) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Enumerate an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_READ_PROP) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Read the properties of an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_WRITE_PROP) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Write the properties of an object."&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_DELETE_TREE) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-Delete a tree of objects"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_LIST_OBJECT) Then _&lt;br /&gt;  WScript.Echo vbTab &amp;amp; "-List a tree of objects."&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Control Access Rights"&lt;br /&gt;If (AccessMask And ADS_RIGHT_DS_CONTROL_ACCESS) + _&lt;br /&gt;  (AccessMask And ADS_RIGHT_DS_SELF) = 0 Then&lt;br /&gt;  WScript.Echo "-None"&lt;br /&gt;Else&lt;br /&gt;  If (AccessMask And ADS_RIGHT_DS_CONTROL_ACCESS) Then _&lt;br /&gt;    WScript.Echo vbTab &amp;amp; "-Extended access rights."&lt;br /&gt;  If (AccessMask And ADS_RIGHT_DS_SELF) Then&lt;br /&gt;    WScript.Echo vbTab &amp;amp; "-Active Directory must validate a property "&lt;br /&gt;    WScript.Echo vbTab &amp;amp; " write operation beyond the schema definition "&lt;br /&gt;    WScript.Echo vbTab &amp;amp; " for the attribute."&lt;br /&gt;  End If&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;/pre&gt; &lt;a name="RemoveAllMembers.htm"&gt;&lt;/a&gt;&lt;h3&gt;Removing All the Members of a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Removes all the members of an Active Directory group named Sea-Users. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_CLEAR = 1&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Sea-Users,cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_CLEAR, "member", 0&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="RemoveGroupManager.htm"&gt;&lt;/a&gt;&lt;h3&gt;Removing a Group Manager&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Removes the manager entry for the Active Directory security group named Scientists. When this script is run, the group will no longer have an assigned manager.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_CLEAR = 1&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_CLEAR, "managedBy", 0&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="RemoveUserAD.htm"&gt;&lt;/a&gt;&lt;h3&gt;Removing a User from All Active Directory Security Groups&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Removes the MyerKen user account from all Active Directory security groups.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;Const ADS_PROPERTY_DELETE = 4&lt;br /&gt;Const E_ADS_PROPERTY_NOT_FOUND  = &amp;amp;h8000500D&lt;br /&gt;&lt;br /&gt;Set objUser = GetObject _&lt;br /&gt;  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;arrMemberOf = objUser.GetEx("memberOf")&lt;br /&gt;&lt;br /&gt;If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then&lt;br /&gt;  WScript.Echo "This account is not a member of any security groups."&lt;br /&gt;  WScript.Quit&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;For Each Group in arrMemberOf&lt;br /&gt;  Set objGroup = GetObject("LDAP://" &amp;amp; Group)&lt;br /&gt;  objGroup.PutEx ADS_PROPERTY_DELETE, _&lt;br /&gt;      "member", Array("cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;  objGroup.SetInfo&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="RemoveuserFromGroup.htm"&gt;&lt;/a&gt;&lt;h3&gt;Removing a User from a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Removes user MyerKen from the group Sea-Users. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_DELETE = 4&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Sea-Users,cn=Users,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_DELETE, _&lt;br /&gt;"member", _&lt;br /&gt;  Array("cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="ReplaceGroupmemberShip.htm"&gt;&lt;/a&gt;&lt;h3&gt;Replacing Group Membership&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Replaces the existing membership of a group named Scientists with two new group members: YoungRob and ShenAlan. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Const ADS_PROPERTY_UPDATE = 2&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.PutEx ADS_PROPERTY_UPDATE, "member", _&lt;br /&gt;  Array("cn=YoungRob,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com", _&lt;br /&gt;    "cn=ShenAlan,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;objGroup.SetInfo&lt;/pre&gt; &lt;a name="RetrieveADGroups.htm"&gt;&lt;/a&gt;&lt;h3&gt;Retrieving the Active Directory Groups a User Belongs To&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns a list of all the Active Directory security groups (including the primary group) that include the MyerKen user account as a member. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;Const E_ADS_PROPERTY_NOT_FOUND  = &amp;amp;h8000500D&lt;br /&gt;&lt;br /&gt;Set objUser = GetObject _&lt;br /&gt;  ("LDAP://cn=MyerKen,ou=Management,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;intPrimaryGroupID = objUser.Get("primaryGroupID")&lt;br /&gt;arrMemberOf = objUser.GetEx("memberOf")&lt;br /&gt;&lt;br /&gt;If Err.Number = E_ADS_PROPERTY_NOT_FOUND Then&lt;br /&gt;  WScript.Echo "The memberOf attribute is not set."&lt;br /&gt;Else&lt;br /&gt;  WScript.Echo "Member of: "&lt;br /&gt;  For each Group in arrMemberOf&lt;br /&gt;      WScript.Echo Group&lt;br /&gt;  Next&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt;objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt;objCommand.ActiveConnection = objConnection&lt;br /&gt;objCommand.CommandText = _&lt;br /&gt;"&lt;ldap: dc="NA,dc=fabrikam,dc=com"&gt;;(objectCategory=Group);" &amp;amp; _&lt;br /&gt;"distinguishedName,primaryGroupToken;subtree"&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordset.EOF&lt;br /&gt;  If objRecordset.Fields("primaryGroupToken") = intPrimaryGroupID Then&lt;br /&gt;      WScript.Echo "Primary group:"&lt;br /&gt;      WScript.Echo objRecordset.Fields("distinguishedName") &amp;amp; _&lt;br /&gt;          " (primaryGroupID: " &amp;amp; intPrimaryGroupID &amp;amp; ")"&lt;br /&gt;  End If&lt;br /&gt;  objRecordset.MoveNext&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;objConnection.Close&lt;br /&gt;&lt;/ldap:&gt;&lt;/pre&gt; &lt;a name="ReturnAttribsGroupClass.htm"&gt;&lt;/a&gt;&lt;h3&gt;Returns a list of mandatory and optional attributes of the group class (as stored in the Active Directory schema). &lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returning the Attributes of the Group Class&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objGroupClass = GetObject("LDAP://schema/group")&lt;br /&gt;Set objSchemaClass = GetObject(objGroupClass.Parent)&lt;br /&gt;&lt;br /&gt;i = 0&lt;br /&gt;WScript.Echo "Mandatory attributes:"&lt;br /&gt;For Each strAttribute in objGroupClass.MandatoryProperties&lt;br /&gt;i= i + 1&lt;br /&gt;WScript.StdOut.Write i &amp;amp; vbTab &amp;amp; strAttribute&lt;br /&gt;Set objAttribute = objSchemaClass.GetObject("Property",  strAttribute)&lt;br /&gt;WScript.StdOut.Write " (Syntax: " &amp;amp; objAttribute.Syntax &amp;amp; ")"&lt;br /&gt;If objAttribute.MultiValued Then&lt;br /&gt;  WScript.Echo " Multivalued"&lt;br /&gt;Else&lt;br /&gt;  WScript.Echo " Single-valued"&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;WScript.Echo VbCrLf &amp;amp; "Optional attributes:"&lt;br /&gt;For Each strAttribute in objGroupClass.OptionalProperties&lt;br /&gt;i= i + 1&lt;br /&gt;WScript.StdOut.Write i &amp;amp; vbTab &amp;amp; strAttribute&lt;br /&gt;Set objAttribute = objSchemaClass.GetObject("Property",  strAttribute)&lt;br /&gt;WScript.StdOut.Write " [Syntax: " &amp;amp; objAttribute.Syntax &amp;amp; "]"&lt;br /&gt;If objAttribute.MultiValued Then&lt;br /&gt;  WScript.Echo " Multivalued"&lt;br /&gt;Else&lt;br /&gt;  WScript.Echo " Single-valued"&lt;br /&gt;End If&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="ReturnGPO.htm"&gt;&lt;/a&gt;&lt;h3&gt;Returning Group Object Information&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Retrieves the information found on the Object page in Active Directory Users and Computers for a security group named Scientists. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;Set objGroup = GetObject _&lt;br /&gt;("GC://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;strWhenCreated = objGroup.Get("whenCreated")&lt;br /&gt;strWhenChanged = objGroup.Get("whenChanged")&lt;br /&gt;&lt;br /&gt;Set objUSNChanged = objGroup.Get("uSNChanged")&lt;br /&gt;dblUSNChanged = _&lt;br /&gt;Abs(objUSNChanged.HighPart * 2^32 + objUSNChanged.LowPart)&lt;br /&gt;&lt;br /&gt;Set objUSNCreated = objGroup.Get("uSNCreated")&lt;br /&gt;dblUSNCreated = _&lt;br /&gt;Abs(objUSNCreated.HighPart * 2^32 + objUSNCreated.LowPart)&lt;br /&gt;&lt;br /&gt;objGroup.GetInfoEx Array("canonicalName"), 0&lt;br /&gt;arrCanonicalName = objGroup.GetEx("canonicalName")&lt;br /&gt;&lt;br /&gt;WScript.echo "CanonicalName of object:"&lt;br /&gt;For Each strValue in arrCanonicalName&lt;br /&gt;WScript.echo vbTab &amp;amp; strValue&lt;br /&gt;Next&lt;br /&gt;WScript.Echo vbCr&lt;br /&gt;&lt;br /&gt;WScript.Echo "Object class: " &amp;amp; objGroup.Class &amp;amp; vbCrLf&lt;br /&gt;WScript.echo "whenCreated: " &amp;amp; strWhenCreated &amp;amp; " (Created - GMT)"&lt;br /&gt;WScript.echo "whenChanged: " &amp;amp; strWhenChanged &amp;amp; " (Modified - GMT)"&lt;br /&gt;WScript.Echo VbCrLf&lt;br /&gt;WScript.Echo "uSNChanged: " &amp;amp; dblUSNChanged &amp;amp; " (USN Current)"&lt;br /&gt;WScript.Echo "uSNCreated: " &amp;amp; dblUSNCreated &amp;amp; " (USN Original)"&lt;/pre&gt; &lt;a name="ReturnListGroupmembers.htm"&gt;&lt;/a&gt;&lt;h3&gt;Returning a List of Group Members&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns the members of an Active Directory group named Scientists.&lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;objGroup.GetInfo&lt;br /&gt;&lt;br /&gt;arrMemberOf = objGroup.GetEx("member")&lt;br /&gt;&lt;br /&gt;WScript.Echo "Members:"&lt;br /&gt;For Each strMember in arrMemberOf&lt;br /&gt;WScript.echo strMember&lt;br /&gt;Next&lt;/pre&gt; &lt;a name="ReturnManaged.htm"&gt;&lt;/a&gt;&lt;h3&gt;Returning Managed By Information for a Group&lt;/h3&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;Returns information about the manager assigned to an Active Directory security group named Scientists. &lt;/span&gt;&lt;br /&gt;&lt;pre class="code"&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Set objGroup = GetObject _&lt;br /&gt;("LDAP://cn=Scientists,ou=R&amp;amp;D,dc=NA,dc=fabrikam,dc=com")&lt;br /&gt;&lt;br /&gt;strManagedBy = objGroup.Get("managedBy")&lt;br /&gt;&lt;br /&gt;If IsEmpty(strManagedBy) = TRUE Then&lt;br /&gt;WScript.Echo "No user account is assigned to manage " &amp;amp; _&lt;br /&gt;  "this group."&lt;br /&gt;Else&lt;br /&gt;Set objUser = GetObject("LDAP://" &amp;amp; strManagedBy)&lt;br /&gt;strPhysicalDeliveryOfficeName = _&lt;br /&gt;  objUser.Get("physicalDeliveryOfficeName")&lt;br /&gt;strStreetAddress = objUser.Get("streetAddress")&lt;br /&gt;strLocalityName = objUser.Get("l")&lt;br /&gt;strStateProvince = objUser.Get("st")&lt;br /&gt;strCountryName = objUser.Get("c")&lt;br /&gt;strTelephoneNumber = objUser.Get("telephoneNumber")&lt;br /&gt;strFacsimileTelephoneNumber = _&lt;br /&gt;  objUser.Get("facsimileTelephoneNumber")&lt;br /&gt;&lt;br /&gt;Call GetUpdateMemberList&lt;br /&gt;&lt;br /&gt;WScript.echo "physicalDeliveryOfficeName: " &amp;amp; _&lt;br /&gt;  strPhysicalDeliveryOfficeName&lt;br /&gt;WScript.echo "streetAddress: " &amp;amp; strStreetAddress&lt;br /&gt;WScript.echo "l: " &amp;amp; strLocalityName&lt;br /&gt;WScript.echo "state/province: " &amp;amp; strStateProvince&lt;br /&gt;WScript.echo "c: " &amp;amp; strCountryName&lt;br /&gt;WScript.echo "telephoneNumber: " &amp;amp; strTelephoneNumber&lt;br /&gt;WScript.echo "facsimileTelephoneNumber: " &amp;amp; _&lt;br /&gt;  strFacsimileTelephoneNumber&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Sub GetUpdateMemberList&lt;br /&gt;Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &amp;amp;H5&lt;br /&gt;Const Member_SchemaIDGuid = "{BF9679C0-0DE6-11D0-A285-00AA003049E2}"&lt;br /&gt;Const ADS_RIGHT_DS_WRITE_PROP = &amp;amp;H20&lt;br /&gt;objUser.GetInfoEx Array("canonicalName"),0&lt;br /&gt;strCanonicalName = objUser.Get("canonicalName")&lt;br /&gt;strDomain = Mid(strCanonicalName,1,InStr(1,strCanonicalName,".")-1)&lt;br /&gt;strSAMAccountName = objUser.Get("sAMAccountName")&lt;br /&gt;&lt;br /&gt;Set objNtSecurityDescriptor = objGroup.Get("ntSecurityDescriptor")&lt;br /&gt;Set objDiscretionaryAcl = objNtSecurityDescriptor.DiscretionaryAcl&lt;br /&gt;&lt;br /&gt;blnMatch = False&lt;br /&gt;For Each objAce In objDiscretionaryAcl&lt;br /&gt;  If LCase(objAce.Trustee) = _&lt;br /&gt;    LCase(strDomain &amp;amp; "\" &amp;amp; strSAMAccountName) AND _&lt;br /&gt;    objAce.ObjectType =  Member_SchemaIDGuid AND _&lt;br /&gt;    objAce.AceType = ADS_ACETYPE_ACCESS_ALLOWED_OBJECT AND _&lt;br /&gt;    objAce.AccessMask And ADS_RIGHT_DS_WRITE_PROP Then&lt;br /&gt;    blnMatch = True&lt;br /&gt;  End If&lt;br /&gt;Next&lt;br /&gt;If blnMatch Then&lt;br /&gt;  WScript.Echo "Manager can update the member list"&lt;br /&gt;Else&lt;br /&gt;  WScript.Echo "Manager cannot update the member list."&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-392464831978095960?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/392464831978095960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/active-directory-scripting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/392464831978095960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/392464831978095960'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/active-directory-scripting.html' title='Active Directory Scripting'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-3626802020921721938</id><published>2009-09-21T09:40:00.000-07:00</published><updated>2009-09-21T09:41:22.067-07:00</updated><title type='text'></title><content type='html'>&lt;div class="headline_area"&gt;      &lt;h1 class="entry-title"&gt;&lt;a href="http://blog.stealthpuppy.com/windows/profile-changes-in-windows-vistalonghorn-server"&gt;Thanks to Arron Parker for his writeup on the changes&lt;/a&gt;&lt;br /&gt;&lt;/h1&gt;&lt;h1 class="entry-title"&gt;Profile Changes in Windows Vista/Longhorn Server&lt;/h1&gt;      &lt;p class="headline_meta"&gt;by &lt;span class="author vcard fn"&gt;Aaron Parker&lt;/span&gt; on &lt;abbr class="published" title="2006-08-25"&gt;Friday, August 25, 2006&lt;/abbr&gt;&lt;/p&gt;      &lt;p class="headline_meta"&gt;in &lt;span&gt;&lt;a href="http://blog.stealthpuppy.com/category/windows" title="View all posts in Windows" rel="category tag"&gt;Windows&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;     &lt;/div&gt;      &lt;p&gt;Windows Vista and Longhorn Server introduce a number of new user profile paths and environment variables that differ from earlier versions of Windows and these changes may have an impact on scripts such as logon scripts and application install scripts. Most scripts should work correctly – VBScript scripts that use system functions to find folder paths should work as expected, however batch scripts that use environment variables or hard codes scripts will require modifications. Here’s a short run down of the changes.&lt;/p&gt; &lt;p&gt;The following table lists the old profile path and the corresponding new path under Windows Vista/Longhorn Server:&lt;/p&gt; &lt;table border="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;Old Path&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt; &lt;td&gt;&lt;strong&gt;&lt;span style="font-size:85%;"&gt;New Path&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\Default User or&lt;br /&gt;%LOGONSERVER%\NETLOGON\Default User&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Default or&lt;br /&gt;%LOGONSERVER%\NETLOGON\Default User.v2&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\My Documents&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Documents&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\My Documents\My Pictures&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Pictures&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\My Documents\My Music&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Music&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\Favorites&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Favorites&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;N/A&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Contacts&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;N/A&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\Downloads&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;N/A&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\SavedGames&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\Application Data&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\AppData\Roaming&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\Local Settings\Application Data&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\AppData\Local&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\&lt;user&gt;\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\&lt;user&gt;\AppData\Roaming\Microsoft\Windows\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\All Users&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Public&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\All Users\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Microsoft\Windows\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Documents and Settings\All Users\Desktop&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Public\Desktop&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Folders to take note of here are the folders in the All Users path. Many older applications that use out of date methods to resolve system folders, will resolve paths under \ProgramData when looking for common locations. For example the common desktop may be resolved as \ProgramData\Desktop, however this is actually a junction point for \Users\Public\Desktop. A DIR /A:H listing in \ProgramData folder reveals the following junction points:&lt;/p&gt; &lt;table border="1"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Path&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Points To&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Application Data&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Desktop&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Public\Desktop&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Documents&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Public\Documents&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Favorites&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\Users\Public\Favorites&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Microsoft\Windows\Start Menu&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Templates&lt;/span&gt;&lt;/td&gt; &lt;td&gt;&lt;span style="font-family:courier new,courier;font-size:85%;"&gt;\ProgramData\Microsoft\Windows\Templates&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;These junction points should offer backward compatibility for older applications, however I have found that some of my installation scripts are not cleaning up shortcuts from the public desktop as expected.&lt;/p&gt; &lt;p&gt;There are also differences in environment variables between the new version of Windows and the older versions. Windows Server 2003 and below define the following variables relating to profiles:&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;ALLUSERSPROFILE=C:\Documents and Settings\All Users&lt;br /&gt;APPDATA=C:\Documents and Settings\aaron\Application Data&lt;br /&gt;HOMEPATH=\Documents and Settings\aaron&lt;br /&gt;TEMP=C:\DOCUME~1\aaron\LOCALS~1\Temp&lt;br /&gt;TMP=C:\DOCUME~1\aaron\LOCALS~1\Temp&lt;br /&gt;USERPROFILE=C:\Documents and Settings\aaron&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Windows Vista and Longhorn Server define the same variables while adding a couple more.&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;ALLUSERSPROFILE=C:\ProgramData&lt;br /&gt;APPDATA=C:\Users\aaronp\AppData\Roaming&lt;br /&gt;HOMEPATH=\Users\aaronp&lt;br /&gt;LOCALAPPDATA=C:\Users\aaronp\AppData\Local&lt;br /&gt;ProgramData=C:\ProgramData&lt;br /&gt;PUBLIC=C:\Users\Public&lt;br /&gt;TEMP=C:\Users\aaronp\AppData\Local\Temp&lt;br /&gt;TMP=C:\Users\aaronp\AppData\Local\Temp&lt;br /&gt;USERPROFILE=C:\Users\aaronp&lt;/span&gt;&lt;/p&gt; &lt;p&gt;In practice, I’ve found that scripts that reference locations such as %ALLUSERSPROFILE%\Desktop, are not performing actions as intended and will have to be updated to use %PUBLIC% instead. Certainly something that requires more investigation.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-3626802020921721938?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/3626802020921721938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/thanks-to-arron-parker-for-his-writeup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3626802020921721938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3626802020921721938'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/thanks-to-arron-parker-for-his-writeup.html' title=''/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-4046944086754491312</id><published>2009-09-10T14:10:00.000-07:00</published><updated>2009-09-10T14:14:28.268-07:00</updated><title type='text'>2008 R2 Remote Desktop Services, Web Access, Connection Broker, and Gateway Service.</title><content type='html'>So when i was tasked with allowing our top level execs to access specific resources in the event of a H1N1 out break, i figured it would be a big pain in the A**. However with the release of R2, the process was so simple i was confused as to how easy it was (easy is something im not used to).&lt;br /&gt;I will post the setup process soon................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-4046944086754491312?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/4046944086754491312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/2008-r2-remote-desktop-services-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4046944086754491312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4046944086754491312'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/09/2008-r2-remote-desktop-services-web.html' title='2008 R2 Remote Desktop Services, Web Access, Connection Broker, and Gateway Service.'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-2756922560752901456</id><published>2009-06-22T12:09:00.000-07:00</published><updated>2009-06-22T12:18:01.061-07:00</updated><title type='text'>Datatel UI 2.3 Install Script</title><content type='html'>&lt;div&gt;Yes this turd-tastic software is back with a new version 2.3! Same old poorly desighned datatel client that leaves a bad taste in your mouth. well if your looking for help geting this installed look no further as i have taken som of my previous scripts and fixed them for the new client. Enjoy!&lt;/div&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;' First we Uninstall Datatel UI 2.2&lt;br /&gt;Dim WshShell, oExec&lt;br /&gt;Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;Set oExec = WshShell.Exec("MsiExec.exe /uninstall {726A85FE-D304-4C4A-8167-D8A24A7C86F9} /quiet")&lt;br /&gt;Do While oExec.Status = 0&lt;br /&gt;    WScript.Sleep 100&lt;br /&gt;Loop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'Next we do some cleanup of the All User's Folder&lt;br /&gt;&lt;br /&gt;Set IBMFolder = CreateObject("Scripting.FilesystemObject")&lt;br /&gt;Set DatatelFolder = CreateObject("Scripting.FilesystemObject")&lt;br /&gt;DatatelFolder.DeleteFolder("C:\Documents and Settings\All Users\Application Data\Datatel")&lt;br /&gt;IBMFolder.DeleteFolder("C:\Documents and Settings\All Users\Application Data\IBM")&lt;br /&gt;&lt;br /&gt;'Begin Install of Datatel2.3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   'Sleep script to finish deltion process&lt;br /&gt;   Wscript.Sleep 100&lt;br /&gt;&lt;br /&gt;'Set objshell1 = CreateObject("WScript.Shell")&lt;br /&gt;Set objshell2 = CreateObject("WScript.Shell")&lt;br /&gt;&lt;br /&gt;'Define Variables for isntaller&lt;br /&gt;varDTSetuptype = " SETUPTYPE=""Standard"""&lt;br /&gt;varDTDatabasDIR = " DATABASEDIR=""\\server\datatel23\"""&lt;br /&gt;varDTHostname = " HOSTNAME=""host.name.int"""&lt;br /&gt;varDTPlatformgroup = " PlatformGroup=""1"""&lt;br /&gt;varDTDbname = " DBNAME=""Live18"""&lt;br /&gt;varDTDbpath = " DBPATH=""/dbpath/apphome"""&lt;br /&gt;VarDTloggopt = "  /lv C:\datatel2.3.log"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'Run the installer&lt;br /&gt;&lt;br /&gt;   objShell2.Run("msiexec /i ""\\server\UIDesktop230msi.msi"" /qn " _&lt;br /&gt;           &amp;amp; varDTSetuptype _&lt;br /&gt;           &amp;amp; varDTDatabasDIR _&lt;br /&gt;           &amp;amp; varDTHostname _&lt;br /&gt;           &amp;amp; varDTPlatformgroup _&lt;br /&gt;           &amp;amp; varDTDbname _&lt;br /&gt;           &amp;amp; varDTDbpath _&lt;br /&gt;           &amp;amp; VarDTloggopt )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'Finish script&lt;br /&gt;   Wscript.Quit&lt;br /&gt;&lt;br /&gt;' End of Script&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-2756922560752901456?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/2756922560752901456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/06/datatel-ui-23-install-script.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2756922560752901456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2756922560752901456'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/06/datatel-ui-23-install-script.html' title='Datatel UI 2.3 Install Script'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-6164840250869091234</id><published>2009-06-12T10:20:00.000-07:00</published><updated>2009-06-12T10:44:26.226-07:00</updated><title type='text'>WDS converting legacy images to WIM</title><content type='html'>here is what i had to do on moving from a 2003 WDS server running in legacy mode to a 2008 WDS server running in native (only option is native) with a bunch of XP images.&lt;br /&gt;&lt;br /&gt;first setup your 2008 WDS server, for the most part the wizzard is self explanitory, install, point images to a diffrent drive other then the %system% drive and begin. However some issues i had to over come are multiprocessors and single processors for XP (vista\7 does not care about HAL's)&lt;br /&gt;&lt;br /&gt;for the base install of an XP image i took parts that pertained to me from &lt;a href="http://datanotes.wordpress.com/2007/11/26/how-to-deploy-xp-using-windows-deployment-services-wds-2/"&gt;Lucius Craig's Guide&lt;/a&gt;&lt;br /&gt;Mainly&lt;br /&gt;&lt;br /&gt;&lt;a href="http://datanotes.wordpress.com/2007/11/26/how-to-deploy-xp-using-windows-deployment-services-wds-2/"&gt;Step 6 and Step 7 (uploading image to WDS worked just fine for me)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I left the PE image on there for trouble shooting later on down the line, however i have not had to use it yet&lt;br /&gt;&lt;br /&gt;For XP i had to create 2 XP SP3 Captures because some PC's have dual core and some single core and the HAL for xp will not let you do DC on a SC.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.windows-noob.com/forums/index.php?showtopic=261"&gt;This Guide from Windows-Noob.com helped me setup the capture portion&lt;/a&gt; (works great)&lt;br /&gt;&lt;br /&gt;now the issues i had&lt;br /&gt;an issue i had runinto on several images with the 0X80360051 error&lt;br /&gt;&lt;a href="http://forums.techarena.in/windows-server-help/791055.htm"&gt;this guide fixed the problem&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;my next problem took a couple of days to figure out.&lt;br /&gt;Our server was designed with a 10GB C: drive and D: drive for images. while the D: drive had plenty of space on it for the images and the final WIM images, the C: drive whould run out of space when creating a WIM even if you specified the D: drive. This is because WDS creats a local copy of the image (from where ever it is stored) to the C: drive and then converts it on the fly to the specified drive.&lt;br /&gt;The solution was found using FileMon and noticing that the temporary image was being copied to the %TEMP% directory. after figuring this out, to fix the problem, simply change the environment settings for the user doing the conversion, and change %TEMP% to D:\somefoldername. Now the copy of the image will be copied to some where other then the local C: drive. happy converting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-6164840250869091234?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/6164840250869091234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/06/wds-converting-legacy-images-to-wim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/6164840250869091234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/6164840250869091234'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/06/wds-converting-legacy-images-to-wim.html' title='WDS converting legacy images to WIM'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-4968804790597368005</id><published>2009-04-07T16:07:00.000-07:00</published><updated>2009-04-07T16:11:43.248-07:00</updated><title type='text'>Vista Activation issue after adding SATA card</title><content type='html'>so here is something new, I just added a VIA SATA card rebooted, and then i get a message saying due to a hardware change vista needs to be activated. seems like i minor inconvience however when i try to activate, i get a message saying my serial is in use. Yeah it is, by me. so wtf now i have to call MS and re-activate it? what a crock.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-4968804790597368005?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/4968804790597368005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/04/vista-activation-issue-after-adding.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4968804790597368005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/4968804790597368005'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/04/vista-activation-issue-after-adding.html' title='Vista Activation issue after adding SATA card'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-2637741159217835485</id><published>2009-03-06T05:53:00.000-08:00</published><updated>2009-03-06T06:09:48.980-08:00</updated><title type='text'>Changing the local admin password</title><content type='html'>&lt;blockquote&gt;'Name:         pass.vbs&lt;br /&gt;'Author:    Jeramy Thompson&lt;br /&gt;'Date Created   03/05/2009&lt;br /&gt;'Description :  Three step process, first gets the local computers name, then changes 'the local Administrators password, write completion file&lt;br /&gt;'Other Notes:   I like beer, I get bored with standard variables so i set some wacky 'ones in this script&lt;br /&gt;'&lt;br /&gt;'&lt;br /&gt;'&lt;br /&gt;'''''''''''''''''''''''''''''''&lt;br /&gt;Set sasquatch = CreateObject("Wscript.Network")&lt;br /&gt;Yeti = sasquatch.ComputerName&lt;br /&gt;Set BigFoot = GetObject("WinNT://"&amp;amp; Yeti &amp;amp; "/Administrator")&lt;br /&gt;BigFoot.SetPassword("SecretPassword")&lt;br /&gt;Dim objFileSystem, objOutputFile&lt;br /&gt;Dim strOutputFile&lt;br /&gt;strOutputFile = "C:\result.txt"&lt;br /&gt;Set objFileSystem = CreateObject("Scripting.fileSystemObject")&lt;br /&gt;Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)&lt;br /&gt;objOutputFile.WriteLine("Password Changed (" &amp;amp; Now &amp;amp; ")")&lt;br /&gt;objOutputFile.Close&lt;br /&gt;&lt;/blockquote&gt;Change the "SecretPassword" to the password you want. If you are deploying through some SMS type system use &lt;a href="http://www.soft32.com/download_194850.html"&gt;VBStoEXE&lt;/a&gt; to convert to an executable, to help protect the file from prying eyes. This has to be run as some one with admin rights. If your users have administrative rights, you could put it in your logon script, however it really dosent matter since they can change the password on their own and you probably dont care about the admin password so this would be completly useless to you.  Enjoy.&lt;br /&gt;*Word wrpaing does not seem to work well with this site, so if you copy and past make sure to adjust script&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-2637741159217835485?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/2637741159217835485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/03/changing-local-admin-password.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2637741159217835485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2637741159217835485'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/03/changing-local-admin-password.html' title='Changing the local admin password'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-6595030198329812616</id><published>2009-03-04T13:11:00.000-08:00</published><updated>2009-03-04T13:20:44.488-08:00</updated><title type='text'>New Ceridian Update</title><content type='html'>the updateHot Fix 7.5.0-C can be a pain to do since you have to register a dll on a remote server. This may help with the process.&lt;br /&gt;&lt;br /&gt;Create a .cmd file and input the following:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;FOR /F %%I IN (clients.txt) DO call :COPYFILES %%I&lt;br /&gt;&lt;br /&gt;:COPYFILES&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;IF %1 ==""  Goto :END&lt;br /&gt;psexec -u domain\user -p password \\%1 Regsvr32.exe /s \\ceridianserver\Source\BIN\PREPEMP.DLL&lt;br /&gt;:END&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;Save the .cmd file in a folder, copy &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx"&gt;psexec.exe&lt;/a&gt; into the folder, and create a .txt file with the name of all the clients you want to register (one name per line) change the "domain\user" and "password" parameters in the .cmd file and run. Each computer should get psexec exited with a status of "0", if you dont&lt;br /&gt;get status "0" then something went wrong.&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-6595030198329812616?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/6595030198329812616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/03/new-ceridian-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/6595030198329812616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/6595030198329812616'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/03/new-ceridian-update.html' title='New Ceridian Update'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-3556218315765492245</id><published>2009-02-27T09:01:00.000-08:00</published><updated>2009-02-27T09:58:30.784-08:00</updated><title type='text'>Adobe Blue screen's when 2 PDF's are opened at the same time</title><content type='html'>well here is a new one, when you open 2 pdf's at the same time in acrobat reader 9, and you have 2d acceleration enabled (default) windows pukes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobeforums.com/webx/.59b74a1e"&gt;found this article&lt;/a&gt; that explains it just the same senario except we are using ATI, however disabeling the 2d does fix the problem.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;         &lt;p class="size3"&gt;&lt;b&gt;Topic&lt;/b&gt; &lt;/p&gt;         &lt;!-- pathStandardHeading --&gt; &lt;h3&gt;Acrobat Reader 9 Crashes PC When Opening 2 Documents Simultaneously (2D Graphics Acceleration Relate&lt;/h3&gt;&lt;div class="mlMsg"&gt;&lt;b&gt;&lt;span class="size3"&gt;&lt;a href="http://www.adobeforums.com/webx?224@@4ad09797@.59b74a1e"&gt;shaungupta&lt;/a&gt;&lt;/span&gt;&lt;span class="size3"&gt; - 09:31pm Dec 16, 2008 Pacific&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="size3"&gt;Hey all,&lt;br /&gt;&lt;br /&gt;Weird issue. I noticed my Adobe Acrobat Reader 9 crashes when opening two PDF's simultaneously. The first one opens just fine. The second one, a new window opens, but there's only black inside the 2nd Reader window. It finally (after way too long) begins to show the document, and then I get a blue screen of death with a fault in nvlddmkm.sys, the nVidia display driver for my video card. It says it was unable to reset the display drivers, dumps the memory, and reboots. One interesting note is that if I close the "black" window before it blue screens, I can continue using the computer with no crash. It's only if I give it time to try to display.&lt;br /&gt;&lt;br /&gt;I already found the temporary fix for this, which is disabling 2D Graphics Acceleration in the Acrobat Reader (Edit -&gt; Preferences -&gt; Page Setup). Fortunately I'm on a fast computer, so this doesn't affect performance much, but it still obviously isn't ideal, and I'd like to see the problem resolved.&lt;br /&gt;&lt;br /&gt;I don't experience this problem with any other programs at the moment, so I'm thinking it's an issue with Adobe's product or possibly the nVidia drivers, but thought I should mention it and see if anyone has any other possible fixes where 2D Graphics Acceleration can remain enabled.&lt;br /&gt;&lt;br /&gt;Thanks all! &lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However that is still the problem. The setting is user specific.&lt;br /&gt;the setting&lt;br /&gt;HKU\{some SID}\Software\Adobe\Acrobat Reader\9.0\AVDisplay\bUse2DGPUf: 0x00000001&lt;br /&gt;&lt;br /&gt;has to be changed to&lt;br /&gt;HKU\{some SID}\Software\Adobe\Acrobat Reader\9.0\AVDisplay\bUse2DGPUf: 0x00000000&lt;br /&gt;and has to be changed by the currently logged in user. this poses a problem when you have to change this for 1000's of workstations.&lt;br /&gt;this may be able to be put in a logon script, will let you know here in a bit.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----UPDATE---&lt;br /&gt;here is a vbscript you can put in your login to change the setting&lt;br /&gt;&lt;br /&gt;strComputer = "."&lt;br /&gt;Set objWMIService = GetObject("winmgmts:\\" &amp;amp; strComputer &amp;amp; "\root\cimv2")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set wshNetwork = CreateObject("WScript.Network")&lt;br /&gt;strUser = wshNetwork.Username&lt;br /&gt;&lt;br /&gt;'Wscript.Echo strUser&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set objAccount = objWMIService.Get("Win32_UserAccount.Name='" &amp;amp; strUser &amp;amp; "',Domain='domainname'")&lt;br /&gt;strSID = objAccount.SID&lt;br /&gt;'Wscript.Echo strSID&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &amp;amp; strComputer &amp;amp; "\root\default:StdRegProv")&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Const HKU = &amp;amp;H80000003 'HKEY_USERS&lt;br /&gt;&lt;br /&gt;strKeyPath = "" &amp;amp; strSid &amp;amp;"\Software\Adobe\Acrobat Reader\9.0\AVDisplay"&lt;br /&gt;strValueName = "bUse2DGPUf"&lt;br /&gt;dwValue = 0&lt;br /&gt;oReg.SetDWORDValue HKU,strKeyPath,strValueName,dwValue&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-3556218315765492245?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/3556218315765492245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/adobe-blue-screens-when-2-pdfs-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3556218315765492245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3556218315765492245'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/adobe-blue-screens-when-2-pdfs-are.html' title='Adobe Blue screen&apos;s when 2 PDF&apos;s are opened at the same time'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-2598981907482937890</id><published>2009-02-25T13:28:00.001-08:00</published><updated>2009-02-25T13:31:47.527-08:00</updated><title type='text'>Easy Uninstaller for Norman Anti Virus</title><content type='html'>yes i said Norman (not to be confused with Norton). This &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;POS&lt;/span&gt; antivirus has missed countless &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;virus'es&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;trojans&lt;/span&gt;, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;backdoors&lt;/span&gt; running on workstations and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;im&lt;/span&gt; am more then happy to see it go. for those of you also jumping ship here is a simple &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;vbscript&lt;/span&gt; to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;uninstall&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Dim WshShell, oExec&lt;br /&gt;Set WshShell = CreateObject("WScript.Shell")&lt;br /&gt;Set oExec = WshShell.Exec("C:\Norman\nvc\Bin\Delnvc5.exe /quiet")&lt;br /&gt;Do While oExec.Status = 0&lt;br /&gt;     WScript.Sleep 100&lt;br /&gt;Loop&lt;br /&gt;Dim WshShell2, oExec2&lt;br /&gt;Set WshShell2 = CreateObject("WScript.Shell")&lt;br /&gt;Set oExec2 = WshShell2.Exec("shutdown -r -t 120")&lt;br /&gt;Do While oExec2.Status = 0&lt;br /&gt;     WScript.Sleep 100&lt;br /&gt;Loop&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I used a bat file to run this against may workstations with psexec.exe&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;FOR /F %%I IN (clients.txt) DO call :COPYFILES %%I&lt;br /&gt;&lt;br /&gt;:COPYFILES&lt;br /&gt;IF %1 ==""  Goto :END&lt;br /&gt;&lt;br /&gt;copy uninstall.vbs \\%1\c$&lt;br /&gt;psexec.exe \\%1 wscript.exe C:\uninstall.vbs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:END&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-2598981907482937890?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/2598981907482937890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/easy-uninstaller-for-norman-anti-virus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2598981907482937890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/2598981907482937890'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/easy-uninstaller-for-norman-anti-virus.html' title='Easy Uninstaller for Norman Anti Virus'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-7604744292495935282</id><published>2009-02-25T12:44:00.000-08:00</published><updated>2009-02-25T12:55:26.630-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsot'/><category scheme='http://www.blogger.com/atom/ns#' term='Citrix'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Xen'/><category scheme='http://www.blogger.com/atom/ns#' term='Hyper-V'/><title type='text'>Hyper-V vs Xen vs Vmware</title><content type='html'>I would like to start out saying i have always been a supporter of VMware, their product was great implementing my first virtual data center. However after testing both VMware, Xen, and Hyper-V I have become more and more fond of Hyper-V for several reasons.&lt;br /&gt;1. Its included in the 2008 OS (free)&lt;br /&gt;2. Its a familar windows interface , and makes teaching older admins easier&lt;br /&gt;3. Fail Over clustering is (free)&lt;br /&gt;4. If you buy datacenter edition, you can install as many manchines as you want , and they are covered by the datacenter lincense.&lt;br /&gt;&lt;br /&gt;VMWare although has the lowest disk and memmory footprint, is just too expensive to for the same fuctionality.&lt;br /&gt;&lt;br /&gt;Xen, was a contender however it was targeted towards more virtual linux platforms and since its&lt;a href="http://http//it.slashdot.org/article.pl?sid=09/02/23/1851235&amp;amp;from=rss"&gt;  free release  &lt;/a&gt;many linux stros have &lt;a href="http://news.cnet.com/8301-13580_3-9867657-39.html"&gt;jumped&lt;/a&gt; &lt;a href="http://news.cnet.com/Red-Hat-endorses-KVM-virtualization/2100-1016_3-6159528.html"&gt;ship in&lt;/a&gt; favor &lt;a href="http://www.phoronix.com/vr.php?view=9066"&gt;of KVM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My current deployment is under way and i will report back after a few months of usage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-7604744292495935282?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/7604744292495935282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/hyper-v-vs-xen-vs-vmware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/7604744292495935282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/7604744292495935282'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/hyper-v-vs-xen-vs-vmware.html' title='Hyper-V vs Xen vs Vmware'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8348906958242545173.post-3680945462068781027</id><published>2009-02-25T12:39:00.000-08:00</published><updated>2009-02-25T12:41:03.742-08:00</updated><title type='text'>New Blog Site</title><content type='html'>ok im back, sorry people but with the economy the way it is i could no longer afford jeramythompson.com, so hopefully this will be my new home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8348906958242545173-3680945462068781027?l=jeramythompson.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeramythompson.blogspot.com/feeds/3680945462068781027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/new-blog-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3680945462068781027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8348906958242545173/posts/default/3680945462068781027'/><link rel='alternate' type='text/html' href='http://jeramythompson.blogspot.com/2009/02/new-blog-site.html' title='New Blog Site'/><author><name>JeramyThompson</name><uri>http://www.blogger.com/profile/08533431373719819214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='14' height='32' src='http://4.bp.blogspot.com/_Y6ruqjLbX94/Sa7xF89g_iI/AAAAAAAAAAs/ndZ--6TNDKI/S220/svc_skull2.PNG'/></author><thr:total>0</thr:total></entry></feed>
