Tuesday, December 13, 2005

Active Directory Web Interface for Administration

I have been administering active directory since last 4 years. The most frustating thing I found was to administer it remotely - the only was to remote desktop to one of the domain controllers and do my task.

Later on I realized that Active Directory Administration GUI provided by Microsoft was just enough to get my task done. But this GUI was not smart enough to provide me instant feedback on whats happening in my domain. Such as - last logon time for each user, active computers, groups with member summary and many more things. So I realized that it was not enough for me to do normal administration task. And more over I wanted to do it using Web Browser - so it does not matter whether I am using Linux or Windows, I just pop-up browser and do everything required to do administration.

Microsoft included System.DirectoryServices package which can talk to AD and give us more information. I started writing a small application which can give me visual feedback on domain users.







So, I came up with above screenshots, and there were many more things possible with these APIs, but there were half-cooked api. So I had to figure out how do I things.

Now, I have active directory web interface, which allows me to do Administration using web browser. I have following features in this interface
  • Create New Users
  • Create Groups
  • Edit user group membership
  • Edit user properties
  • Edit group members
  • Display user status
  • Display group summary
  • Display computer summary
I think I will be able to open source it soon. But if you really want to use my application please send me an email and I will send you the app.

AdWebMin 0.1 is released!

Monday, December 12, 2005

So blogger hung!

and after getting my name from flickr! my blogger hanged!
I just got my name from flicker! and here it is

aJ Spraye30 cutler / / yoga

Monday, December 05, 2005

Microsoft's Half Cooked APIs

So when you publish APIs, what should you usually do? Say -

public string IWillReturnCaps(string anycase)
{
}

This is kind of self explanatory, and it tells me that If you give string in any case it will return Capital Letter String.

Microsoft has done a great job on publishing APIs on ActiveDirectory, called System.DirectoryService. These APIs look great on Surface! the time you dive in, you are almost dead, because when you prepared for diving in. You thought its 10 Ft Deep Water. But as soon as you get into water, you hit the face with rock solid surface and there is nothing to penetrate further. Some of the APIs are like this :

public willreturnobject IWillDoSomething(object givemesomething, object somethingmore, object andsoemthingmore)
{
}


This is called half cooked apis, you have the API, you need to figure it out what its going to do! The more concrete example can be - if you ask for properties - then documentation says, returns strings or values of properties? How many properties? Where are the properties, go figure out! Or do a enum or properties collection, use ADSI. Agreed! but why are properties not listed there. More over - if you are trying to do something, then you need to have basic concepts clear, should be able to write code in C++ or Visual Basic. There are not many examples which provide you with C# Code samples.

IRONY is that you are trying to do something with .NET but you need to use ActiveDS and COM Interop. Any way! if you go in that way - long time back you could not write a plugin for Visual Studio .NET in .NET Itself. If your plugin involves little bit of of GUI, you must use ActiveX.

If you are trying to do something with System.DirectoryServices then go here.

Btw- I am trying to write a Active Directory Web Administration Interface in ASP.NET - which will be available here soon.

Long time no see! Politics...

Internal Politics exists in every company, people are in rat race and thats something not gonna change. I wonder how many people actually read AND implement "rich dad poor dad". My point is that people give lots of gyan about professional ethics and team building. But sometimes all around I see that people are just there to pull strings or climb on other's shoulder to get something done.

I see no solution to it, other than get out of this RAT Race. I can see two of my friends are trying to do it and some how I feel that they are successful, namely Rajesh and Ravi. But I seriously see a problem over here - they have done it afterwards once they have been through it and it took them a lot of time to achieve this. Instead of getting out of this RAT Race! why can't we just fix it?