Having trouble joining Windows 7 to a domain?

If you are having trouble joining Windows 7 to a domain, and receive a odd error message with "Parameter is incorrect" then you are not alone. This issue seems to occur if you have more than 16 characters in the first portion of the domain you are attempting to join.

Microsoft has released a hotfix which addresses this issue on all architectures and you can grab it from : http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961402&kbln=en-us

On an odd note, the name of the hotfix seems a little bit odd : Windows6.1-KB961402-x86.msu.  It seems odd to name one of the first Windows 7 hotfixes with Windows 6.1.

No Virtual Machines in SCVMM 2008 Self Service Portal – What the?

After installing System Center Virtual Machine Manager 2008 (SCVMM 2008) into our production environment we decided to try fully utilize the feature of the product to offer our clients a web based portal to login and manage their virtual machines.  This all seemed fine in practice until we actually installed the SCVMM 2008 Self Service Portal and found that not a single Virtual Machine is visible, and no error messages or helpful information is displayed.

We had initially assumed this was a problem with the User Roles which I had assumed to be the primary mechanism for distributing permissions to individual users and groups.  Well I was half right, User Roles controls access to the portal itself, as well as the hosts and library shares that that user role will have access to. To actually view a Virtual Machine within the portal you need to be an Owner, or a member of a group that has Ownership of the Virtual Machine.

I'm still undecided if I like this feature or not, I like the granularity it offers – i.e. I can allow a client to view their two virtual guests on our host, without compromising the security of the other guests on the server.  On the other hand, I don't like having to double handle my permissions in two different areas.  I think time will tell on this one, and functionality will win out over inconvenience as it usually does.

To change the ownership of a Virtual Machine using SCVMM 2008 Administrator's Console is fairly simple as it can be edited in the properties menu.  For more than one server I would recommend using PowerShell.  The command to change the ownership of a Virtual Machine follows :

Set-VM -vm "VMName" -owner "DomainNewOwner"

For anyone who wants to do any SCVMM 2008 Self-Service Portal PowerShell Scripting this is a great resource, http://technet.microsoft.com/en-us/library/bb963722.aspx, it includes a bunch of useful sample scripts. 

And an additional quick warning, I have found that running PowerShell scripts to change properties of large groups of Virtual Machines can from time to time slow down VMM, or even bring it to a complete half.  Use wisely!

Happy New Year, I have Writer's Block

I don't really go in for New Year's Resolutions, but I had promised myself to blog more often in 2009.  It looks like I've already gotten to a bad start this year as it is already 11 days in and this is only my second post.  I really couldn't find anything interesting to talk about and so I've gotten into a kind of writer's block.  Each time I opened OneNote to write anything down I'd end up within a few minutes doing something idle like browsing Wikipedia, Indeed even while doing this post I've already gone off on a Wikipedia tangent.

After mentioning this on Twitter, one of the friendly guys that is following me suggested I do a post on Writers Block.  It is an interesting idea and surely in the age of personal publishing there must be a few people out there suffering from the same problem?  And surely in aforementioned age someone else has decided to blog about it? A quick visit to the search engine gods show that "yes, it has been mentioned, blogged and dissected in detail".  Here are a few that I foudn useful :

http://www.problogger.net/battling-bloggers-block/
http://www.lifeclever.com/10-tips-for-beating-bloggers-block/
http://www.bigsmoke.us/bloggers-block/
http://www.problogger.net/archives/2005/11/29/20-types-of-blog-posts-battling-bloggers-block/

What I will do is quickly detail the ways to overcome writer's block.  There are an almost endless number of suggestions out there, but here are the few more helpful that I found across various postings:

  1. Mention your block to someone else.  Being challenged instantly jogged my mind.
  2. Take a break.  Spend some time with the family, play a game, listen to music or watch a movie.  If you are reading this this there is a good chance you work too much, stop working and take a break!
  3. Exercise.  This one could be a little painful for some technical people like me, but getting oxygen into the brain surely can't be a bad thing.
  4. Write down your ideas.  I know I get a few ideas, especially late at night trying to get to sleep, but I never ever write these down.  I am going to start keeping a notepad next to the bed.  I would advise against keeping a notebook next to the bed for instantly blogging your ideas, they can make a little less sense in the light of day.
  5. Case Studies and Interviews.  These can be an easy way to get content out quickly that will interest other people, especially outside of your regular readers.
  6. HitTail.  This is my favourite as it is a technical solution to a non-technical problem.  HitTail analyses your blog content and may give you an indication on what other topics you could cover. 
  7. Write something, write anything.  Automatic Writing, Free Writing and Mind Writing are all well documented.  This may get you out of your block, but you could also end up writing about something you have no desire publishing.   As a technical writer, this particular step could be less useful.

I also took a different tack on this, one of my colleagues mentioned to me that just because a concept was elementary to me did not mean it was not worth blogging about or documenting.  After giving this some thought I realised it could spawn a whole series of topics for me to cover including some of the following:

  • Configuring Site Collections, Web Applications and SSPs.  This stuff has been covered before by many people, but this does not mean it is not worth covering again, and perhaps with some of my own practices that we have found to work best in our environment.  Note how I cunningly avoided putting the words best and practices next to each other.
  • Configuring Excel Services, Search, Profile Importing within an SSP.  I've put this on its own bullet as I think that from a beginner's point of view these topics could all stand a bit more coverage.
  • Reporting on the various Licenses used in your SharePoint Installations.  This is a difficult one, and I'm still trying to work out how to automate this process.  Once I figure this out it will be a decent post.
  • Configuring CRM4 to disable the "Add Multiple Users" feature which can be considered a security flaw in a multi-tenanted Internet Facing Deployment.
  • Using ISA 2006 to secure HostHeader based Windows Sharepoint Services Sites with their own SSL certificates.

These are a few of the ideas that I have decided to cover in the coming weeks, and I would welcome any comments on those ideas. Hopefully by using a few of the tips above, and picking one of those ideas I will be punching out a new post in no time.

Why are my SharePoint Audit Logs missing the MachineName and MachineIP data?

Audit Log Reporting seems to be one of those topics within SharePoint that is still a little misunderstood.  I have blogged on it before here, and suggest that if you are not familiar with Audit Logs that you view that post quickly before reading on.  There is also an overview which can be read here on the office.microsoft.com site.

I received a question about Audit Log Reporting from one of the readers of my blog a few months ago, and since then it hasn't been the first time I've heard it :

I read your blog about SharePoint Audit Log Report. I'm trying to get a report but I cannot get the "Machine Name" and "Machine IP" data. Can you help me? Is there any settings that I'm missing?

My answer was that there were no settings missing, and unfortunately the data missing is by design. 

Here is a row taken straight from the Audit table :

Site Id Item Id Item Type User Id Machine Name Machine IP Document Location Location Type Occurred (GMT) Event Custom Event Name Event Source Source Name Event Data
ed91340f-e335-45d2-82f3-c6521eb23fc0 59af845e-b604-436e-9c08-0a948a27d996 Document NT AUTHORITYlocal service _catalogs/masterpage/Editing Menu/CustomSiteAction.xml

As you can see the MachineName and MachineIP values are mysteriously null, in fact querying the table for a row where they were not null returns zero results, they are never used. Unfortunately the reason in this case is to view KB939246, which has the following as a cause : The values in the MachineIP column and in the MachineName column appear as NULL because of privacy concerns. By design, Windows SharePoint Services 3.0 works in this manner.

This feature is not going to be reporting MachineName or MachineIP of actions in the audit log any time soon, it is a bit of a shame because I can imagine some occasions where this could be useful.  Keep in mind that your IIS logs will still contain all the IP information, and if you have a timestamp you should have no problem tracing that request back to a particular IP.  Unless you have your site set to be edited by anonymous users, the UserID field is going to be far more valuable when utilizing these reports, however you may need to perform a join to the userinfo before you will get anything particularly relevant out of it, i.e.

SELECT     UserInfo.tp_Login AS UserLogin, UserInfo.tp_Title AS UserTitle, AuditData.SiteId, AuditData.ItemId, AuditData.ItemType, AuditData.DocLocation,
                      AuditData.Occurred, AuditData.Event, AuditData.EventName, AuditData.EventSource, AuditData.SourceName, AuditData.EventData
FROM         AuditData
INNER JOIN UserInfo ON AuditData.UserId = UserInfo.tp_ID

I would not be surprised if the functionality to turn back on the MachineIP and MachineName reporting could be enabled by flicking a switch in the registry or database, but as yet I have had no luck finding it.  Maybe someone else out there will, good luck!