- To judge people by their actions not so much by what they say
- To treat animals with kindness
- To respect people's privacy. Knock before entering. Don't go through people's stuff
- Ask before borrowing
- NEVER burn bridges
- Fess up if I break or lose something belonging to someone else
- How to cook spaghetti, pancakes, hamburgers, hotdogs, eggs and bacon
- How to sew simple stuff (buttons, tears, etc.)
- How to perform first aid on bad cuts (I had quite a few growing up)
- How to remove my own stitches
- Stay calm under pressure
- How to set the timing on a 1968 Ford Mustang the "old way"
- What someone does in life has no relation to how important they are as a human being
- Everyone is an expert at something, and a complete dumb ass at many other things
- To appreciate the story in everything
- To appreciate Zeppelin, Pink Floyd, The Rolling Stones, ELP, Yes, as well as Bach, Mozart, Zappa, Mickey Hart and Airto
- Read books (I'm still playing catch-up)
- You will always need something the day after you've thrown it away
- Never make promises you cannot keep
- Follow through on the promises you make
- Scary looking people are usually not scary inside
- History is not dull. Textbooks are dull
- People who don't pay for things have no value for those things
- You have to learn about pain and happiness yourself. No one can teach them to you
- Don't yell from the next room. Come over and ask in a normal voice
- Don't answer someone yelling from the next room until they come over and ask in a normal voice
- Beauty and Kindness are rare in life because it makes you appreciate them more
- It always feels better to earn something
- Don't make fun of other people. You don't know what they feel inside
- Defend yourself. No one else will
- How to remove a Tick
- Drink water before you go out to work in the heat
- How to solder electrical connections
- How to read the PDR and Goodman & Gilman's books
- Hugs are important
Thursday, 30 June 2011
Things My Mother Taught Me
Wednesday, 29 June 2011
Done Flip-Flopping
I apologize for the flip-flop waffling insanity over WWA. I submitted a formal request to SourceForge to nuke the project. It will be no more. 2011 will be a watershed year for me and my family and this is like step one. Even if I’m a little late to the party. Just sayin. I’m sure that this post makes absolutely no sense to anyone whatsoever. That’s ok. Neither did I.
Thursday, 23 June 2011
Interview Warnings for the Interviewee
We’ve all read a lot of things to watch out for when interviewing potential candidates for filling position vacancies. There’s plenty of horror stories to go around, and most of them are based at least in part on fact. I’ve experienced my share of bad interviews from the side of the employer and doing some questioning.
Some of my personal favorite lines from candidates include the following:
“What do I know about [product]?! It’s more like, what do I NOT know!”
“I don’t write scripts. That’s for minions to do.”
“Why do I got to know how to speak clearly? I’m applying for a IT job.”
“I can tear apart and fix an iPod and an Xbox 360 on my own.”
But what about the things to watch out for in a potential employer? You know, the small, even subtle clues hidden within innocent comments strewn throughout your interview discussion that may reveal a horrific nightmare awaiting you on your first day of work. I’ve learned many of these first-hand, so I can vouch for their validity. Here’s a few to take notice of:
“We do not write any code here. Everything is off-the-shelf or out-of-the-box”
Translation: We are too ignorant and scared to death of tinkering with our precious technology. We might break something. Change is evil. Things should remain unchanged forever. An object in motion tends to stay in motion unless acted upon by dangerously unapproved forces which must be prevented at all costs.
“This position requires a wide range of software, hardware, networking, storage, database, programming, web development, and helpdesk expertise.”
Translation: We are going to dump a mountain of shit on your head and pay you less than what an expert in any one of these “skills” would normally earn. It also means our top priority is cutting costs (one person, many hats) rather than accomplishing a meaningful improvement. You will work insane hours and either burn out or check into a rehab clinic within a year.
“We are a 100% [vendor name] shop here! We don’t even consider other vendors.”
Translation: We have drank (or drunk?) the Kool-Aid from the crotch of our vendor masters. We expect you to do the same. Making bold claims is higher priority than searching for a truly optimal (and cost-effective) solution. If the interviewer also happens to be wearing vendor apparel (shirts, ball caps, coffee cups, underwear, tampons, etc.) be especially careful. This is not going to be a very open-minded shop to work in.
“We are strictly a nine to five operation here”
Translation: Hours trump innovation and quality.
“We let the last guy go because he lacked the skills we needed”
Translation: We will talk shit about someone you don’t know in front of people they don’t know. What will they say about you later on.
“Training? That’s something you do on your own time”
Translation: Run for the door. Don’t say another word.
“I know the position you applied for is [x], but we really need a [y]”
Translation: We are desperate! DESPERATE! We may have had several key personal up and quit suddenly and we are doing everything in our power not to look scared shitless.
“Have you worked with Excel databases before?”
Translation: I am a complete idiot from the Human Resources department, who was chosen to interview IT candidates and I have absolutely zero knowledge of IT terms, and concepts. I probably won’t even remember this interview when you leave. Good luck!
“How would you approach this project we just described?”
Translation: We are fishing for help by pretending to interview you, but really we are just picking your brain to do it ourselves and have no intention of hiring you or anyone else.
Tuesday, 21 June 2011
The Low-Hanging Fruit: 5 Quick Projects for Your Windows Network
Fear not. I’ve put together a short list of easy projects you can knock out in a few hours that will help shift the burden of your work either into the computers themselves or bestow your users with powers to solve their own problems ( or at least some of them ). Every minute you save each day adds up. The more time you free up, the more time you have to automate other tasks, thereby freeing up even more time. It’s a win-win-win and can easily turn into an exponential curve of goodness for you.
(1) Implement WSUS
Why? It will do a much better job of keeping your computers updated with current patches and service packs than Automatic Updates can ever do. It’s easy to setup. Easy to administer. It gives you a clear view of your environment.
Whether you have one server or two, you can drop WSUS on one of them and setup your own internal software updates management system. Automatic Updates are nice (aka Windows Update, aka Microsoft Update), but there are many update types that you cannot configure to automatically install (root certificates, optional updates, etc.). Plus, when you get WSUS up and running, you will quickly have a simple, easy, clear and concise view of your environment, including a direct view of which computers are getting updates and which are not.
Steps:
- Download and Install the WSUS 3.0 pre-requisites
- Download and Install WSUS 3.0 Service Pack 2 (x86 or x64)
- Do not install on C: (or wherever Windows is installed). Choose a different local drive on the server to install and for storing updates locally.
- Configure your WSUS options and run an initial Synchronization
- Synchronize against Microsoft Update servers
- Set the schedule for off-hours (i.e. 2:00 AM)
- Select all the update categories except “Drivers” (my opinion only)
- Select only the products and platforms you have in your environment
- Configure a GPO to point your computers to the WSUS server for updates
- Come back in 24 hours to review the results
- Revisit the WSUS console every month to review and approve updates
(2) Microsoft Security Essentials
Why? It’s a FREE and easy to deploy anti-virus/anti-virus product from Microsoft which also just happens to be pretty darn good. It’s also low-overhead compared with other vendor products in the same category (doesn’t tend to bog machines down nearly as much).
- Download and Install it on each computer
- Tip: Configure automatic “definitions” updates via WSUS
Why? Instead of users coming to you (email, phone, walk-up) to get deleted or corrupted files restored from backups, you can let them sort through the backups online and get their own restores without bothering you.
How: http://windows.microsoft.com/en-US/windows7/Previous-versions-of-files-frequently-asked-questions
(4) Group Policy Preferences
Why? You can easily configure a huge number of settings for your users with little effort.
- Drive mappings
- Printer mappings
- Shortcuts
- Environment variables
- IE Home Page and Favorites
- Registry keys and values (important: read this too)
- Automatic Updates (or WSUS)
- Screensavers and Lock features
Why? SPF 2010 has to be one of the easiest to implement intranet portal products ever. And it also happens to be FREE. Totally FREE.
Maybe you’ve tried previous versions of the free SharePoint product line like Team Services or WSS, but SPF 2010 is completely different. You can quickly take advantage of document libraries, discussion groups, forms libraries, custom lists, calendars and scheduling, and e-mail notifications.
- Download and Install SharePoint Foundation Server 2010 (read min. requirements)
- Get Started building your home page and add new pages/sites to start your journey
- MDT 2010 (Microsoft Deployment Toolkit 2010) and WAIK
- Saved Queries in Active Directory Users and Computers
- More to come…
Monday, 20 June 2011
SQL Query Functions for Configuration Manager 2007 Folder Trees
When you look in the System Center Configuration Manager 2007 admin console, you should be familiar with "folder" structures with respect
to Packages and Advertisements. However, when you want to determine the folder tree/path for a given package or advertisement programmatically, it takes a little patience and scratching.
There are two key SQL tables in the site database: Folders, and FolderMembers. To start with, you can query the "FolderMembers" table to get the "ContainerNodeID" identifier value for a given Package or Advertisement by passing in the "InstanceKey" value. This is actually either the AdvertisementID or PackageID value, which should begin with the 3-char site prefix (i.e. "ABC1234B", where "ABC" is the site code). Once you get the ContainerNodeID, you can query for the Folder "Name" and “ParentContainerNodeID” values and begin walking up the logical folder hierarchy. The functions below will help get you there. The Function "CMFolderID" returns the ContainerNodeID for a given Package or Advertisement by name. The result of that function call is then passed into the Function "CMFolderTree" to return a concatenated folder path using a fairly basic recursive SQL routine.
The only additional ingredients you will need to use these two functions are (a) the standard ADO enumeration constants definitions, and (b) a data source name connection (aka “dsn”) of some kind. These were coded for use in ASP, but you can easily convert these to VBScript, KiXtart or PowerShell if you prefer. – Cheers!
Examples:
Package for application "My Stupid Application 2011" has an ID of "ABC1234X"
The console shows it under:
---\Packages
+---\Engineering
+---\Contoso
+---\Stupid Applications
nodeID = CMFolderID ("ABC1234X")
folderTree = CMFolderTree (nodeID )
returns: "Packages\Engineering\Contoso\Stupid Applications"
'----------------------------------------------------------------
' function: returns Folder NodeID from object name (package, advertisement, etc.)
'----------------------------------------------------------------
Function CMFolderID (instanceID)
Dim conn, cmd, rs, query, retval : retval = ""
query = "SELECT DISTINCT dbo.FolderMembers.InstanceKey, dbo.FolderMembers.ContainerNodeID, " & _
"dbo.Folders.Name FROM dbo.FolderMembers INNER JOIN " & _
"dbo.Folders ON dbo.FolderMembers.ContainerNodeID = dbo.Folders.ContainerNodeID " & _
"WHERE (dbo.FolderMembers.InstanceKey = '" & instanceID & "')"
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
conn.Open dsn
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
Set cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = query
rs.Open cmd
If Not(rs.BOF And rs.EOF) Then
retval = rs.Fields("ContainerNodeID").value
End If
rs.Close
conn.Close
Set rs = Nothing
Set cmd = Nothing
Set conn = Nothing
CMFolderID = retval
End Function
'----------------------------------------------------------------
' function: returns concatenated chained folder path string for object
'----------------------------------------------------------------
Function CMFolderTree(NodeID)
Dim conn, cmd, rs, query, retval : retval = ""
query = "WITH ParentChildRels (ParentContainerNodeID, ContainerNodeID, " & _
"Name, HierarchyLevel) AS " & _
"(SELECT ParentContainerNodeID, ContainerNodeID, Name, 1 as HierarchyLevel " & _
" FROM Folders " & _
" WHERE ContainerNodeID='" & NodeID & "' " & _
" UNION ALL " & _
" SELECT " & _
" r.ParentContainerNodeID, r.ContainerNodeID, r.Name, " & _
" pr.HierarchyLevel + 1 AS HierarchyLevel " & _
" FROM Folders r " & _
" INNER JOIN ParentChildRels pr ON " & _
" r.ContainerNodeID = pr.ParentContainerNodeID " & _
") " & _
"SELECT * FROM ParentChildRels " & _
"ORDER BY HierarchyLevel DESC, ParentContainerNodeID, ContainerNodeID, Name"
Set conn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
Set rs = Server.CreateObject("ADODB.Recordset")
conn.Open dsn
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
Set cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = query
rs.Open cmd
If Not(rs.BOF And rs.EOF) Then
cols = rs.Fields.Count
rows = rs.RecordCount
Do Until rs.EOF
If retval = "" Then
retval = rs.Fields("Name").value
Else
retval = retval & "\" & rs.Fields("Name").value
End If
rs.MoveNext
Loop
End If
rs.Close
conn.Close
Set rs = Nothing
Set cmd = Nothing
Set conn = Nothing
CMFolderTree = retval
End Function
IT Jobs in Hampton Roads
My employer, Endurance Network Services, has openings for two qualified Systems Engineers. These are full-time positions in the area of Norfolk / Virginia Beach, Virginia. ENS is a great place to work and grow. The following qualifications are desired:
· Windows Server 2008, 2008 R2
· Active Directory
· Exchange 2007 or 2010
· VMware ESX
· Storage Area Networks (SAN) – enough to work with ESX HA
· Cisco networking (low-to-moderate experience)
· Some experience with Backup Exec, Barracuda, AntiVirus apps, etc.
· Client-facing skills for face-to-face with customers on a daily basis
· Technical writing skills for assessments, etc.
If you are seriously interested, contact me for more details and to schedule an interview: ds0934 (at) gmail (dot) com
Saturday, 18 June 2011
First Hampton Roads VMware Users Group Meeting
We finally going ahead with starting a VMware User’s Group. Although I am still working with VMware on the official sanctioning of a user’s group for Hampton Roads, I want to get started before everyone starts their summer vacations J.
S.L. Nusbaum Realty has graciously volunteered to host our first meeting at their corporate facilities:
Endurance Network Services has agreed to provide us with some refreshments.
June 28, 2011. The current schedule is for a mixer from 5:30PM – 6:00PM on the deck to be followed by some formal information from 6:00PM – 7:00PM.
At least one vendor presentation will be made during this time. I believe that Acronis is going to be able to provide us with a presentation of the June 20th release of virtual backup and recovery software, version 11.
Please share this invitation with any co-worker, friends or other associates that may have an interest in virtual environments. Although are focus is going to be related to VMware. There are definitely overlaps that we can all benefit from.
I am going to ask you to RSVP by June 24th to insure that we have enough refreshment and space for everyone to enjoy and benefit from the occasion. I hope to rotate the hosting around to multiple locations as this continues to allow for each of us to varying commutes to these events.
Contact Karlow Kroon for details and location information ( KarlowKroon at cox dot net )
THANX and looking forward to seeing you there!
Friday, 17 June 2011
Windows Web Admin (WWA) Updates
WWA is actually a stepchild of several customer projects in production environments. A more recent project required me to dust it off again and borrow pieces from it. That in-turn led to me rolling new features back in. So while the public version of this beast is semi-supported, the production implementations are moving ahead full speed. I've tried to snapshot the more useful (and general) changes to roll back into the public version, and that has led to a life of its own.
I posted build 2011.06.15.001 two days ago. This is a major update. Way too many changes to list here (ok. Maybe not "too many", but I am definitely "too lazy"). However, one of the core modifications caused problems with two key modules that wasn't discovered until this morning.
So, this morning I posted build 2011.06.17.001 to close that gap. You can download the source code at http://wwadmin.sourceforge.net.
You can also post your reviews, comments, gripes, bitching, complaints, praises and whatever there as well. If you really want to help me feed my kids, you can donate via PayPal also, but I don't expect any donations. Just sayin :)
I may continue to post updates, but they won't be nearly as often. If you need or want a particular feature added or enhanced, just let me know.
Cheers!
Tuesday, 14 June 2011
Barriers to Change in the IT Department
Monday, 13 June 2011
Opinions are like...
Today I was standing idle, minding my own business for a few minutes enjoying a Starbucks latte. Then some fat slob passes me and makes a snide comment about "Starbucks is stupid". Last weekend, someone walked by me in Lowe's and commented on my Red Sox ball cap, saying "Boston, pffft."
What it is about some people that makes them feel compelled to:
A. Form an opinion/judgement of others
B. Feel compelled to share that asshole shit-brained opinion with strangers
C. Become offended if judgement is aimed back at them.
I don't know. Stupidity?
So, you don't like Starbucks. Maybe (very likely) you also don't like certain music, sports, politicians, actors, races and religions, hair cuts, clothing styles, cars, colors, sounds, light, whatever. Who cares. Nobody cares what you care about. Nobody cares what I care about either. Like most people, I certainly do not walk around and aim judge mental comments at strangers. But a significant minority of idiots does just that.
So, when he said that I should have just responded "well, you're just fat" or "you don't like Starbucks and I don't like people who drive up our aggregate health care costs. We're even. Shut up." You go on eating until your heart explodes and I will go on enjoying my Starbucks. Did that offend you? Well, maybe you shouldn't have started it. If you shoot first, expect to get shot at.
By the way, to the person that said the Boston comment, I politely told to fuck off. They turned back and stopped. I smiled. They moved on. Life is good.
Conclusion: If you feel compelled to throw judgments at people, be prepared for equally angry/stupid comments being fired right back. Opinions are like assholes: Nobody wants to see yours. Keep it to yourself. Blog about it all day. Keep your mouth shut in public.
This has been a message from Citizens Concerned about Idiots in Public.
Saturday, 11 June 2011
Refactoring
I love this word. I love what it means. I love what it implies and what it stands for, both in the literal and theoretical sense.
In short, it means “a disciplined way to restructure code”, which is obviously a software development reference. But it’s much more than that. MUCH more.
Refactoring, in some ways, parallels material and structural concepts such as “single instance storage” or “refinement”, and because of that it extends out way beyond software or even computers. It applies to life in general.
Refactoring comes into play when you clean your desk and organize your things. It comes into play when you sit down to evaluate your plans in life. It comes into play when you experience a major change in life and are forced to adjust your routine.
In practical terms, refactoring simply means that you look for ways to optimize and simplify something without sacrificing quality or capability. Even sports teams refactor when it comes to strategy, position assignments, management and recruitment. Businesses refactor all the time, looking for improvements in efficiency to reduce costs and raise profit margins. Evolution and extinction are probably the simplest and most direct examples of refactoring. Refactoring is a natural part of life itself.
Any time you look for ways to combine steps, to do more with what you already have, or to find ways to reuse things for entirely new purposes, you are refactoring.
Enjoy!
Friday, 10 June 2011
Mapping Out Windows 7 Automation Options
This is another one of those projects I’ve had swimming around in the back of my puny brain for a long time. Think of it like an ant rollerskating around the inside of a vacant Walmart building. Yeah. Kind of like that.
The idea was to map out various “common” IT chores against the four most common methods for automating them and checking which ones work best and which are the “easiest” to implement. Is it perfect? Ha! If you know anything about me you’ll know it’s at least sincere and fairly thorough, but I cannot claim 100% accuracy. It is a living document since I’m using one of Google’s coolest and most flexible tools: Google Sites List Page template. It lets you define your own list structures, including data types per column (text, date, URL, checkbox, drop-down, etc.) and specify the default sorting options.
I plan on adding to this and updating it as time permits and as something new comes up. I welcome any input and corrections, so chime in and I will be sure to post credit for submissions/corrections on the page. I hope it helps system admins to more quickly pick an option to solve an automation challenge using one of the many built-in features of Windows 7 and Windows Server 2008 R2.
https://sites.google.com/site/skatterbrainz/automation
Please check it out and let me know what you think? Thank you!
Thursday, 9 June 2011
Group Policy vs Scripting. Version 2011
I know I repeat myself quite a bit. My kids tell me that. My wife tells me. My dog tells me as well. That’s ok. Sometimes things need repeating.
I’ve worked with scripting and programming, in various languages and on various platforms, for about 22 years now. I still do a lot of scripting and code development for servers, desktops, web applications, infrastructure, and just for the hell of it. Ok, at times it’s a lot of for-the-hell-of-it, but that’s ok, since I have no life whatsoever it makes me forget that while I curse and swear at my screen.
So why does it freak out my colleagues when I respond to most questions involving automation with “have you looked at using Group Policy?” ? Or when someone says “I need to push out this registry/file/shortcut/scheduled task/drive mapping/printer mapping/environment variable (or whatever) to 50,000 computers by tomorrow!” and I say “Group Policy Preferences” and slurp the bottom of my cup through the straw loudly without blinking.
Yes. Group Policy, and the newer Group Policy Preferences extensions, are better, easier and quicker to use for solving most sys-admin problems than scripting. There are exceptions of course (hey, EVERY rule has exceptions), but they are rare. To sum it up in the simplest “general rule”:
- If you need deploy or push a configuration change “outward”, use GPO or GPP
- If you need to collect something or some things from desktops and servers, use scripting (or System Center Configuration Manager 2007)
Does that make sense? Again: this is a general rule, and it applies mostly to environments with Windows Vista or Windows 7 and Windows Server 2008 or 2008 R2. However, there are extensions for GPP to run on Windows XP and Windows Server 2003 (eeew!). I say “mostly” because even though GPP is applicable to XP/2003 and newer versions, there are hundreds of base-level Group Policy Object settings which are only applicable to Vista/2008 and newer versions. Since nothing works in a vacuum, it really takes a comprehensive approach to judiciously leverage GPO settings with GPP to accomplish real automation results.
So, whenever you are facing a task involving the deployment of a configuration change to your environment, always, ALWAYS, consider Group Policy and Group Policy Preferences FIRST.
Thoughts on Testing Database Connectivity
** Test the Connection
** Test the Connection and Table or View access
The first method simply attempts to open a connection to the database and returns success or failure (or the error details).
The second method opens a connection AND attempts to read from a table or view and returns some result.
The second method is correct. The first method is bullshit. Why? Because it doesn't really test if the application can read the resources. In fact, you could argue that if the application requires writing to the database, that the test should attempt to write to a table. I've seen so many cases where someone tested the connection and was perplexed as to why their application would still not work. The root cause in every one of those cases was permissions within the database environment which prevented the application context from performing the actions it expected to accomplish.
Testing database writes as part of a routine "test" verification can be messy, so I usually don't recommend that except for unique situations. In most cases, just test a read operation against the tables or views and hopefully that will provide sufficient validation for your scripts or applications. I'm not going to bother posting examples because the Internet is overflowing with plenty of examples already (if you search for them you will see what I mean). In any case, I hope this helps.
Wednesday, 8 June 2011
Dear Software Developers v2.0...
Tuesday, 7 June 2011
Retraction Time
I’m a bit slow, but I eventually get around to admitting my mistakes. Ok, well, most of them. I have to save a few apologies for those long spells when I don’t make any mistakes (those last about 15 seconds).
R.K. kindly corrected my mention about the Autodesk University 2011 course listing. The listing for the System Center Configuration Manager course with Nate Bartley and Jerry Milana was actually a leftover from AU 2010. My bad. Sorry to spin everyone up.
Dear Software Developers...
I hope your day has started off well? (Can you already tell this isn't going to end well? Heh heh...)
Hopefully, you've finished off your bag of Skittles, your third Mountain Dew or second can of Rock Star, and are looking forward to hitting your favorite X-men Edition Signature series ceramic bong at lunchtime. A good day so far.
I would like to make a few small suggestions on behalf of all IT minions around this big ball of dirt floating in space:
Please be consistent. Please use a common naming and version method for all of your products, components, files, folder names, services, processes, threads, interfaces, API modules, documentation, support files, registry keys, junctions and reparse points?
Is this really too much to ask?
So, you say "but Dave, we have 9,000 skittle-swilling bastards spewing code in 24 countries and 12 languages. How do you expect us to be that consistent?"
Write a memo. Send an email. Hold a meeting. I don't know and I don't care. McDonalds can do it, so can you. Or are you saying you cannot perform at the level of a McDonalds worker? Wow.
Pick a 3 or 4 character label that uniquely identifies your company and use it on everything you do. EVERYTHING!
Stop with the "Shitware 2011" and "Crapware 14.5" and "Doucheware 0.0.002.9a" versioning and pick ONE format for everything. Okay?!
Pick ONE standard for publishing updates. Zip,MSI, EXE, MSP, whatever, just pick ONE f-ing format and stick with it. Survey your customers (whoa! What a concept!) To see what works best for them.
Fill-out the property tags on all of your DLL and component files. Company, product, version. You know: all that painfully complicated stuff. I know it might cut into your bong-loading time, but it'll make a better product.
Mm-kaay??!
Jesus! Shitty coders piss me the f**k off.
Monday, 6 June 2011
10 Microsoft Tools You Might Not Know Exist
Before you smirk and roll your eyes, I’ll be the first to say that at least once a month I run into another tool I never knew Microsoft published. No, I’m not talking about Steve Ballmer, but real software tools. Some you may know, some you may not.
- Microsoft IT Environment Health Scanner
- Microsoft Active Directory Topology Diagrammer
- Client Profile Configuration Designer
- Risk and Health Assessment Program for Active Directory (ADRAP)
- Microsoft Network Monitor 3.4
- Web Application Configuration Analyzer
- Microsoft Deployment Toolkit (MDT) 2010 Update 1
- Application Compatability Toolkit (ACT) 5.6
- Windows Server Update Services 3.0 SP2
- Microsoft Assessment and Planning Toolkit (MAP)
Autodesk University 2011
(Although, Boston itself was a blast).
But what I wanted to mention is that I saw a session that caught my eye:
CM330-2 "Installing Autodesk(r) Applications with Microsoft(r) System Center Configuration Manager"
Speakers are: Nate Bartley and Jerry Milana
I've known Jerry for quite a few years, so I'm sure that will be a very good session. I don't know Nate, but given the subject matter and Jerry as co-speaker, I have to assume he is also a very worthy speaker. In all, that should be a great session for anyone working in a network environment, even if you do not yet own a product like Configuration Manager.
As a small favor, I'd like to ask: who is planning to attend that session?
If your are, or are even thinking about attending it, send me an email at ds0934 (at) gmail (dot) com.
Friday, 3 June 2011
Photos from Tech-Ed 2011 Atlanta
Wednesday, 1 June 2011
Windows 7: Default User vs All Users
The "Default User" is basically a template for any new user logins for a given computer. The net result however is that the template is applied "per user", rather than "per computer". So, ultimately, if you make a change to the "Default User" profile, and there are already existing user profiles from previous logins, they will not receive the changes, only new user logins will receive them.
The "All Users" profile is a "per computer" feature that applies to all users, existing and new.
Default User (aka "%SysDrive%\Users\Default User"):
"C:\Users\Default User\Start Menu\Programs"
All Users (aka "%AllUsersProfile%"):
"C:\ProgramData\Start Menu\Programs"
As a test, try this out:
1. Create a folder under "C:\Users\Default User\Start Menu\Programs" named "Default Users Folder"
2. Create another folder under "C:\ProgramData\Start Menu\Programs" named "All Users Folder"
3. Log off and log back on to the computer
4. Click the Start Menu and click "All Programs". Scroll down to view all folders on the Start Menu. Which do you see?
5. Log off and log on as a different user (a user that has NEVER logged onto this computer before).
6. Click the Start Menu and click "All Programs". Scroll down to view all folders on the Start Menu. Which do you see now?
I hope this helps gain a little more insight into how these two user profile features behave.
Reminder: WWA is Toast
Windows Web Admin is no longer being developed or updated. I will leave build 2011.05.13.001 online for another month or so. The project site is still http://wwadmin.sf.net.
Now, back to your regularly-scheduled Wednesday, already in progress.

