joeware - never stop exploring...

Information about joeware mixed with wild and crazy opinions…

3/15/2010

Sanity…

by @ 7:00 am. Filed under quotes

One of the sanest, surest, and most generous joys of life comes from being happy over the good fortune of others.

     – Robert A. Heinlein

3/14/2010

Troublemakers…

by @ 1:55 pm. Filed under quotes

A society that gets rid of all its troublemakers goes downhill.

     – Robert A. Heinlein

Little wheels…

by @ 2:00 am. Filed under quotes

Clocks slay time… time is dead as long as it is being clicked off by little wheels; only when the clock stops does time come to life.

     – William Faulkner

3/13/2010

Three eights…

by @ 8:53 pm. Filed under quotes

For disappearing acts, it’s hard to beat what happens to the eight hours supposedly left after eight of sleep and eight of work.

      – Doug Larson

The future…

by @ 12:00 pm. Filed under quotes

The future is something which everyone reaches at the rate of 60 minutes an hour, whatever he does, whoever he is.

    – C. S. Lewis

Longest distance…

by @ 8:51 am. Filed under quotes

Time is the longest distance between two places.

     -Tennessee Williams

3/12/2010

Twenty-four hours…

by @ 8:50 pm. Filed under quotes

Day, n. A period of twenty-four hours, mostly misspent.

      – Ambrose Bierce

3/9/2010

Don’t do Everything – Do a few Things Well

by @ 8:28 pm. Filed under tech

http://msdn.microsoft.com/en-us/magazine/ee309869.aspx

3/8/2010

Forefront Identity Manager 2010 is now available on MSDN (subscription only of course)

by @ 8:07 pm. Filed under tech

But why is there only an x86 version???

   joe

3/7/2010

Oh now this is nice, Popular Science puts scanned archive online for free!

by @ 8:01 pm. Filed under tech

http://www.wired.com/gadgetlab/2010/03/popular-science-puts-entire-scanned-archive-online-free/

Truth be told… I didn’t really get a feel that was going to go anywhere anyway…

by @ 7:58 pm. Filed under tech

http://www.theregister.co.uk/2010/03/05/microsoft_unplugs_ebs/

Microsoft will halt development of its mid-market oriented Windows Essential Business Server software bundle, as the company bets on "cloud computing" rather than lump licensing to woo penny-pinching IT markets.

3/5/2010

Bye bye bye!

by @ 8:59 pm. Filed under humour

http://ie6funeral.com/

Handy WireShark Filter for looking at Kerberos ticket requests/responses

by @ 8:58 pm. Filed under tech

kerberos.msg.type == 12 || kerberos.msg.type == 13 || kerberos.msg.type == 30 || kerberos.msg.type == 10 || kerberos.msg.type == 11

3/3/2010

Helpdesks through the Ages!

by @ 8:46 pm. Filed under humour

http://www.youtube.com/watch?v=0Cd7Bsp3dDo

In English and slightly different… http://www.youtube.com/watch?v=yUQRbqc2qtY&NR=1

And for the nerds… Star Wars Help Desk… http://www.youtube.com/watch?v=0Q8DriPCX2o

Fructose is bad

by @ 8:00 pm. Filed under general

Interesting lecture

3/1/2010

Official Microsoft Blogs

by @ 8:21 pm. Filed under tech

I was recently asked for a list of MSFT blogs, here you go!

 

http://blogs.technet.com/blogms/pages/directory-of-microsoft-team-blogs.aspx

 

   joe

Alternate Fuel Cell technology

by @ 8:02 pm. Filed under alternatives

This looks very cool…

http://www.cbsnews.com/stories/2010/02/18/60minutes/main6221135.shtml

Could this be sitting in your yard in the next 10 years? If they can truly get it down to a couple thousand I would give it a shot.

2/26/2010

Listening for screams…

by @ 9:30 pm. Filed under quotes

…an experiment in designing a solution by feeling the bumps on the walls and listening for screams…

     – me (discussing an infrastructure architecture project)

From the mailbag: How to change home directories en masse to a new server…

by @ 8:58 pm. Filed under tech

From: joe [mailto:support@joeware.net]
Sent: xxx
To: xxx
Subject: RE: Support Reuest

Hi xxx,

You won’t be able to do this with just usernames in a file with just adfind/admod, you would need a script to add the additional logic to look up the usernames and convert to DNs.

However, if you have a list of user DNs in a file or you can execute a single query to locate the users you can do this with no scripting.

So say you have a list of DNs in the file userlist.txt, you could do something like

adfind homedirectory -adcsv < userlist.txt | admod homedirectory::{{.:r:oldservername:newservername}} -upto maxcount

This takes the DNs from the text file, looks up the current homedirectory value, passes that through the pipe to AdMod which then takes the current value and replaces the oldservername with the newservername and inserts it back into the user object. You specify the -upto switch to specify the maximum number of objects you want to update. By default, admod will bail out and make no changes if more than 10 objects are passed to it, this is to protect people from accidently modifying large numbers of objects by accident. You can modify the safety value with –safety x, this will tell how many items AdMod should be able to modify without bailing out and making no changes. You can use the –upto x switch which will tell it only do the first x updates. Or if you are positive you are good on the specific objects, you can specify –unsafe which tells admod to update anything passed to it.

Example:

Here is the user list

G:\Temp>type userlist.txt
"CN=auser1,OU=XXXTest,DC=test,DC=loc"
"CN=auser2,OU=XXXTest,DC=test,DC=loc"
"CN=auser3,OU=XXXTest,DC=test,DC=loc"
"CN=auser4,OU=XXXTest,DC=test,DC=loc"

Here is the current homedirectory values for that group of users

G:\Temp>adfind homedirectory -adcsv < userlist.txt
~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~
"dn","homedirectory"
"CN=auser1,OU=XXXTest,DC=test,DC=loc","\\server1\auser1"
"CN=auser2,OU=XXXTest,DC=test,DC=loc","\\server1\auser2"
"CN=auser3,OU=XXXTest,DC=test,DC=loc","\\server1\auser3"
"CN=auser4,OU=XXXTest,DC=test,DC=loc","\\server1\auser4"

Here is the change

G:\Temp>adfind homedirectory -adcsv < userlist.txt | admod homedirectory::{{.:r:server1:server2}} -unsafe

AdMod V01.12.00cpp Joe Richards (joe@joeware.net) February 2010

DN Count: 4
Using server: TEST-DC1.test.loc:389
Directory: Windows Server 2003

Modifying specified objects…
   DN: CN=auser1,OU=XXXTest,DC=test,DC=loc…
   DN: CN=auser2,OU=XXXTest,DC=test,DC=loc…
   DN: CN=auser3,OU=XXXTest,DC=test,DC=loc…
   DN: CN=auser4,OU=XXXTest,DC=test,DC=loc…

The command completed successfully

Here are the new values

G:\Temp>adfind homedirectory -adcsv < userlist.txt
~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~~~~ADCSV~~~
"dn","homedirectory"
"CN=auser1,OU=XXXTest,DC=test,DC=loc","\\server2\auser1"
"CN=auser2,OU=XXXTest,DC=test,DC=loc","\\server2\auser2"
"CN=auser3,OU=XXXTest,DC=test,DC=loc","\\server2\auser3"
"CN=auser4,OU=XXXTest,DC=test,DC=loc","\\server2\auser4"

Hope this helps.

   joe

O’Reilly Active Directory Fourth Edition – http://www.joeware.net/win/ad4e.htm

From: xxx
Sent: xxx
To: support@joeware.net
Subject: Support Reuest

Dear Joe!

I’d like to congratulate for your site.

There is a big problem, what you could solve for me.

I want to change my fileserver and i want to move user’s fomefolders.
The users are in a USER container(not an OU) in AD.
And they are 260.

How can I change from \\abc\home\user to \\xyz\home\user with your tools?

How can i change it from a file which in contains usernames?

Wich is the best solution export only username from a AD container? And how to use it with admod tools?

Thank You:
xxx

2/24/2010

One year later…

by @ 8:59 pm. Filed under general

…and I am still using LDAP…

 

Obviously the announcement of its demise was a bit premature.

 

That is why I chuckled when I heard it last year. :)

 

   joe

Do you want to raise chickens?

by @ 8:44 pm. Filed under general

I thought this was an interesting little setup…

 

http://www.motherearthnews.com/Do-It-Yourself/2007-04-01/Portable-Chicken-Mini-coop-Plan.aspx

 

Yes that is a little different from what I normally post. But hey, I live in the country and am thinking about getting some chickens. :)

 

   joe

2/23/2010

Parents…

by @ 8:36 pm. Filed under quotes

Do not handicap your children by making their lives easy.

    – Robert Heinlein (Time Enough For Love)

2/21/2010

Straitjacket…

by @ 8:30 pm. Filed under quotes

Whatever you do, do not let the past be a straitjacket!

   Robert Heinlein (The Moon Is a Harsh Mistress)

2/20/2010

You pay for what you get…

by @ 8:30 pm. Filed under quotes

One way or another, what you get, you pay for.

    – Robert Heinlein (The Moon Is a Harsh Mistress)

2/19/2010

Load Balancing Domain Controllers

by @ 11:52 pm. Filed under tech

Recently a friend pinged me about what I thought about load balancing Domain Controllers behind some sort of VIP (Virtual IP) hardware be it from Brocade, Cisco, Barracuda, F5 or from whatever vendor.

As a generic statement, I am against it. Period.

Active Directory was built in such a way that the load balancing[1] and redundancy is built in. The clients just have to be smart enough to utilize it. This can be done, I have seen people writing code in UNIX even to do the SRV record lookup and in fact one implementation I saw was arguably better than MSFT’s in how it chased after next best site and next best site after that, etc.

But joe… some apps just don’t do it right! True, so let’s just give them a pass to do things wrong[2]… No. Go back to the vendors and tell them you don’t consider them to be AD Integrated and you will find a different solution. Of course if someone already bought the product without actually consulting anyone with relevant technical skills then you are a little stuck but I would still avoid load balancing, instead point at the Domain DNS record and say have at it. Possibly showing them that you won’t crutch every single thing they throw your way will help get you or someone else with the insight to check out the product before purchase. These special crutching operations cost companies money both in having to work out the unique solutions but also in supporting them and teaching new support people about them. Can’t tell you how much fun it is to explain an environment to someone like “Well it works in this way with the exception of this which does that and that which does this, etc.

There can be issues with this practice other than you are helping some company sell a product that should be updated. When I received the initial question I knew there was a Kerberos issue with this but thought I would ask some of my intelligent friends on an MVP distribution list what they were aware of to see if there was more than I was thinking about and also if Microsoft had written up any documentation. One of the responses was really good that I would like to share here. It is from my friend and fellow Microsoft MVP Joe Kaplan.

—–Original Message—–
From: xxx [mailto:xxx] On Behalf Of Joe Kaplan
Sent: Friday, February 19, 2010 12:02 PM
To: xxx
Subject: Re: [xxx] Hardware Load Balancing Domain Controllers

There is a principle in Kerb that exactly one security account can be

associated with a given SPN. On a DC, various services run as system which

in turn ends up using the domain computer account. This is a different

account on each DC.

However, clients form requests for Kerb service tickets by using the DNS

name of the target service to form the SPN used in the request.

In a load balanced scenario, you run the risk of having a single DNS name

refer to multiple different hosts behind it. If in turn the service being

targeted is a service that accepts Kerb auth and the service is running as a

different user depending on the host (which would be the case for services

that are part of a DC), then you’ll get random Kerb auth failures (the

dreaded KERB_APP_ERR_MODIFIED). This is probably not what you want and

therefore a significant risk in this situation.

You could potentially get away with load balancing LDAP and use an alternate

DNS name that has no Kerb SPN associated with it. You’d get no Kerb auth

(only NTLM) and it might work in most cases as a result (no cross domain

moves because delegation is now broken but other stuff may be fine).

However, it probably isn’t a good idea.

You CAN do this the right way with ADAM by having the ADAM instances all run

as the same fixed domain user service account and creating an SPN to match

the DNS name of the load balancer front end you are using. ADAM makes it

hard on you to get SSL working in this instance by insisting that you use a

wildcard cert, but it can be reasonable. Note that this is typically also

what you do when load balancing web applications that require Kerb auth.

Joe K.

 

that is pretty clear, I asked Joe if he knew of any MSFT docs on the subject and his next response was even more clear.

 

From: xxx [xxx] On Behalf Of Joe Kaplan
Sent: Friday, February 19, 2010 1:15 PM
To: xxx
Subject: Re: [xxx] Hardware Load Balancing Domain Controllers

I have no idea on the documentation part. I’m just telling you what I know

based on personal experience and my knowledge of the underlying mechanisms

(which is unfortunately much deeper than I’d probably enjoy due to some of

my personal experiences to date :) ).

I’m obviously recommending against doing this which is also the party line.

My opinion is that the benefit here is probably completely overshadowed by

the risk of having lots of things not work in ways that are very difficult

to understand. Getting predictable, positive results from this will likely

be non-trivial.*

Joe K.

* Emphasis is mine… Joe didn’t smack us in the face with his email like that. He is too nice. I am the mean joe… I was nice enough to get Joe’s permission to publish this though.

 

There are several MVPs whose opinion I will not question or at least not question when they are speaking to specific technologies. For example, I won’t question Guido Grillenmeier too much on AD Disaster Recovery.  I will not question Lee Flight too much on ADAM / ADLDS / and pretty much anything LDAP related. I won’t question my bestest buddy Dean Wells on batch commands… well I would now, he isn’t an MVP anymore… ;o)  Back to the point, I don’t question JoeK on his knowledge of .NET / Windows Auth / ADFS / Kerberos. If he says something works in a certain way, I thank him with great humility for taking the time to respond. More than once his comments in email or in newsgroup posts has helped me work issues out in those areas and there are changes in AdFind/Mod that are directly due to some of Joe’s comments/emails and even his .NET book – The .NET Developer’s Guide to Directory Services Programming. :)

 

   joe

 

[1] Granted the load balancing isn’t that great, keep taking on load until you fall over and don’t respond anymore… But that is exactly the same kind of load balancing you get with VIP in front of a DC. The VIP devices do not know how much load the DCs are under, at best they look at the port(s) you told it to worry about and it will stop giving out that IP if that/those port/s stop responding.

Anyone who has ever watched Exchange’s load balancing algorithms for using AD in a very big nasty Exchange deployments knows it is keep beating on the DCs until they fall over and then find another DC to gang up on and in all actuality Exchange is in a position to do better because it is one distributed app that could keep track of the connections to all of the DCs from all of the Exchange servers itself. I guess MSFT could add a special operational attribute to the rootdse of DCs (and ADAM servers) which indicated relative load when you asked for it and then you could get a VIP (or other app) smart enough to ask for that but I don’t see that happening anytime soon.

[2] As an example here… Say you have six kids you are babysitting. Four of them listen to you and follow your rules, the other two choose to randomly kick you in the shin and paint on your 52” Big Screen TV… Do you give those two kids a pass? No you correct their uncivilized behavior without delay. Think of your vendors as kids. They are working for your approval and your $’s. Make them earn it.

From the mailbag… Finding groups with a certain string in the name

by @ 9:33 pm. Filed under tech

From: joe [mailto:support@joeware.net]
Sent: xxx
To: xxx
Subject: RE: AdFind

Hey xxx, you could do something like

adfind -default -f "&(objectcategory=group)(name=*webmaster*) " -dn

If you want to specify a domain other than the default, replace -default with -b domainDN

   joe

O’Reilly Active Directory Fourth Edition – http://www.joeware.net/win/ad4e.htm

From: xxx
Sent: xxx
To: ’support@joeware.net’
Subject: AdFind

Joe:

Can/how can AdFind be used to find all groups in a domain that have for example, the string “webmaster” in the group name?

Any help would be appreciated.

Thanks,

xxx

From the mailbag… Downloading tools

by @ 9:29 pm. Filed under general

—–Original Message—–
From: joe [mailto:support@joeware.net]
Sent: xxx
To: xxx
Subject: RE:

Hey xxx,

You should only try to download joeware utilities from my website… I can’t vouche for whether or not other sites have put anything into the executable.

http://www.joeware.net/freetools/tools/oldcmp/index.htm

I just now downloaded and unzipped it (using the standard OS unzip and WinZip) and it execute fine.

joe

O’Reilly Active Directory Fourth Edition – http://www.joeware.net/win/ad4e.htm

—–Original Message—–

From: xxx

Sent: xxx

To: support@joeware.net

Subject:

Good Morning;

I’ve tried to download the oldcmp.zip file from sereral sites this morning. When I go to extract I get an invalid or corrupt distribution. Please download again. Are there any known issues with the download version or am I missing something on my system to properly extract.

Thanks in Advance

xxx

From the mailbag… How to dump SMTP addresses for users in a group

by @ 9:09 pm. Filed under tech

From: joe [mailto:joe@joeware.net]
Sent: xxx
To: xxx
Subject: RE: ADFIND – Group + Members Query

You can’t do this in one query, it will take at least two.

First query would be to find the group and dump its memberof values.

adfind -default –f "&(objectcategory=group)(name=groupname)" memberof

The second query (or set of queries) would be to dump the SMTP addresses of the members.

If you know that the members are all in the same domain as the group you can use this shortcut

adfind -this "group DN" -asq member mail

If the members could be in different domains, this can be done with a single command line but will be multiple queries. Specifically a query for every single member + 1

adfind -this "group DN" member -qlist | adfind mail

If you don’t need memberof this could be done in one command line

adfind -default -f "&(objectcategory=group)(name=groupname)" member -qlist | adfind mail

Oh that also assumes that mail will be the only SMTP address you need, if you need the primary and secondaries then this gets more complicated and would look like

adfind -default -f "&(objectcategory=group)(name=groupname)" member -qlist | adfind proxyaddresses -mvfilter proxyaddresses=smtp

And if you want that in CSV format, you simply add –CSV to the end

adfind -default -f "&(objectcategory=group)(name=groupname)" member -qlist | adfind proxyaddresses -mvfilter proxyaddresses=smtp -csv

Note that you may not be able to cut and paste the commands, sometimes outlook puts characters in that the CMD Prompt doesn’t like.

   joe

O’Reilly Active Directory Fourth Edition – http://www.joeware.net/win/ad4e.htm

 

From: xxx
Sent: xxx
To: joe@joeware.net
Subject: ADFIND – Group + Members Query

Hi Joe,
I hope you are doing fine.
I need a query to 1. find a specific group, 2. dump it’s members, 3. the groups this group is member of and also 4. dump the smtp address of the group’s members.
I managed to build the following query:
adfind -gcb -f "&(objectClass=group)(name=_test1)" member memberof
I was able to achieve the items 1, 2 and 3, but the 4th one is a bit difficult. Is it possible to be done?
Cheers,

xxx

I am free…

by @ 8:27 pm. Filed under quotes

I am free, no matter what rules surround me. If I find them tolerable, I tolerate them; if I find them too obnoxious, I break them. I am free because I know that I alone am morally responsible for everything I do.

 

    – Robert Heinlein (The Moon Is a Harsh Mistress)

Happy Birthday Copernicus…

by @ 7:47 am. Filed under general
  • There is no one center of all the celestial spheres [orbits].
  • The Earth’s center is not the center of the universe.
  • The center of the universe is near the sun.
  • The distance of the Earth to the sun is imperceptible compared with the distance to the stars.
  • The rotation of the Earth accounts for the apparent daily rotation of the stars.
  • The apparent annual cycle of movements of the sun is caused by the Earth revolving around the sun.
  • The apparent retrograde motion of the planets is caused by the motion of the Earth, from which one observes.
  • [powered by WordPress.]

    18 queries. 0.650 seconds

    Theme copyright © 2002–2010 Mike Little.