So I’ve been building out a new development farm and trying a few things out on it here and there. I’ve experimented with the dynamic ram in Hyper-v. The database server got so messed up he didn’t even know he was running sql. I set it back to a static amount, rebooted and all was right with the world. I had two web front ends and the surprise there was both web front ends have to be up if you want the .wsp solution to install correctly. I spent all my time today getting bginfo set up just the way I wanted it. I guess the first thing to do is describe my environment.
First off I had to make a choice between Hyper-V and VMware. At the time I built the host my client was mostly using Hyper-V, or so I was told. It turned out later that they were really using more VMWare. The other deciding factor was that it came with my OS. There are converts to go from VMWare to Hyper-V and vice versa, never the same tool though. But they do exist and they aren’t terrible. Long story short I went with Hyper-V.
I have AD1 (Active Directory) and it’s still on a dynamic allocation of ram 768MB – 1792MB right now it’s at 953MB assigned and it’s using 686MB. I only have one user. Me. If I ever have a situation where I’m testing users I’ll but it up to 2 or 4GB.
The DB1 (Database) has been set to a static 4096MB. Before the incident it was set dynamically at 2G – 4G and it was assigned 3.5G and using 3G.
WFE1 (Web Front End) is set to use 4 processors and 8 gigs of ram. I was messing around with the processors giving 2 here and 4 there. Turns out I was over thinking it. They are virtual processors and I can only assign up to 4. Having 12 available it just didn’t make sense. I couldn’t say physically which processor it should use or shouldn’t use. So what the heck? I gave everyone 4 processors. 8 gigs of ram because there’s visual studio and everything else under the sun on that box. That’s where I spend a lot of my time so I want it to run real smooth.
WFE2 is still on the dynamic ram technology with 2-8GB it runs around 2GB assigned and 512MB used. The reason why I went with 2 WFEs is so that I could do a little bit more testing before my code leaves me. I never really felt like I was missing out on anything before, but I have it there just in case. I used to have it connected all the time, but then I learned that when it’s not booted up the wsp never deploys. Not wanting to have that kind of problem on my development box I took it out of the farm with PSConfig. I’ll put it back in with PSConfigif I ever need it.
An interesting thing about this PSConfigis that WFE2 hosted central admin as well as WFE1. I removed WFE2 through central admin and added WFE2 back to the farm with PSConfig and I told it not to host central admin. This caused a problem to appear. I was getting messages about not upgrading properly. So I removed wfe2 through PSConfig this time and added it back to the farm telling WFE2 to host central admin again. Then I removed it with PSConfig and added it back telling it NOT to host central admin. That finally worked. I guess I wanted my way? Maybe I didn’t want to forget that I had it hosting central admin? Who knows all that matters is it’s the way I want it and I’m happy.
Fabian Williams convinced me to have a client machine. I don’t know if I’ll ever use this one but we’ll see. As a matter of fact I just looked and seemed to have messed it up. I created an iSCSI drive and I disconnected it, but it was a windows 7 box with the recommended ram and probably 4 processors.
I’ve spent the last few days trying to find a project that I could do for community. I couldn’t find anything that wasn’t done a few different ways so I went on a detour today. I thought hey, I’m like a real live sysadmin now. Now I too can have those cool desktops with the text on it that tells me all about the server I’m on like in Figure 1.
So I hopped on Google and didn’t know what to search for. So I hopped on twitter and blurted out something like, “What do admins use to write on the backgrounds of their desktops?” As always Todd Klindt made sense of my question and suggested that some people like to use BGInfo. Several people agreed, except Mark Rackley. He some how came up with Sharpie, but I wanted something more dynamic than that.
BGInfo is pretty cool and time tested so I’m not going to get into all of it’s awesomeness. I saw that I could get values via vbscript. I thought that should be fun. I was once the best I knew at vbscript and was wondering if I still had the touch. Turns out I don’t. I spent all day today trying to figure out how to call PowerShell from VBScript. You can do it, but you’re not going to be calling SharePoint cmdlets. those are 64 bit. VBScript, as I became painfully reaware of is 32 bit. There are a couple reasons why this wouldn’t have worked. The Calling application that creates the app domain in the first place is 32bit.
However I did come up with some good ideas. To use VBScript to call PowerShell and then pass data back to VBScript I came up with a few things that worked and a few that don’t. So you’ll see some stuff about environment variables. That doesn’t work because environment variables are session specific and I couldn’t find anything that would let you rewrite the system environment variables. So that was out. What I finally liked was writing to a file cause that’s super easy in PowerShell and reading in VBScript and that’s only about 5 lines of code that you can copy and paste. Passing information to PowerShell by parameters worked pretty well too.
So I was really stuck. How was I going to get the SharePoint Version. I rarely use it. But I wanted it. I had to have it on the desktop. I don’t know why either, but just bare with me. I was going to use PowerShell to get the version number. Cause again I blurted out a question like, “How can I get the version number from SharePoint” in twitter. @usher and @toddklindt responded with get-spfarm | select BuildVersion or something similar. Both they’re approaches were a little different but were basically the same idea. This other guy, @sstrnager, came up with something around get-wmiobject win32_product and this got me to thinking. Since BGInfo has a built in WMI query interface maybe I can just use that? I was right. for the first time today. It felt pretty good. Until I spent 2 hours trying to get a scheduled task to work which started working for no reason at all. I finally used
SELECT Version FROM Win32_Product WHERE name = "Microsoft SharePoint Server 2010 "
So at the end of a very long day I was able to put some text on a desktop or 4 and leave my self some notes. I do wish I could centrally manage this. I dread having to go to each machine to do make a little change. Like leave myself another little note about my farm or if there’s other information I would like to see is going to be a major chore. Maybe I can but the configuration file on a network drive? I’ve never had much luck with that and I’ve had enough rejection for one day.