<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://thelazyadmin.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title /><link>http://thelazyadmin.com/blogs/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>App-V Real World Experience</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/22/App_2D00_V-real-world-experience.aspx</link><pubDate>Mon, 22 Feb 2010 23:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2737</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>2</slash:comments><description>&lt;P&gt;This article has been translated&amp;nbsp;into Chinese thanks to Tommy Huang. Check it out &lt;A title="Chinese translation of this article" href="http://virtualtom.blog.51cto.com/1203850/282618"&gt;here on his blog&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;As we jump head long into a new year of exciting advances for App-V I have been taking some time to reflect on the activities in the past year.&lt;/P&gt;
&lt;P&gt;I have spent much of the past year working with customers who are starting out with App-V for the first time.&lt;/P&gt;
&lt;P&gt;Worldwide there are over 22 million MDOP licenses that have been purchased. I had the opportunity to work with a wide range of customers who purchased some of those licenses.&lt;/P&gt;
&lt;P&gt;I worked with customers in government and private industry. The customers ranged from mid-size telecom and cable companies with over 5000 employees and over 2 million customers to governments both at the city and state level. The common thread that all applications managers had was how to make managing application easier. The challenges that they face include supporting&lt;/P&gt;
&lt;P&gt;In my Experience, Application Management starts long before we double click a setup.exe, or install.msi. The first thing we need to understand with a new application is how do we install it? That includes questions like what are the dependencies. Are there custom configuration files that need to be created/modified, how much space will the application take? Will users need additional training? Will help desk support technicians need additional training? What is the life time of the application? How will the application maintained and upgraded? Once the application is no longer required how will it be retired? With Virtual Applications we still need to ask these questions.&lt;/P&gt;
&lt;P&gt;All these questions should be answered before an application is deployed into an environment. I saw customers answer these questions in different ways. Some had Change Approval Boards or CABS. Some would simply fill in a document template that documented the application before installing it. Depending on the level of process and the complexity of the application it could be very challenging to get an application out to users. What’s more when users have trouble with a new application it usually took time for the help desk to get up to speed.&lt;/P&gt;
&lt;P&gt;App-V provides a consistent set of answers for these questions. Let’s dive in a take a look at how those headaches are solved and how customers approach solving them.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;THE COMPLEXITY SHIFT&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;What I tell my customer whenever I’m explaining the value of App-V is that we are shifting complexity. Microsoft has done a terrific job of building a reliable installer executive with MSIEXEC. However there are still many applications that choose to, either use highly customizes routines stringing together multiple MSIs along with various custom configurations step, or a customer install all together. For example many line of business applications have configuration steps that must be completed after the application has been installed. Sometimes this involves editing configuration files or connecting the application to a back end database.&lt;/P&gt;
&lt;P&gt;The next complexity is once applications are installed troubleshooting these applications requires specific knowledge of the application so that help desk and administrators can quickly trouble shoot the application. A simple way to look at this is count the number of applications that need to be supported then look at the number of setting and configuration steps required to install them, finally look the troubleshooting steps for those applications. The combination and knowledge required to support a large number of applications increases exponentially. With App-V the sequence engineers packages once and the installation is same regardless of who deletes or refreshes the app. The helpdesk no longer has to worry about how to reinstall if app breaks or which settings to choose. All settings are the same so troubleshooting is the same. Before we can ensure that we get that streamlined complexity shift we need to also think of a few more things.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;IDENTIFY YOUR SUBJECT MATTER EXPERTS&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Customers found that because they had to get the application working up front when they sequenced the application it required testing that assured a working application on delivery to the end user. Since Virtual Applications are usually installed ready to run it’s important that someone who knows the application very well tests the application to make sure that it behaves as expected. To accomplish this I worked with my customers to identify subject matter experts for the applications we were sequencing. This includes those that are knowledgeable about installing the application and using the application. The last thing you want is for a user to get an error on some feature that is buried under the surface of the application. It’s frustrating and it means having to remediate your App-V package. This leads into the next tip nicely.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;USER ACCEPTANCE TESTING&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Like any development project, you should try to run a user acceptance test on applications that get sequenced. Since we are in a sense altering how the application is deployed to computers we are changing how the original developer intended for the application to be installed. This isn’t usually a problem so long as the developer followed best practices, but there are always exceptions. By having your expert users validate the packages and sign off that the package works you ensure that your package has met a level of acceptance so that users can be productive with the application. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;HOMOGENEOUS HELP DESK PROCEDURES&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Unfortunately as careful as we are at some point users might have trouble with applications.&amp;nbsp; This usually means a call to help desk. With traditional applications we needed to provide detailed troubleshooting steps that were often different from one application to the next for example, make sure the application was properly installed and DLL’s were registered. Check .INI files, make sure file extensions were properly associated. This list could go on. With App-V the first steps of troubleshooting can be streamlined to be the same for all applications. Here is an example troubleshooting list:&lt;/P&gt;
&lt;P&gt;1. Ensure the application is loaded into the client cache&lt;/P&gt;
&lt;P&gt;2. If the application is deployed via SCCM make sure that the App-V client is properly configured for HTTP streaming or to communicate with the SCCM client.&lt;/P&gt;
&lt;P&gt;3. If the application continues to have issues reload the application into the &lt;BR&gt;App-V Cache. &lt;/P&gt;
&lt;P&gt;4. Clear user PKG file&lt;/P&gt;
&lt;P&gt;5. Re-stream all app-v applications&lt;/P&gt;
&lt;P&gt;This list is by no means conclusive, or complete. It will be different for many different environments. What remains the same is for applications that are deployed using App-V the steps are always the same. This allows your help desk technicians to deliver fast, consistent and remote application support.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;PREPARING THE SEQUENCING ENVIRONMENT&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;After talking about processes that will be impacted and the various key players that should be implicated with App-V, I then start helping customer prepare a sequencing environment. This environment is key to successfully and efficiently packaging application. &lt;/P&gt;
&lt;P&gt;App-V sequencing is very IO bound. You can end up losing a lot of time watching progress bars if you sequence applications on a computer with a slow hard drive. Another consideration that contradicts the first point to some degree is that sequencing should be done on a virtual machine so that the sequencing environment can be quickly reset to clean state. While I have seen many customers work directly on hardware, the time they save using hardware is quickly lost while waiting for the PC to be re-imaged. My own solution for this is to keep a 10k eSATA hard drive in an external enclosure. Whether using a virtual machine or using a physical machines the 10k server class hard drive really boosts performance.&lt;/P&gt;
&lt;P&gt;Many customers ultimately locate their sequencing clients on a backend server virtualization technology such as Hyper-V. This allows for 64bit and 32bit VMs and since the hard drive technology is usually based across SAN Disk arrays IO performance is optimal.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;TIPS AND TRICKS WHEN SEQUENCING&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;There are even more great tips such as adding dummy printer drivers and ODBC connections, and in some cases adjusting the registry both on the sequencer and in the virtual package to hide the “q” drive. (This is virtual drive that provides a mount point for app-v virtual packages). &lt;/P&gt;
&lt;P&gt;For anyone setting up a sequencing environment I would strongly recommend reading the sequencing best practices guide &lt;A href="http://technet.microsoft.com/en-us/appvirtualization/cc843994.aspx"&gt;Link to Guide&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;COMMUNICATIONS IS KEY&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The final point that I always recommend to customers once they are committed to deploying applications using App-V is communicate! Apps may behave a little different than users are used to, make sure users have a high level understanding of why that is. Make sure application owners understand that they way applications will be “packaged” has changed. They should understand that sequencing has a bit more cost up front in terms time and effort to prepare, however they payoff will be streamlined deployment and support. The support staff will need to understand what is different about virtual apps, and why that difference matters to them. &lt;/P&gt;
&lt;P&gt;As with any change large or small it’s easy to meet resistance. A good communications plan outlining the value of using App-V will go a long way to smoothing out pockets of resistance across the organization.&lt;/P&gt;
&lt;P&gt;This concludes my observations from the field for now. I have more to write up so stay tuned over the next few weeks. With the release of App-V 4.6 we are entering an exciting period where customers will be able to start deploying virtual apps across their entire infrastructure. Some key features to watch out for are x64 client support and enhanced integration with Windows 7.&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2737" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/App-V/default.aspx">App-V</category></item><item><title>Powershell – Converting a Script into a Module – Part 3</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/12/powershell-converting-a-script-into-a-module-part-3.aspx</link><pubDate>Fri, 12 Feb 2010 17:10:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2743</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Last time we played with having a script become a module and passing through variables from the command line.&amp;#160; Which is nice. VERY nice.&amp;#160; “Life is good” Nice.&amp;#160; And a lot of the time, the system will just “let it run” if you forget to type in variables.&amp;#160; It might not do anything actually USEFUL but it will run.&amp;#160; But we’re going to take take last module we made and give it some “fallbacks”.&amp;#160;&amp;#160; Plug in information INCASE you forget.&amp;#160; Or the next admin.&amp;#160; Having Defaults is a good thing you know. :-)&lt;/p&gt;  &lt;p&gt;So here’s our last module.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;---------------------------------------------&lt;/p&gt;    &lt;p&gt;New-Module -scriptblock {&lt;/p&gt;    &lt;p&gt;function ListUsers ($startdate, $enddate, $ou)&lt;/p&gt;    &lt;p&gt;{ &lt;/p&gt;    &lt;p&gt;connect-qadservice -service ‘contoso.local’&lt;/p&gt;    &lt;p&gt;get-qaduser –searchroot “contoso.local/$ou” |&amp;#160; where { ($_.Creationdate -ge $startdate) -and ($_.Creationdate -le $enddate) } |&amp;#160; select-Object Name&lt;/p&gt;    &lt;p&gt;} &lt;/p&gt;    &lt;p&gt;Export-ModuleMember -function ListUsers&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;--------------------------------------------&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now “What if” I forgot to type in either date?&amp;#160; The end result is a big load of nothing, unless you had a user created on the EXACT DATE you ran this on.&amp;#160;&amp;#160; So pretty useless.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Now there are very fancy ways to do this, but the point of any of my posts is for new Admins to get a FEEL for Powershell and learn from there.&amp;#160; And honestly? I’m not that good.&amp;#160; So I go the lazy way.&lt;/p&gt;  &lt;p&gt;So for my first check and balance, I want to make sure the End date, if it’s not supplied, is assumed to be at LEAST today.&lt;/p&gt;  &lt;p&gt;And with a little “IF statement” that’s fixed.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;IF ( $enddate –eq $NULL) { $enddate=get-date; write-host ‘Ending Date not supplied, Today Assumed’ )&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And of course, it would make sense to have the Startdate in this particular module to be something BEFORE the End Date, again otherwise, useless results.&amp;#160;&amp;#160; But I want to make sure that information is supplied.&amp;#160; If it isn’t, I’m going to tell the silly Administrator and stop the module there and then.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;IF ( $startdate –gt $enddate) { write-host ‘The Starting Date MUST be BEFORE the Ending Date’} &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In fact with this in mind, I’m going to make sure the module never runs if this information is not supplied by dropping in an “ELSE” that incorporates the rest of the script.&lt;/p&gt;  &lt;p&gt;Now there is one REALLY important details I almost forgot.&amp;#160;&amp;#160; You see, unless you TELL powershell that the information you’re passing in is a DATE? It’s going to take that nice little ‘4/20/2009’ and figure it out like math!&amp;#160; *oops*.&amp;#160; So you’re “date” will end up being I think some stupid amount like ‘9.95520159283226E-05’&lt;/p&gt;  &lt;p&gt;So to fix that, we’re going to tell the module that certain variables are going to be ASSUMED as a date/time.&amp;#160;&amp;#160; And that is done by prefixing the variable with &lt;strong&gt;[datetime]&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Yes, so if you just “skipped off” after Post # 2?&amp;#160; Your ummmm module?&amp;#160; Not working no good :)&lt;/p&gt;  &lt;p&gt;So there’s a lot more we can do here but we now have a script that looks like this.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;---------------------------------------------&lt;/p&gt;    &lt;p&gt;New-Module -scriptblock {&lt;/p&gt;    &lt;p&gt;function ListUsers ([datetime]$startdate, [datetime]$enddate, $ou)&lt;/p&gt;    &lt;p&gt;{ &lt;/p&gt;    &lt;p&gt;IF ( $enddate –eq $NULL) { $enddate=get-date; write-host ‘Ending Date not supplied, Today Assumed’ }     &lt;br /&gt;IF ( $ou –eq $NULL) { $ou=’Users’; write-host ‘Organization Unit not supplied, Assuming default Users container’ }      &lt;br /&gt;IF ( $startdate –eq $NULL) { $startdate=$enddate; write-host ‘Starting Date not supplied, Today Assumed’ }&lt;/p&gt;    &lt;p&gt;IF ( $startdate –gt $enddate) { write-host ‘The Starting Date MUST be BEFORE the Ending Date’}      &lt;br /&gt;ELSE      &lt;br /&gt;{&lt;/p&gt;    &lt;p&gt;connect-qadservice -service ‘contoso.local’&lt;/p&gt;    &lt;p&gt;get-qaduser –searchroot “contoso.local/$ou” |&amp;#160; where { ($_.Creationdate -ge $startdate) -and ($_.Creationdate -le $enddate) } |&amp;#160; select-Object Name&lt;/p&gt;    &lt;p&gt;}     &lt;br /&gt;}&lt;/p&gt;    &lt;p&gt;Export-ModuleMember -function ListUsers&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2743" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Powershell – Converting a Script into a Module – Part 2</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/10/powershell-converting-a-script-into-a-module-part-2.aspx</link><pubDate>Wed, 10 Feb 2010 17:07:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2742</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;We’re going a little more into turning a script into a module.&amp;#160; And again, don’t scare yourself off!&amp;#160; They are easy to deal with!&amp;#160; So here today,&amp;#160; I’ll go the other way around.&amp;#160;&amp;#160; I’m going to take a simple script with a few built in Variables and modify it into a module that I can type IN those variables every time.&amp;#160; Here’s one I use on a regular basis.&amp;#160;&amp;#160; It’s a simple thing that uses the Quest Active Roles and pulls up a list of users created in a specific date range under a particular OU.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;-----------------------------------------------&lt;/p&gt;    &lt;p&gt;$startdate='8/1/2009'     &lt;br /&gt;$enddate='10/31/2009' &lt;/p&gt;    &lt;p&gt;connect-qadservice -service 'contoso.local' &lt;/p&gt;    &lt;p&gt;get-qaduser -searchroot 'contoso.local/Users' |&amp;#160; where { ($_.Creationdate -ge $startdate) -and ($_.Creationdate -le $enddate) } |&amp;#160; select-Object Name     &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;-------------------------------------------------     &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Not a very fancy script, but one I find handy.&amp;#160;&amp;#160;&amp;#160;&amp;#160; It users in a particular OU in Active Directory, and lists those created within a particular date range.&amp;#160; Now rather than going in to the script EACH and EVERY time, wouldn’t it make more since to just turn it into a useful command and TYPE in what you wanted?&amp;#160; &lt;em&gt;&lt;strong&gt;That’s&lt;/strong&gt;&lt;/em&gt; a module.&lt;/p&gt;  &lt;p&gt;So all we have to do is specify the variables that will PASS THRU from the command line.&amp;#160;&amp;#160; Last time it was the Variable called ‘$Name’ that was sent to be echoed to the screen.&amp;#160; Yes, it was a lame but simple example.&amp;#160;&amp;#160; This time we’re going to pass THREE variables to the module.&amp;#160; &lt;strong&gt;$startdate&lt;/strong&gt;, &lt;strong&gt;$enddate, &lt;/strong&gt;and &lt;strong&gt;$ou&lt;/strong&gt; so that we can simply call up our module now and have as a useful regular command in the Shell environment.&lt;/p&gt;  &lt;p&gt;So this script as a module looks like *THIS*&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;---------------------------------------------&lt;/p&gt;    &lt;p&gt;New-Module -scriptblock {&lt;/p&gt;    &lt;p&gt;function ListUsers ($startdate, $enddate, $ou)&lt;/p&gt;    &lt;p&gt;{ &lt;/p&gt;    &lt;p&gt;connect-qadservice -service ‘contoso.local’&lt;/p&gt;    &lt;p&gt;get-qaduser –searchroot “contoso.local/$ou” |&amp;#160; where { ($_.Creationdate -ge $startdate) -and ($_.Creationdate -le $enddate) } |&amp;#160; select-Object Name&lt;/p&gt;    &lt;p&gt;} &lt;/p&gt;    &lt;p&gt;Export-ModuleMember -function ListUsers&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;--------------------------------------------&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As you can see all we’ve done is take the variables we want to pass through from the command line and put them into a function and then Export that function at the end.&amp;#160;&amp;#160; That’s it.&lt;/p&gt;  &lt;p&gt;Once you execute this script you will now have a new command call “LISTUSERS” you can from the Powershell environment.&amp;#160; Note, that unlike a Shell script you do NOT have to specify a path to the filename to make it execute.&amp;#160;&amp;#160; And you can easily add in the required parameters.&amp;#160;&amp;#160; And just like a Shell script, you can check for the input values and compare that they meet Syntax or whatever you choose.&lt;/p&gt;  &lt;p&gt;Note the “ModuleName ‘LISTUSERS’ is derived directly from the original function name.&amp;#160; Because we “exported” that function.&lt;/p&gt;  &lt;p&gt;Next time we’ll play a little deeper like showing how to have the variables default and EVEN how to have you module check for dependencies (like it’s needed snapins) before running.&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2742" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Converting a Script into a PowerShell Module – Part 1</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/08/converting-a-script-into-a-powershell-module-part-1.aspx</link><pubDate>Mon, 08 Feb 2010 17:04:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2741</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Ok let’s take a crack at this feature in Powershell V2 called Modules.&lt;/p&gt;  &lt;p&gt;Modules really aren’t all that difficult when you get down to it.&amp;#160;&amp;#160; It’s very much like taking a script and loading it into memory.&amp;#160; &lt;/p&gt;  &lt;p&gt;Well maybe not exactly like that but the cool part is when you turn that script into a module (as long as it’s loaded) you don’t have to keep specifying the path to the script, and you could even pop it into your Profile file (since it’s just text) and add functions that make YOUR admin life better without trying.&lt;/p&gt;  &lt;p&gt;So how hard is it?&lt;/p&gt;  &lt;p&gt;Would you like the fact that the Powershell team GIVES you a simple sample module in the Help file?&lt;/p&gt;  &lt;p&gt;In Example 3 (I like this one the best) under the “New-Module” help they give you this example&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;------------------ Sample from Microsoft Powershell ISE Help System – Example 3 – New-Module -------------------------------&lt;/p&gt;    &lt;p&gt;C:\PS&amp;gt;New-Module -scriptblock {$SayHelloHelp=&amp;quot;Type 'SayHello', a space, and a name.&amp;quot;; function SayHello ($name) { &amp;quot;Hello, $name&amp;quot; }; Export-ModuleMember -function SayHello -Variable SayHelloHelp} &lt;/p&gt;    &lt;p&gt;C:\PS&amp;gt; $SayHelloHelp Type 'SayHello', a space, and a name. &lt;/p&gt;    &lt;p&gt;C:\PS&amp;gt; SayHello Jeffrey Hello, Jeffrey &lt;/p&gt;    &lt;p&gt;Description      &lt;br /&gt;----------- &lt;/p&gt;    &lt;p&gt;This command uses the Export-ModuleMember cmdlet to export a variable into the current session. Without the Export-ModuleMember command, only the function is exported. The output shows that both the variable and the function were exported into the session.&lt;/p&gt;    &lt;p&gt;------------------ Sample from Microsoft Powershell ISE Help System – Example 3 – New-Module -------------------------------&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The nice thing about this example is I can EASILY break it down so it looks like a script and you can VERY easily see how to reverse the process.&lt;/p&gt;  &lt;p&gt;The same module can also look like this and is the EXACT same code.&amp;#160; I just haven’t left it as one line. Remember, a Semicolon ‘;’ is used to TIE the lines together.&amp;#160; You DON’T have to have all the code on ONE line just to make the module work.&amp;#160; And Honestly, If I’m writing it, I like it broken up.&amp;#160; It makes more sense to my eyes and SOMEBODY ELSES eyes too!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;--------------------------------------------------------------------------------&lt;/p&gt;    &lt;p&gt;# BEFORE     &lt;br /&gt;#       &lt;br /&gt;# New-Module -scriptblock {$SayHelloHelp=&amp;quot;Type 'SayHello', a space, and a name.&amp;quot;; function SayHello ($name) { &amp;quot;Hello, $name&amp;quot; }; Export-ModuleMember -function SayHello -Variable SayHelloHelp}       &lt;br /&gt;#&lt;/p&gt;    &lt;p&gt;# AFTER     &lt;br /&gt;#&lt;/p&gt;    &lt;p&gt;New-Module -scriptblock {&lt;/p&gt;    &lt;p&gt;$SayHelloHelp=&amp;quot;Type 'SayHello', a space, and a name.&amp;quot; &lt;/p&gt;    &lt;p&gt;function SayHello ($name)&lt;/p&gt;    &lt;p&gt;{      &lt;br /&gt;&amp;quot;Hello, $name&amp;quot;       &lt;br /&gt;} &lt;/p&gt;    &lt;p&gt;Export-ModuleMember -function SayHello -Variable SayHelloHelp&lt;/p&gt;    &lt;p&gt;}&lt;/p&gt;    &lt;p&gt;---------------------------------&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And this module if it was just a script would look like THIS&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;---------------------------------&lt;/p&gt;    &lt;p&gt;# This is a function&lt;/p&gt;    &lt;p&gt;function SayHello ($name)&lt;/p&gt;    &lt;p&gt;{      &lt;br /&gt;&amp;quot;Hello, $name&amp;quot;       &lt;br /&gt;} &lt;/p&gt;    &lt;p&gt;# this is the script part that will use the function&lt;/p&gt;    &lt;p&gt;$somename=’EnergizedTech’&lt;/p&gt;    &lt;p&gt;SayHello $somename&lt;/p&gt;    &lt;p&gt;SayHello ‘EnergizedTech’&lt;/p&gt;    &lt;p&gt;-----------------------------------&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So really all you’re doing is taking a script and where you want to send variables on a regular basis, instead of assigning them IN the script or typing in literals, you’re just typing them on the command line.&lt;/p&gt;  &lt;p&gt;We’ll take a slightly deeper look at how you can take this and customize this to your own needs next time.&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2741" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Powershell – Auto disabling and Deleting of Active Directory Accounts</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/05/powershell-auto-disabling-and-deleting-of-active-directory-accounts.aspx</link><pubDate>Fri, 05 Feb 2010 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2740</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;A very good friend I’ve been in contact with on Twitter who is a die hard Mac/Linux guy that works in Windows sent me a message.&lt;/p&gt;  &lt;p&gt;“Need a vBscript to Query Active Directory for old accounts and disable them”&lt;/p&gt;  &lt;p&gt;At which point I immediately pointed out “Powershell” as the quicker and more direct solution. &lt;/p&gt;  &lt;p&gt;He in return sent back the specs to what he needed.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Go through and disable accounts over XXX days &lt;/li&gt;    &lt;li&gt;Go through and delete accounts older than yyy days &lt;/li&gt;    &lt;li&gt;Accounts which are flagged with key words in the “Description” field should NOT be deleted &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This, in Powershell with the Quest Active roles commandlets is like a walk in the park.&amp;#160;&amp;#160; Really it IS!&lt;/p&gt;  &lt;p&gt;In Active Directory, there is a field for “LogonTime” which is the last time you successfully logged in.&amp;#160; And we can very easily compare that with the CurrentDate. &lt;/p&gt;  &lt;p&gt;Quest has a command let built right into disable users.&amp;#160; It’s just &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;DISABLE-QADUSER &lt;em&gt;identity&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Where identity is the name you’re disabling in Active Directory&lt;/p&gt;  &lt;p&gt;You can also EASILY remove Objects in Active Directory with the Quest Cmdlets too.&amp;#160; Remember, everything (OU’s, computers, users) is just an Object in A/D so to pull that little miracle off just run a &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;REMOVE-QADOBJECT &lt;em&gt;identity&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Where identity is the name of the object you are removing.&amp;#160; Careful with this CmdLet.&amp;#160; I ALWAYS run it (and any other destructive ones) with a –WHATIF parameter to make sure it’s going to do what I want.&amp;#160; If you mistype, you can delete a LOT of things easily.&lt;/p&gt;  &lt;p&gt;In the Active Directory Notes field (Typically under the “Telephones” tab) We’re going to put in the word &lt;strong&gt;***OVERRIDE***&lt;/strong&gt; to indicate the account &lt;strong&gt;NEVER&lt;/strong&gt; gets deleted automatically (unless we remove those words from the Notes Field)&lt;/p&gt;  &lt;p&gt;Also in Active Directory under the Description we’re adding the words “&lt;strong&gt;On Leave Until&lt;/strong&gt;&amp;quot; to indicate the user is gone for a specified period of time.&amp;#160;&amp;#160; This will allow us to have a script that can look and shut things down without us doing anything.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;In this rendition I’ve left in the &lt;strong&gt;–WHATIF&lt;/strong&gt; parameter to cover the bases of “Murphy”&lt;/p&gt;  &lt;p&gt;It also echoes to the screen the status of Each account that is potentially going to be deleted or not.&amp;#160; Accounts to be disabled are just disabled without notice&lt;/p&gt;  &lt;p&gt;Let me know how this works and be VERY VERY VERY VERY careful using it.&amp;#160; I highly recommend practicing this on a TEST domain or TEST OU at the VERY minimal before going production.&lt;/p&gt;  &lt;p&gt;A special shout out goes to my buddy @moldor in Australia for which this script would NOT have existed.&amp;#160; He created the need and the requirements.&amp;#160; If you’re looking for a great Mac/Linux guy who’ll even work with Windows in Australia?&amp;#160; Give him a shout!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;----------------------------------------------- AutoCleanADUsers-Stale.PS1 -------------------------------------&lt;/p&gt;  &lt;p&gt;# Uses Quest Active Roles    &lt;br /&gt;# Free to download &lt;a href="http://www.quest.com/powershell/activeroles-server.aspx"&gt;http://www.quest.com/powershell/activeroles-server.aspx&lt;/a&gt;     &lt;br /&gt;#     &lt;br /&gt;# Get all users in that have not logged on within     &lt;br /&gt;# XXX days in &amp;quot;Active Directory&amp;quot; and Disable them     &lt;br /&gt;#     &lt;br /&gt;# Get the Current Date     &lt;br /&gt;#     &lt;br /&gt;$COMPAREDATE=GET-DATE     &lt;br /&gt;#     &lt;br /&gt;# Number of Days to check back.&amp;#160; 90 days     &lt;br /&gt;#     &lt;br /&gt;$NumberDays=90     &lt;br /&gt;#     &lt;br /&gt;# Number of Days to check for REALLY Stale accounts     &lt;br /&gt;# Our sample here is taking &amp;quot;OldAccounts&amp;quot; and pumping up     &lt;br /&gt;# 30 more days.&amp;#160; Therefore 120 days old accounts that haven't     &lt;br /&gt;# logged in should be purged     &lt;br /&gt;#     &lt;br /&gt;$DeleteDate=$NumberDays+30     &lt;br /&gt;#     &lt;br /&gt;# We have certain &amp;quot;Override fields&amp;quot; that bypass a delete     &lt;br /&gt;# happening.&amp;#160; If the &amp;quot;Notes&amp;quot; field in A/D contains the     &lt;br /&gt;# EXACT Override phrase ANYWHERE (in this case it is the     &lt;br /&gt;# word ***OVERRIDE*** and it IS case sensitive     &lt;br /&gt;# The account will NEVER be deleted (unless of course you remove     &lt;br /&gt;# Word from the Notes field     &lt;br /&gt;#     &lt;br /&gt;#$OverRide='***OVERRIDE***'     &lt;br /&gt;#     &lt;br /&gt;# The other override field is if     &lt;br /&gt;# the OnLeave details are in the Description     &lt;br /&gt;# Field in A/D.&amp;#160; this allows for a User who is     &lt;br /&gt;# Not gone (IE: Contractor / Student) but may     &lt;br /&gt;# Return to have the account disabled and     &lt;br /&gt;# Left alone until they return.&amp;#160; The words here are     &lt;br /&gt;# simple On Leave Until and can be ANYWHERE in the     &lt;br /&gt;# Description Field in A/D     &lt;br /&gt;#     &lt;br /&gt;$OnLeave='On Leave Until'     &lt;br /&gt;#     &lt;br /&gt;# Organizational Unit to search – This is in the fictional domain of     &lt;br /&gt;# ‘Contoso.local’ in the OU of Users under the Business OU on the Root     &lt;br /&gt;# of the Contoso A/D     &lt;br /&gt;#     &lt;br /&gt;$OU='Contoso.local/Business/Users'     &lt;br /&gt;#     &lt;br /&gt;# Get all users not active within the specified range and disable the accounts in Active Directory     &lt;br /&gt;#     &lt;br /&gt;# We store them away as a variable since we're going to examine the list a few times.     &lt;br /&gt;#     &lt;br /&gt;$LISTOFACCOUNTS=GET-QADUSER -SearchRoot $OU | where { $_.LastLogon.AddDays($NumberDays) -gt $CURRENTDATE }     &lt;br /&gt;#     &lt;br /&gt;# Any account not logged in within the short range gets Disabled in AD     &lt;br /&gt;#     &lt;br /&gt;$LISTOFACCOUNTS | DISABLE-QADUSER -whatif     &lt;br /&gt;#     &lt;br /&gt;# Pull up a new list.&amp;#160;&amp;#160; Really old accounts     &lt;br /&gt;#     &lt;br /&gt;$LISTOFPOTENTIALDELETES=$LISTOFACCOUNTS | where { $_.LastLogon.AddDays($DeleteDate) –gt $CURRENTDATE }     &lt;br /&gt;#     &lt;br /&gt;# Secondary compare is more interesting.&amp;#160; If the accounts are VERY stale, they get deleted UNLESS special keywords     &lt;br /&gt;# are in place     &lt;br /&gt;#     &lt;br /&gt;#     &lt;br /&gt;#     &lt;br /&gt;FOREACH ($USER in $LISTOFPOTENTIALDELETES)     &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; IF (($USER.Notes -notlike '*'+$OVERRIDE+'*') -and ($USER.Description -notlike '*'+$OnLeave+'*'))     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; REMOVE-QADOBJECT $USER.Name -whatif     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE-HOST $USER.Name 'Deleted'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ELSEIF ($USER.Notes -like '*'+$OVERRIDE+'*')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE-HOST $USER.Name 'Not removed due to Administrative Override'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WRITE-HOST $USER.Name 'Not removed - Presently on Leave'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;} &lt;/p&gt;  &lt;p&gt;----------------------------------------------- AutoCleanADUsers-Stale.PS1 -------------------------------------&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2740" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Managing Multiple Domains with PowerShell</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/02/04/managing-multiple-domains-with-powershell.aspx</link><pubDate>Thu, 04 Feb 2010 23:56:36 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2739</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the most IRRITATING and FRUSTATING things I had working in the field was dealing with multiple Domains.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;You’d have so many clients with their own Active Directory setups and each time you’d have to go directly to the Small Business Server to manage it, or try to have a machine dedicated to that purpose.&amp;#160;&amp;#160; Plus you might have tools you’d want to copy to the server to help in that process.&lt;/p&gt;  &lt;p&gt;A real pain in the you know what.&amp;#160; But Along came Powershell and &lt;a href="http://www.quest.com/powershell/activeroles-server.aspx" target="_blank"&gt;Quest ActiveRoles Management Shell&lt;/a&gt;; and My life changed for the better.&amp;#160; You see Powershell can connect to a Domain Controller on it’s own terms, you just need to validate against it once before you do so.&amp;#160; Which makes things far far easier.&lt;/p&gt;  &lt;p&gt;For example here he have a small simple script that let’s you connect to a Domain Controller called ‘dc.contoso.local’ and unlock a user account called John.Smith&lt;/p&gt;  &lt;p&gt;------------------------------------------------------&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;# Note uncomment line below if you need to add in the Snapin for Quest ActiveRoles &lt;/p&gt;    &lt;p&gt;# (Software is installed but not part of default Powershell Profile)&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;# ADD-PSSNAPIN Quest.ActiveRoles.ADManagement&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;# Popup and get Credentials for Domain&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;$CREDS=GET-CREDENTIAL&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;# Connect to Domain Controller dc.contoso.local with&lt;/p&gt;    &lt;p&gt;# Provided Credentials&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;Connect-QADSERVICE ‘dc.contoso.local:389’ –credential $CREDS&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;# Now that you are in the domain, unlock the User&lt;/p&gt;    &lt;p&gt;#&lt;/p&gt;    &lt;p&gt;UNLOCK-QADUSER john.smith&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;In truth this is a VERY simple script but the point you need to understand that it takes nothing to edit the name of the DC to be an IP address of a different domain on different site.&amp;#160; &lt;/p&gt;  &lt;p&gt;The “GET-CREDENTIAL” commandlet does not know or even CARE about the name of the other domain.&amp;#160; All it does it ask you to provide the credentials.&amp;#160; These credentials take the standard format of a UPN or the traditional DOMAIN\Username. It will generate the keys.&amp;#160; &lt;/p&gt;  &lt;p&gt;Once the CONNECT-QADSERVICE Commandlet talks to the other domain controller it provides those credentials through the –credential parameter.&lt;/p&gt;  &lt;p&gt;Active Directory on THAT Domain takes that information, processes it and accepts it (because ID and password and provided Domain are valid) or not.&amp;#160; There is no magic to it!&lt;/p&gt;  &lt;p&gt;Once you have done this process you (as long as that shell is open) are managing THAT domain.&amp;#160;&amp;#160; Or at least you are as far as the Quest Active Roles are concerned.&lt;/p&gt;  &lt;p&gt;Even if your computer is a member of DOMAIN “ABC.FABRIKAM.COM” and you’re trying to manage the “CONTOSO.LOCAL” domain, it doesn’t matter!&amp;#160; You can create, delete, unlock or Query the Active Directory for whatever information you need.&amp;#160;&amp;#160; Isn’t it nice when life is simpler?&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2739" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Going Hyper-V R2 – Part 2</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/01/26/going-hyper-v-r2-part-2.aspx</link><pubDate>Tue, 26 Jan 2010 16:39:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2735</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I was chatting with Brian Bourne from &lt;a href="http://www.cms.ca" target="_blank"&gt;CMS Consulting&lt;/a&gt; in Toronto about some Hyper-V R2 work that they have done recently.&amp;#160; In the conversation Brian shared a ton of learning's from the field on some of the Hyper-V R2 upgrades, deployments and V2V/P2V migrations.&amp;#160; I asked him to write up a post and he did, so much so that I had to split it into two posts. &lt;a href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/01/25/going-hyper-v-r2-part-1.aspx" target="_blank"&gt;You can find Part 1 here&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;-------------------------&lt;/p&gt;  &lt;p&gt;The release of R2 has been a major step forward for Microsoft’s virtualization strategy. It has also meant a rise in customer interest and willingness to move their data center and production servers on to the platform. Here at CMS Consulting, we’ve been offering both &lt;a href="http://www.cmstraining.ca/"&gt;training&lt;/a&gt; and &lt;a href="http://www.cms.ca/"&gt;consulting&lt;/a&gt; services to help customers through the process. Here are some of the things we’ve learned along the way.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Virtual to Virtual (V2V) Migrations&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;In theory, this should be easy as pie right? The machine is already virtualized. How hard can a conversion be? Once again think about cloning to new hardware. For Virtual Server or VMWare to Hyper-V migrations, it truly appears as a completely new hardware platform to the operating system. This leads us to a few tips I’d like to add to the standard documentation.&lt;/p&gt;  &lt;p&gt;- Cleanly shutdown the virtual machine, merge snapshots if they exist.&lt;/p&gt;  &lt;p&gt;- After migration, logon to ensure the Hyper-V integration components are installed and working. VMM may think its ok, but it may not be. More tips on this below.&lt;/p&gt;  &lt;p&gt;- If you are migrating offline or inactive virtual machines, remember they do get started as part of the migration process. This means you better think about the consequences of having that machine come online and what network its virtually “plugged in to” when it does.&lt;/p&gt;  &lt;p&gt;Overall V2V migrations from Virtual Server and Hyper-V do go smoothly, but realize that the machine will be stopped and offline for the duration of the migration. Online migration is not a listed option. Data copy and fix-up time will determine the outage duration. Also, plan additional outage time so you can manually clean up and test the server. You may wish to have a strategy to block user access to services until you’re confident you want to introduce the server back into the environment.&lt;/p&gt;  &lt;p&gt;If you want to do a migration “online” you will need to treat the VM as if it was a physical machine and follow the steps for P2V online migration. In fact, my team has used this strategy a number of times for migrating difficult VMWare virtual machines. Success when migrating a VMWare source varies widely based on ESX version, complexity of “hardware” configuration under ESX and other environmental factors. Sometimes treating the source as a P2V really is the best option.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Physical to Virtual&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;What I find odd about the VMM wizard for physical machine migrations is that it assumes you want to do an online migration and actually hides the tab for offline options from plain sight. Sure, I trust VSS enough for backups – but if I’m going to take a production server and virtualize it, I’d like the data to be as stable and consistent as possible. So for my money, I do an offline P2V if at all feasible. There are a few scenarios where you might forego an offline migration. Here are some scenarios where I would do an online P2V:&lt;/p&gt;  &lt;p&gt;- You just want a copy of the server for testing or giggles, so data consistency doesn’t matter&lt;/p&gt;  &lt;p&gt;- You truly can’t afford the server outage while data copies&lt;/p&gt;  &lt;p&gt;- You have a source server with less than 512MB. (I recently had to migrate an old server with 448MB - online worked but offline won’t even start.)&lt;/p&gt;  &lt;p&gt;- Finding drivers for WinPE to boot on some old hardware appears to be more effort than it’s worth.&lt;/p&gt;  &lt;p&gt;I’d like to also suggest than when you’re looking at doing a P2V you also consider the “build fresh” strategy. This could be your opportunity to upgrade to Server 2008 R2 as the operating system and consolidated roles and services. There are two reasons to do this. First is to take advantage of the new features and increased performance of R2. Perhaps more importantly is to reduce the number of overall machines in your environment. I don’t mean physical machines here. I mean machines you have to license, patch, monitor and otherwise manage. If you can consolidate roles and services to a single VM then now is a good time to do it. Let’s not forget that fewer VM’s also means a reduction in hardware requirements and those ever-important spindle counts.&lt;/p&gt;  &lt;p&gt;I also want to talk about P2V of non-domain machines. If you read the documentation on &lt;a href="http://technet.microsoft.com/en-us/library/bb963740.aspx"&gt;Technet&lt;/a&gt;, it very clearly states that the source machine needs to be either a member of the domain or there must be a domain trust. I have found this to be categorically untrue. I’ve had no issue doing P2V with both workgroup and isolated domain machines (including the DC of an “isolated” domain). The trick was to make sure the source machine had connectivity with both the VMM server and the target Hyper-V host. Once that was sorted out, I simply entered the appropriate machine credentials in VMM and everything worked fine. In theory you could also use the SysInternals &lt;a href="http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx"&gt;Disk2VHD&lt;/a&gt; utility. This tool is designed for online use only. Although I previously recommended against online migrations, I started thinking about using Disk2VHD while booted to an alternate OS. We did some basic testing and found it won’t run under WinPE. In theory you could cobble together a full Win7 boot from USB and make it work. If we ever get around to that, we’ll post the results. In all cases so far, it’s easier to move everything on to a temporary network switch, P2V and then move back to the appropriate networks.&lt;/p&gt;  &lt;p&gt;Before attempting a P2V, try to get the source machine “as clean as possible”. Ensure the source meets the requirements for free space and service pack levels, run a checkdisk and defrag on all partitions and remove unused programs and drivers. You will also want to remove hardware-vendor specific management tools. If you are doing a P2V migration against a virtual machine, be sure to remove VMWare tools, or the Microsoft Integration components. Stop all non essential services and applications. If you find that the P2V task is failing in the SCVMM scan, then start by looking at what security products you have installed. The P2V agent is installed at the time you click “scan system”. I have had it hang with no errors on either the SCVMM server or the source physical machine. In my case, the VMMInstallDetector service was hanging, and the culprit turned out to be the anti-virus product on the server. You can try to manually run the agent installation from “&lt;a&gt;\\vmmservername\c$\Program&lt;/a&gt; Files\Microsoft System Center Virtual Machine Manager 2008 R2\agents\p2v\” if you’d like a closer look at what’s happening.&lt;/p&gt;  &lt;p&gt;Here’s one last thought on P2V. I always choose the option to shutdown the physical machine after conversion. I don’t want the machine restarted. As soon as it restarts, I know my virtual machine and physical machine are no longer the same and who knows what might change, update or replicate when the physical machine starts. So I want to make sure it stays offline and the machine continues its new life as a virtual machine. There’s one catch. This strategy will result in the overall conversion job ending in a warning state with error 458. The warning essentially tells you that because the machine shutdown, the VMM agent didn’t get removed. If for some reason you decide to bring the machine back online – remember to manually remove it. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Some Hints for All Migration Scenarios.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;There are a few things that SCVMM “fix up” doesn’t consider that you will need to.&lt;/p&gt;  &lt;p&gt;- Windows will need activation again. Just like when you clone a machine and there’s a substantial hardware change – a VM migrate will trigger re-activation.&lt;/p&gt;  &lt;p&gt;- Personally, I’m fussy about my machines looking for hardware that doesn’t exist. It just slows down boot time and I believe, overall machine stability. If you follow the instructions in &lt;a href="http://support.microsoft.com/kb/241257"&gt;KB241257&lt;/a&gt; you’ll be able to see all the phantom devices in device manager on all versions of Windows (not just 2000 as the KB suggests). Delete these non-present devices.&lt;/p&gt;  &lt;p&gt;- Near every physical machine I’ve ever converted starts with an ominous “Service Failed to Start” message. A quick look at the event viewer shows EventID 700 –The Parallel port driver service failed to start due to the following error”… the quickest way to make this problem go away is to change HKLM\SYSTEM\CurrentControlSet\Services\Parport\Start from a value of 3 to a value of 4.&lt;/p&gt;  &lt;p&gt;- Various other products might complain, thinking they’ve been moved, so you should test everything. A perfect example is a terminal services licensing server will need activation again. If you don’t think to look at this, then 90 days from now you can expect user calls.&lt;/p&gt;  &lt;p&gt;- On the odd occasion, when migrating 2008 servers the HAL may not get switched when it is supposed to be. The symptom isn’t obvious. Integration components will appear to be fine. You’ll run and re-run integration services setup and it will install successful but simply not work. This means no mouse control in the virtual machine which will add to your frustration if you are using remote desktop to connect to the VMM server or Hyper-V Manager. Here’s the trick. On the VM open the system configuration utility (MSConfig.exe). Click the Boot tab, and then click Advanced options. Select the Detect HAL check box, click OK, and then restart the virtual machine. You’ll find that your integration services will now magically start working.&lt;/p&gt;  &lt;p&gt;- Time synchronization is a funny thing. It’s ok to have VM’s sync time with the host, if the host syncs with a domain controller (PDC emulator) but if you’ve gone and virtualized your PDC emulator you’ll be in for an entertaining circle of lost time. Don’t have your PDC emulator syncing time with the host. (See reference links below).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I’d suggest that if you were hoping to point a wizard at your server VLAN, cross your fingers and click “Next, Next, Finish” – then you’re probably going to be disappointed. The migration to Hyper-V needs to be approached with the same planning and consideration you would give to any server refresh or move. With a cautious approach and a maintenance window that will allow for testing and troubleshooting time, you will be ensured success.&lt;/p&gt;  &lt;p&gt;&lt;a name="_GoBack"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Additional Resources:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd348449(WS.10).aspx"&gt;Deployment Considerations for Virtualized Domain Controllers&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/888794"&gt;Considerations when hosting Active Directory domain controller in virtual hosting environments&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/solutionaccelerators/cc197910.aspx"&gt;Microsoft Virtualization Solution Accelerators&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb977556.aspx"&gt;Microsoft Assessment and Planning Toolkit&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/virtualization"&gt;Microsoft Virtualization Team Blog&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/scvmm"&gt;The System Center Virtual Machine Manager Team Blog&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2735" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Guest+Authors/default.aspx">Guest Authors</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category></item><item><title>Going Hyper-V R2 – Part 1</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/01/25/going-hyper-v-r2-part-1.aspx</link><pubDate>Mon, 25 Jan 2010 16:37:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2734</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/scvmm"&gt;&lt;/a&gt;&lt;/p&gt; I was chatting with Brian Bourne from &lt;a href="http://www.cms.ca" target="_blank"&gt;CMS Consulting&lt;/a&gt; in Toronto about some Hyper-V R2 work that they have done recently.&amp;#160; In the conversation Brian shared a ton of learning's from the field on some of the Hyper-V R2 upgrades, deployments and V2V/P2V migrations.&amp;#160; I asked him to write up a post and he did, so much so that I had to split it into two posts.   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;-------------------------&lt;/p&gt;  &lt;p&gt;The release of R2 has been a major step forward for Microsoft’s virtualization strategy. It has also meant a rise in customer interest and willingness to move their data center and production servers on to the platform. Here at CMS Consulting, we’ve been offering both &lt;a href="http://www.cmstraining.ca/"&gt;training&lt;/a&gt; and &lt;a href="http://www.cms.ca/"&gt;consulting&lt;/a&gt; services to help customers through the process. Here are some of the things we’ve learned along the way.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;General Planning&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;When you plan to move to Hyper-V, the source machine is going to be one of the following:&lt;/p&gt;  &lt;p&gt;· Virtual machine running on VMWare&lt;/p&gt;  &lt;p&gt;· Virtual machine running on Virtual Server&lt;/p&gt;  &lt;p&gt;· Virtual machine running on Hyper-V 2008 (R1)&lt;/p&gt;  &lt;p&gt;· Physical machine on domain&lt;/p&gt;  &lt;p&gt;· Physical machine off domain&lt;/p&gt;  &lt;p&gt;If you are unsure where to start, then I strongly recommend you start by running the &lt;a href="http://technet.microsoft.com/en-us/library/bb977556.aspx"&gt;MAP tool&lt;/a&gt; and using the Virtualization Candidates Assessment for Hyper-V Server Consolidation. A key part of your migration success will be ensuring that the virtual machines perform as well or better than their physical source machines. This exercise in performance counter gathering and capacity planning is where the MAP tool can really assist you. &lt;/p&gt;  &lt;p&gt;This entire article assumes you will be using System Center Virtual Machine Manager (SCVMM) to do your migration. Ideally you would own both SCVMM and System Center Operations Manager so that you can take advantage of advanced performance and resource optimization (&lt;a href="http://technet.microsoft.com/en-us/library/cc917965.aspx"&gt;PRO&lt;/a&gt;) and reporting. But here’s a tip. You can download a 180-day &lt;a href="http://technet.microsoft.com/en-ca/evalcenter/cc793138.aspx"&gt;evaluation copy&lt;/a&gt; of SCVMM (the last one I downloaded showed 365 days left in the eval). The evaluation copy doesn’t appear to be crippled in any way and can be used for your migration.&lt;/p&gt;  &lt;p&gt;Here are a few high level tips on migrating to a Hyper-V based virtual environment. Actually, it all really boils down to one thought that you have to stick in the front of your brain. “I’m cloning to new hardware”. If you think about cloning to new hardware and the various challenges that brings, you’ll be able to predict most of the failures and gotchya’s.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Upgrading from Hyper-V 2008 to 2008 R2&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Skip to the next paragraph if you don’t already have Hyper-V. If you have an existing Hyper-V environment, then you’ll likely want to upgrade it in-place. Performance benefits alone should compel you. The in-place upgrade generally goes smoothly. During the compatibility check portion of the installation you’ll be warned to remove the Hyper-V role from the server and directed to &lt;a href="http://support.microsoft.com/kb/957256"&gt;KB957256&lt;/a&gt;. Here’s the deal. Just make sure all the VM’s are cleanly shut down and that no snapshots are left behind before you start the upgrade. If you do this, you can safely ignore the warning and proceed with an in-place upgrade. For the most part, the process is then fairly obvious with one exception. The network adapters often end up mucked up. This could mean IP addresses missing or assigned to the wrong adapter. Be sure to be physically present for the upgrade. In my experience, this seems to happen consistently when you have allowed the management operating system to share the adapter. Be careful when you “fix” this since it can be a little confusing as to which adapters are real and which ones are virtual on the host machine.&lt;/p&gt;  &lt;p&gt;The next blog post will cover the migration aspects and look at some best practices for virtual to virtual (V2V) and physical to virtual (P2V) migrations.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd348449(WS.10).aspx"&gt;Deployment Considerations for Virtualized Domain Controllers&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/888794"&gt;Considerations when hosting Active Directory domain controller in virtual hosting environments&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/solutionaccelerators/cc197910.aspx"&gt;Microsoft Virtualization Solution Accelerators&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb977556.aspx"&gt;Microsoft Assessment and Planning Toolkit&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/virtualization"&gt;Microsoft Virtualization Team Blog&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/scvmm"&gt;The System Center Virtual Machine Manager Team Blog&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2734" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Guest+Authors/default.aspx">Guest Authors</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category></item><item><title>Exchange 2010 Gotchas</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2010/01/22/exchange-2010-gotchas.aspx</link><pubDate>Fri, 22 Jan 2010 22:33:09 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2733</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Exchange 2010 has been released and available for a few weeks now and a lot of people are looking to deploy.&amp;#160; I was chatting with Rick Shire, Senior Messaging Consultant at &lt;a href="http://www.cms.ca/"&gt;CMS Consulting&lt;/a&gt;, who has compiled a list of gotchas, things to look out for, as well as resources for you to be aware of when planning and Exchange 2010 deployment and/or upgrade.&lt;/p&gt;  &lt;p&gt;------------------------------&lt;/p&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Microsoft Exchange Server 2010 was released in early November of this year with a lot of positive reviews.&amp;#160; One of the biggest deployment blockers for some customers has been RIM’s lack of a compatible and supported version of BES for Exchange 2010.&amp;#160; Thankfully, RIM recently announced a new version of its popular BES software that has full support for Exchange 2010.&amp;#160;&amp;#160; While this is fantastic news from RIM, there are some other deployment “Gotchas” to consider. &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;Client Support&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Outlook XP is no longer a supported version with Exchange 2010.&amp;#160; Customers will need to factor in an Office refresh into their deployment plans.&amp;#160; Another interesting twist is that Microsoft has deprecated the WEBDav API from Exchange 2010.&amp;#160; While this may not seem that important at first glance, Microsoft’s client for the MAC, “Entourage”&lt;font color="#1f497d"&gt;,&lt;/font&gt; has leveraged this API over MAPI for several years.&amp;#160; Developers have been urged to rewrite WEBDav applications using Microsoft’s latest Exchange API - Exchange Web Services – for some time.&amp;#160; And that is exactly what Microsoft has done for the Entourage client.&amp;#160; Entourage 2008, Web Services Edition&amp;#160; was released in August of this year.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Another important note from the client perspective, is that Exchange 2010 requires RPC encryption to be enabled in Outlook.&amp;#160; RPC encryption in Outlook 2007 is enabled by default.&amp;#160; But what about Outlook 2003?&amp;#160;&amp;#160; As you guessed, it is disabled by default.&amp;#160; If you migrate mailboxes to Exchange 2010 and RPC encryption is disabled in Outlook, Outlook simply will not be able to connect.&amp;#160;&amp;#160; Fortunately there are a couple of simple fixes.&amp;#160; Firstly, you can disable the requirement for RPC encryption on the Exchange server, or simply deploy a GPO that enforces this setting in Outlook.&amp;#160; My recommendation is to deploy a GPO and enjoy the benefits of secure messaging.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;Backup Support&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;The streaming backup API in Exchange 2010 has been deprecated.&amp;#160; The only backup API available for Exchange 2010 is VSS (Volume Shadow Copy Service).&amp;#160; What this means is that customers will need to upgrade to a VSS aware backup application.&amp;#160;&amp;#160;&amp;#160; That is not the only requirement though.&amp;#160; The backup application must also be Exchange 2010 aware and should have full support from your backup vendor.&amp;#160;&amp;#160; Microsoft DPM 2007 (Data Protection Manager) is a VSS based backup application, but DPM 2007 does not support Exchange 2010.&amp;#160; DPM 2010 (currently in Beta) has support for Exchange 2010, but the question becomes, do you want to back up your critical messaging data with Beta software?&lt;font color="#1f497d"&gt; &lt;/font&gt;There are backup vendors that have support for Exchange 2010 today.&amp;#160; &lt;span&gt;Symantec Backup Exec System Recovery 2010 is one notable example.&amp;#160; Check with your current backup vendor to ensure support and compatibility.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;Fax Support&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Inbound FAX capability is available in Exchange 2007 if you have the Unified Messaging role deployed.&amp;#160; If you are using this capability in Exchange 2007, you must look for a 3&lt;font size="-1"&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/font&gt; party solution for Exchange 2010.&amp;#160; Inbound FAX has been deprecated from Exchange 2010.&amp;#160; Exchange 2010 will still detect a fax tone and will simply hand off the call to the 3&lt;font size="-1"&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/font&gt; party fax application.&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;Other 3&lt;/b&gt;&lt;font size="-1"&gt;&lt;b&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/b&gt;&lt;/font&gt;&lt;b&gt; Party Applications&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;3&lt;font size="-1"&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/font&gt; party applications (or custom in-house applications) that integrate with Exchange should be tested for compatibility and have full support by the application vendor.&amp;#160; Take an inventory of these applications and consult with the appropriate application vendors.&amp;#160; There have been several APIs deprecated from Exchange 2010, so this step is critically important.&amp;#160; Any application written to one of these APIs will simply break in Exchange 2010.&lt;font color="#1f497d"&gt;&amp;#160; &lt;/font&gt;The list of deprecated APIs includes a) ExOLEDB, b) WebDAV, c) CDOEx and d) Store Events&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Some 3&lt;font size="-1"&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/font&gt; party vendors are ahead of the curve and have support for Exchange 2010 today.&amp;#160; Mimosa, a 3&lt;font size="-1"&gt;&lt;sup&gt;rd&lt;/sup&gt;&lt;/font&gt; party archiving vendor, has support for Exchange 2010 with its NearPoint product.&amp;#160; NetApp has updated its SnapManager for Exchange to support Exchange 2010.&amp;#160; The list of products goes on, but check with your vendors to ensure there are no other deployment blockers. &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;b&gt;References&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Proper planning is vital to a successful Exchange 2010 deployment.&amp;#160;&amp;#160; Please reference the following links for helpful planning guidance.&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;General Planning Guidance&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font color="#0066cc" size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;u&gt;&lt;a href="http://technet.microsoft.com/en-ca/library/bb125239.aspx"&gt;http://technet.microsoft.com/en-ca/library/bb125239.aspx&lt;/a&gt;&lt;/u&gt;&lt;a href="http://blogs.technet.com/redir.aspx?C=5cd5abfbe79a469cad61009e1ba446b3&amp;amp;URL=http%3a%2f%2ftechnet.microsoft.com%2fen-us%2flibrary%2fbb125239(EXCHG.140).aspx" target="_blank"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;font color="#1f497d"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;Exchange 2010 Backup&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font color="#0066cc" size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;u&gt;&lt;a href="http://www.microsoft.com/systemcenter/dataprotectionmanager/en/us/protect-exchange.aspx"&gt;http://www.microsoft.com/systemcenter/dataprotectionmanager/en/us/protect-exchange.aspx&lt;/a&gt;&lt;/u&gt;&lt;a href="http://blogs.technet.com/redir.aspx?C=5cd5abfbe79a469cad61009e1ba446b3&amp;amp;URL=http%3a%2f%2fwww.microsoft.com%2fsystemcenter%2fdataprotectionmanager%2fen%2fus%2fprotect-exchange.aspx" target="_blank"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;/span&gt;&lt;/font&gt;&amp;#160;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;RIM Announcement&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;  &lt;div style="margin:0px;"&gt;&lt;font color="#0066cc" size="2" face="Calibri,sans-serif"&gt;&lt;span style="font-size:11pt;"&gt;&lt;a href="http://na.blackberry.com/eng/support/software/server_compatibility.jsp#tab_tab_news"&gt;http://na.blackberry.com/eng/support/software/server_compatibility.jsp#tab_tab_news&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2733" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Exchange+Server/default.aspx">Exchange Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Guest+Authors/default.aspx">Guest Authors</category></item><item><title>Shift Right Click to access additional explorer file and folder options</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/09/10/shift-right-click-to-access-additional-explorer-file-and-folder-options.aspx</link><pubDate>Thu, 10 Sep 2009 15:30:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2717</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Windows 7 has been RTMd for a few weeks now, and the general availability is quickly approaching. I wanted to share a few cool new features that have yet to be widely talked about, (at least I haven’t seen them blogged anywhere yet.)&lt;/P&gt;
&lt;P&gt;The first feature is actually hidden away, and I discovered while right clicking on a folder at the same time as I held down SHIFT. Normally if you just right click you get the following menu:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/ShiftRightClicktoaccessadditionalfeature_E3A8/image.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/ShiftRightClicktoaccessadditionalfeature_E3A8/image_thumb.png" width=419 height=371&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;If you SHIFT right click here is the menu you’ll see: notice you now have several new and very useful commands:&lt;/P&gt;
&lt;P&gt;Open in new process&lt;/P&gt;
&lt;P&gt;Open in new window&lt;/P&gt;
&lt;P&gt;and my favourite Open command windows here&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/ShiftRightClicktoaccessadditionalfeature_E3A8/image_3.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/ShiftRightClicktoaccessadditionalfeature_E3A8/image_thumb_3.png" width=409 height=437&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Hope this helps you be that much more productive while using Windows 7!&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2717" width="1" height="1"&gt;</description></item><item><title>Federated Search Updated for Windows 7 RTM</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/09/10/federated-search-updated-for-rtm.aspx</link><pubDate>Thu, 10 Sep 2009 07:35:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2716</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;One of the features that we talked about a few months ago during the Beta and RC of &lt;A href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/03/federated-search-on-windows-7.aspx"&gt;Windows 7 was the new federated search features&lt;/A&gt;. It came to our attention that the TLA federated search OSDX file was not compatible with Windows 7 RTM. &lt;/P&gt;
&lt;P&gt;So our first announcement is to say that we have fixed that and posted an updated version of the file available &lt;A href="http://thelazyadmin.com/TLAFederatedSearch.zip"&gt;here&lt;/A&gt;. The original article will also download the newest file.&lt;/P&gt;
&lt;P&gt;Second as TheLazyAdmin is also now on Twitter we also built a Federated search provider to search Twitter. While this is a pretty basic Search provider we thought you might like it. After you add it you can search Twitter from you Windows Explorer search bar!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/TLATwitterFederatedSearch.zip"&gt;Download the Windows 7 Twitter Federated Search Provider&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Have Fun, and let us know if you build any other cool Federated Search providers.&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2716" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Interoperability/default.aspx">Interoperability</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category></item><item><title>Virtual PC in Windows 7</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/05/22/virtual-pc-in-windows-7.aspx</link><pubDate>Fri, 22 May 2009 15:33:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2651</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;A few weeks ago Rodney wrote a great post about the new XP mode in Windows XP. This is based on a new version of Virtual PC. I wanted to take a moment to talk about the new version which was released in beta along with the Windows 7 RC.&lt;/p&gt;  &lt;p&gt;First this version of Virtual PC will only work with Windows 7, so earlier versions of Windows will have to stick with Virtual PC 2007.&lt;/p&gt;  &lt;p&gt;Second, you can run Windows Vista and windows 7 in a virtual PC, what is really cool is that you can get full Aero glass compatibility in a virtual PC environment after you install the integration features. (notice that in Virtual PC it’s integration features not integration components as it is in Hyper-V) Notice the transparency effect in the screenshot below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/VirtualPCinWindows7_7D2/image.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://thelazyadmin.com/images/VirtualPCinWindows7_7D2/image_thumb.png" width="558" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Another change is the integration of the virtual machine interface into Windows Explorer&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/VirtualPCinWindows7_7D2/image_3.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://thelazyadmin.com/images/VirtualPCinWindows7_7D2/image_thumb_3.png" width="644" height="272" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Some additional things to keep in mind, in order to run Virtual PC for Windows 7 your CPU, chipset and BIOS need to support hardware virtualization.&lt;/p&gt;  &lt;p&gt;Here is the link to &lt;a href="http://www.microsoft.com/windows/virtual-pc/download.aspx"&gt;download virtual PC&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2651" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category></item><item><title>Windows 7 App Locker</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/05/21/windows-7-app-locker.aspx</link><pubDate>Thu, 21 May 2009 15:31:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2650</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Window 7 RC has been out for a few weeks now the TLA team has been busy learning and testing all the great new features. Your tip for today is on Windows 7 App Locker. Many of you know about Software Restriction Policies. They allow you to block the execution of a program by file name or hash calculation. Many of you probably also know how it was a race to block applications in our network with these methods. Users could change the name of the file, or applications updates so frequently that you would constantly need to generate new hash files.&lt;/P&gt;
&lt;P&gt;Windows 7 introduces a great new feature called App Locker. App locker works under the premise that it’s easier to allow the applications you want and block the rest. If you’re running a Windows 7 machine you can see App Locker by typing gpedit.msc into your search bar and pressing enter.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb.png" width=644 height=443&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can define policies based on Executables, Windows Installers, and scripts. Creating a new policy is really simple. right click on any of the 3 categories and click new.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_3.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb_3.png" width=593 height=484&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can create a policy to allow or deny an executable. You can also select witch groups the rule will apply to.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb_4.png" width=582 height=484&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can choose to create a rule based on a publisher (the program needs to be signed) or a program path, or a file hash (usually a good choice if the program isn’t signed)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_5.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb_5.png" width=580 height=484&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;For this example I chose publisher. the Rule wizard uses the information stores application signing certificate to learn about the application. You can adjust what level of information you’ll allow for an application.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb_6.png" width=582 height=484&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;In the above example I set the level to allow any version of Internet Explorer. (regardless of the file name used or the version)&lt;/P&gt;
&lt;P&gt;You can use the same steps to create exceptions for specific applications. One of the best features is the ability to automatically generate rules.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_7.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7AppLocker_12CF5/image_thumb_7.png" width=628 height=484&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;This scans your applications in the program files directory and creates permissions for those programs to run. Perfect for quickly creating a baseline set of rules for a gold image.&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2650" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Group+Policy/default.aspx">Group Policy</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Security/default.aspx">Security</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Deployment/default.aspx">Deployment</category></item><item><title>Using XP Mode in Windows 7</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/04/30/using-xp-mode-in-windows-7.aspx</link><pubDate>Fri, 01 May 2009 03:36:29 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2618</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the major challenges with moving to a new OS is dealing with older applications.&amp;#160; This was an issue with the release of Windows Vista and in order to mitigate that with Windows 7, Microsoft has released a feature called XP Mode, which runs a Windows XP SP3 virtual machine in the background that can be used to run legacy applications.&amp;#160; What is really interesting is that as a user, you only see a shortcut on the desktop or start menu and interact with the application as you would any other application.&amp;#160; Launch an application and the VM wakes up (by default it hibernates when not in use) and presents the application, close the app and the VM hibernates!&lt;/p&gt;  &lt;p&gt;There are two components that need to be installed, Windows Virtual PC which is the successor to Virtual PC 2007, and the XP Mode VM.&amp;#160; Once they are installed there is a simple set up process to turn on Automatic Updates, set a username and password for the XP VM and you are on your way.&amp;#160; The VM can be joined to AD and act as any other domain member.&lt;/p&gt;  &lt;p&gt;There are the typical Virtual PC settings such as memory, disk, networking etc… but the addition of Auto Publish allows applications that reside in the XP VM to appear in the Windows 7 start menu.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="XP-Mode-2" border="0" alt="XP-Mode-2" src="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode2_thumb.png" width="644" height="433" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So to the end user they access the applications just like any other. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="XPMode-1" border="0" alt="XPMode-1" src="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode1_thumb.png" width="644" height="356" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Any application that is installed in the XP VM can be published simply by dropping the shortcut to launch it in All Users –&amp;gt; Start Menu&amp;#160; As an example I placed the IE6 shortcut in All Users\Start Menu and launched it on Windows 7 next to IE8.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPModeIE6IE8.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="XPModeIE6&amp;amp;IE8" border="0" alt="XPModeIE6&amp;amp;IE8" src="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPModeIE6IE8_thumb.png" width="644" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can also mount any USB device in the XP VM as Windows Virtual PC now supports USB devices!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode4.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="XP-Mode-4" border="0" alt="XP-Mode-4" src="http://thelazyadmin.com/images/UsingXPModeinWindows7_1210C/XPMode4_thumb.png" width="644" height="463" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;If you are looking to use this to solve an enterprise wide app compat issue you can use this same technology with the addition of a management suite with MED-V, or Microsoft Enterprise Desktop Virtualization, which is currently in beta (as is XP Mode and Windows 7 at the time of this writing) or the &lt;a href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2008/10/13/application-compatibility-with-the-standard-user-analyzer.aspx"&gt;Application Compatibility Toolkit which we wrote about previously&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;For more information see:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/windows/enterprise/products/med-v.aspx"&gt;Microsoft Enterprise Desktop Virtualization&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=665"&gt;Download MED-V Beta 1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.ca/springboard"&gt;Microsoft Springboard Portal&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2618" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>Windows 7 Password Vault</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/03/09/windows-7-password-vault.aspx</link><pubDate>Tue, 10 Mar 2009 03:31:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2542</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;Oh boy is this a feature designed for lazy admins. When I’m not writing and keeping the site up to date I’m usually onsite working for clients. Often I’m required to have multiple emails accounts active when working with various partners.&lt;/P&gt;
&lt;P&gt;Now this isn’t usually a problem except as many know you can’t have multiple exchange accounts open in outlook at the same time. This means that you need to create separate profiles for each Exchange account. This also means that you need to type in a password every time you change profiles. Being that retyping passwords can be a drag on productivity, (fat finger errors and typos) wouldn’t it be great if you could have Windows remember your different accounts associated with your already logged on user account?&lt;/P&gt;
&lt;P&gt;In the control panel choose &lt;EM&gt;Users Accounts and Family Safety&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image_thumb.png" width=644 height=460&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Then click on &lt;EM&gt;Credentials Manager&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image_3.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image_thumb_3.png" width=644 height=460&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can now see credentials that you have already entered in for various sites. If you check “Save Username and Password” in the checkbox the information will be stored here.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/Windows7PasswordVault_13E93/image_thumb_4.png" width=644 height=460&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Once a credential has been added and stored here it will automatically be supplied when you next access the resource in question. In my case each time I open Outlook and choose a different profile I will skip having to re-enter the password for the specific Exchange account.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;IMPORTANT NOTE:&lt;/FONT&gt;&lt;/STRONG&gt; Your default Windows account should be secured with a strong password, and ideally it should also be secured with multifactor authentication. &lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2542" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Security/default.aspx">Security</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category></item><item><title>Sync DSRM and Domain Admin Passwords</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/27/sync-dsrm-and-domain-admin-passwords.aspx</link><pubDate>Fri, 27 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2537</guid><dc:creator>rodney.buike</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;Setting a password for Directory Services Restore Mode is something that is done during the setup of Active Directory.&amp;#160; As a best practice it has always been recommended to change that password on a regular basis, as you would with any other password.&amp;#160; The challenge was the process to do this was complicated and required you to use NTDS in &lt;a href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2006/03/24/Reset-Disaster-Recovery-Mode-Password.aspx"&gt;Windows 2003&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This has been addressed in Windows Server 2008 where we can now sync the DSRM password with a Domain Administrator account.&amp;#160; There is a &lt;a href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=961320&amp;amp;kbln=en-us"&gt;hotfix that needs to be installed which you can download here&lt;/a&gt;.&amp;#160; (Note: You do need to request the hotfix and it should be included in SP2)&amp;#160; After it is installed and the server is rebooted, you can run the following command to sync the passwords.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span class="userInput"&gt;&lt;em&gt;ntdsutil &amp;quot;set dsrm password&amp;quot; &amp;quot;sync from domain account &amp;lt;DomainAdminAccountName&amp;gt;&amp;quot; q q&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2537" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>Recovering Deleted AD Objects in Server 2008 R2</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/24/recovering-deleted-ad-objects-in-server-2008-r2.aspx</link><pubDate>Tue, 24 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2506</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;a href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/23/what-s-new-in-2008-r2-active-directory-recycle-bin.aspx"&gt;In a previous entry,&lt;/a&gt; guest blogger Sean Kearney shared a new feature in Windows Server 2008 R2 directory services called the &lt;a href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/23/what-s-new-in-2008-r2-active-directory-recycle-bin.aspx"&gt;Active Directory Recycle Bin&lt;/a&gt;.&amp;#160; Sean is back to show us how to recover those deleted objects.&lt;/p&gt;  &lt;p&gt;-------------------------&lt;/p&gt;  &lt;p&gt;So you’ve done it.&amp;#160; We all have.&amp;#160; Deleted a user, group, OU by accident but thankfully you have 2008 R2 in place and the AD Recycle Bin enabled.&amp;#160; To recover now is a breeze!&amp;#160; Start by launching Powershell V2 on Server 2008 R2 and run the following command &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;GET-ADOBJECT –filter {name –like “missingitem*”} –includedeletedobjects | RESTORE-ADOBJECT&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;That’s it.&amp;#160; Nothing harder than that. Was that so hard?&amp;#160; The great thing, is as long as it’s an object in Active Directory, it’s protected by this new feature for 180 days.&amp;#160; Also, this just does restore the object.&amp;#160; It’s restores &lt;em&gt;the object, its security, its trusts&lt;/em&gt;! &lt;/p&gt;  &lt;p&gt;If you’d like to learn more about the Active Directory Recycle Bin, Check out these great resources on Technet.com &lt;/p&gt;  &lt;p&gt;&lt;a href="http://edge.technet.com/Media/Active-Directory-Recycle-Bin/"&gt;Active Directory Recycle Bin - Instructional Video on &lt;/a&gt;Technet&lt;a href="http://edge.technet.com/Media/Active-Directory-Recycle-Bin/"&gt; Edge&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2506" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Guest+Authors/default.aspx">Guest Authors</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>What’s New in 2008 R2 – Active Directory Recycle Bin</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/23/what-s-new-in-2008-r2-active-directory-recycle-bin.aspx</link><pubDate>Mon, 23 Feb 2009 18:33:41 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2505</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I’ve done it, I know people who have done it, and I bet you have done it before as well.&amp;#160; Right-click an object in Active Directory Users and Computers and instead of clicking the properties link you accidentally hit delete.&amp;#160; Boom, gone and the only way to get it back is via a restore from backup.&amp;#160; Restart the DC, boots into Directory Services Restore Mode (DSRM), restore the system state backup and apply either a authoritative or non-authoritative restore.&lt;/p&gt;  &lt;p&gt;Guest author, Sean Kearney, covers this new feature in Windows Server 2008 R2.&lt;/p&gt;  &lt;p&gt;-------------------------&lt;/p&gt;  &lt;p&gt;One of the fantastic features provided in Server 2008 R2 is the new Recycle Bin for Active Directory.&lt;/p&gt;  &lt;p&gt;I recognize that nobody here is going to intentionally mess up their own Active Directory.&amp;#160; But problems can happen.&amp;#160;&amp;#160; A Junior technician misheard the phrase “Disable” with “Delete”, a malicious Administrator leaving the company, dumb luck.&amp;#160; Any number of problems can occur and this feature will save the day.&lt;/p&gt;  &lt;p&gt;There are a few caveats to using this&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You must have the Domain functional level in Server 2008 R2 mode.&lt;/li&gt;    &lt;li&gt;You must enable the feature by using LDP.EXE or Powershell.&lt;/li&gt;    &lt;li&gt;It is managed and used 100% by Powershell.&amp;#160; There is no GUI version presently.&lt;/li&gt;    &lt;li&gt;Once enabled, you cannot disable it.&amp;#160; This is a one way trip folks&lt;/li&gt;    &lt;li&gt;The enabled Recycle Bin has a 180 day retention policy.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;That’s it.&amp;#160; In Server 2008 R2, select the new Active Directory Powershell under Administrative Tools and type in the following command&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;GET-ADOPTIONALFEATURE –filter {name –like “*”}&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You will be presented with a screen showing you &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;FeatureScope&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {Forest}      &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Recycle Bin Feature&amp;#160; &lt;br /&gt;RequiredForestMode : Windows2008R2Forest&amp;#160; &lt;br /&gt;IsDisableable&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False&amp;#160; &lt;br /&gt;ObjectGUID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0599c1a6-6f8f-42d4-b9a0-ab2791d4719e&amp;#160; &lt;br /&gt;ObjectClass&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : msDS-OptionalFeature&amp;#160; &lt;br /&gt;FeatureGUID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 766ddcd8-acd0-445e-f3b9-a7f9b6744f2a&amp;#160; &lt;br /&gt;&lt;strong&gt;EnabledScopes&lt;/strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :&amp;#160; &lt;br /&gt;RequiredDomainMode :&amp;#160; &lt;br /&gt;DistinguishedName&amp;#160; : CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=energized,DC=energizedtech,DC=com&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Looking at the information above, there are no enabled scopes which confirms that the AD Recycle Bin is presently disabled. So to make all this useful, I guess we should turn it on.&amp;#160; So in the same Powershell Window key in this command&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;ENABLE-ADOPTIONALFEATURE ‘Recycle Bin Feature’ –score forest –target ‘domainfqdn’&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You will get a prompt warning you that it will make the change.&amp;#160;&amp;#160; Choose “Yes” if you wish to enable this feature or CTRL-C to abort. Once you’re done, it’s active.&amp;#160; To confirm, run the following command again&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;GET-ADOPTIONALFEATURE –filter {name –like “*”}&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And you’ll get a similar response but note&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;FeatureScope&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {Forest}      &lt;br /&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : Recycle Bin Feature&amp;#160; &lt;br /&gt;RequiredForestMode : Windows2008R2Forest&amp;#160; &lt;br /&gt;IsDisableable&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : False&amp;#160; &lt;br /&gt;ObjectGUID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 0599c1a6-6f8f-42d4-b9a0-ab2791d4719e&amp;#160; &lt;br /&gt;ObjectClass&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : msDS-OptionalFeature&amp;#160; &lt;br /&gt;FeatureGUID&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 766ddcd8-acd0-445e-f3b9-a7f9b6744f2a&amp;#160; &lt;br /&gt;&lt;strong&gt;EnabledScopes&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {CN=Partitions,CN=Configuration,DC=energized,DC=energizedtech,DC=com}&lt;/strong&gt;&amp;#160; &lt;br /&gt;RequiredDomainMode :&amp;#160; &lt;br /&gt;DistinguishedName&amp;#160; : CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=energized,DC=energizedtech,DC=com&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You’ll see the “Enabled Scopes” is now covering the domain.&lt;/p&gt;  &lt;p&gt;For more information see:&lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;a href="http://edge.technet.com/Media/Active-Directory-Recycle-Bin/"&gt;&lt;/a&gt;&lt;/p&gt;   &lt;a href="http://technet.microsoft.com/en-us/library/dd392261.aspx"&gt;Active Directory Recycle Bin Step-by-Step Guide&lt;/a&gt;&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2505" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/sean.kearney/default.aspx">sean.kearney</category></item><item><title>Virtual Server to Hyper-V Migration</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/17/virtual-server-to-hyper-v-migration.aspx</link><pubDate>Tue, 17 Feb 2009 18:25:31 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2497</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;A lot of people are making the switch from Virtual Server to Hyper-V lately.&amp;#160; I’ve done it on my home network and Thelazyadmin.com servers are in progress of moving to Hyper-V as well.&amp;#160; While you can simply copy over the VHD and create a new VM in Hyper-V and mounting that VHD there is a tool that can help you with this task.&amp;#160; VMC2HV is a free tool that can be used to import a Virtual Server (or VirtualPC) based VM into Hyper-V.&amp;#160; It is a pretty simple tool to use, specify the name and credentials for your Hyper-V server, choose the VMC file of the machine you want to import and click Create Virtual Machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/VirtualServertoHyperVMigration_9290/VMC2HV1.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="VMC2HV-1" border="0" alt="VMC2HV-1" src="http://thelazyadmin.com/images/VirtualServertoHyperVMigration_9290/VMC2HV1_thumb.jpg" width="584" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A few things to note when using this tool…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Once the migration is complete you will have to uninstall the VMAdditions and install the Integration Components.&lt;/li&gt;    &lt;li&gt;Installing the Integration Components will update the HAL so going back to Virtual Server/PC will be difficult&lt;/li&gt;    &lt;li&gt;Hyper-V will not boot from virtual SCSI so you will have to move the VMs boot drive to the virtual IDE bus&lt;/li&gt;    &lt;li&gt;You can run this tool on X86 and x64 installs of Windows Vista and Server 2008, locally or remotely from the Hyper-V server.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can &lt;a href="http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/TenSeldamUtility2009_03.exe"&gt;download VMC2HV here&lt;/a&gt;!&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2497" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>Powercfg and Power Efficiency Diagnostics Reports</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/16/powercfg-and-power-efficiency-diagnostics-reports.aspx</link><pubDate>Mon, 16 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2494</guid><dc:creator>daniel.nerenberg</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;One of the new command tools introduced in Windows Vista was powercfg. Essentially it’s a command line tool that enables users to control power settings. There are a lot of very granular setting that can be configured. To get an idea of what you can do with it just run the following command from the command line:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;powercfg –Help | more&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;You’ll need to pipe that help output to a “more” because the standard command prompt settings won’t buffer the entire help output!&lt;/P&gt;
&lt;P&gt;A really cool new feature for Windows 7 is the Power Efficiency Diagnostic Reports. This will allow power users and administrators understand and optimize their systems for maximum power efficiency and by virtue maximum battery life for laptops. In large environments the cumulative effect of optimizing power usage over thousands of computers can result in tangible power and money savings!&lt;/P&gt;
&lt;P&gt;To generate the power Power Efficiency Diagnostics Report open an administrative&amp;nbsp; command prompt and run:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;powercfg -energy&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_thumb.png" width=644 height=329&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The system will observe the behaviour of your devices and settings for 60 seconds. Once complete the following output will be generated:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_3.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_thumb_3.png" width=644 height=328&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The output file is dropped into the current working directory. Open the report in IE to get a detailed list of the information. Also keep in mind that the PowerProfile you’re using will have an impact on the report. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_thumb_4.png" width=499 height=484&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Notice that the errors in the above screenshot are all related to the fact that I have set High Performance enable while on battery. Some may not agree that it is an “error” but the thing to keep in mind is that this is in the context of creating maximum power efficiency. When I change my power profile to one that uses speed step and lowers the performance on my laptop this error will resolve and go if I run the report again.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_5.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_thumb_5.png" width=644 height=214&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Some other errors that can be generated relate to drivers or peripherals that won’t enter a low power mode. If you ever dealt with a laptop that won’t sleep a bad driver that doesn’t support advanced power management can often be the problem. This report can help isolate these issues.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://thelazyadmin.com/images/PowercfgandPowerEfficiencyDiagnosticsRep_9CF1/image_thumb_6.png" width=244 height=156&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Near the bottom of the report is information about CPU utilization, processes, and this little gem (screen shot above) This report can help troubleshoot battery usage and charge capacity. This gives admin’s a great way to decide when a battery should be replaced. If the last full charge is consistently dropping from the design capacity it may be time to replace the battery.&lt;/P&gt;
&lt;P&gt;With this report Admins can tweak power profiles to realize the maximum benefits of new power efficient computer platforms. Happy efficient computing!&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2494" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Springboard/default.aspx">Windows Springboard</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/daniel.nerenberg/default.aspx">daniel.nerenberg</category></item><item><title>PowerShell Integrated Scripting Environment</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/13/powershell-integrated-scripting-environment.aspx</link><pubDate>Fri, 13 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2493</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt; PowerShell 2.0, included in Windows 7 and Server 2008 R2, includes a new Integrated Scripting Environment (ISE) which provides you with a GUI based tool to write your scripts and learn PowerShell.&amp;#160; To launch PowerShell 2.0 ISE simply drill down to Start –&amp;gt; All Programs –&amp;gt; Accessories –&amp;gt; Windows PowerShell.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/PowerShellIntegratedScriptingEnvironment_FB8B/PowerShellISE1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="PowerShell-ISE-1" border="0" alt="PowerShell-ISE-1" src="http://thelazyadmin.com/images/PowerShellIntegratedScriptingEnvironment_FB8B/PowerShellISE1_thumb.png" width="420" height="632" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once that is launched you’ll see the ISE load and you are ready to begin.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/PowerShellIntegratedScriptingEnvironment_FB8B/PowerShellISE.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="PowerShell-ISE-" border="0" alt="PowerShell-ISE-" src="http://thelazyadmin.com/images/PowerShellIntegratedScriptingEnvironment_FB8B/PowerShellISE_thumb.jpg" width="640" height="477" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The top portion, aka the Script Pane, is your scripting environment which allows you to write PS scripts.&amp;#160; The play and stop buttons are used to start and stop the running of a script.&amp;#160; The middle portion, aka the Output Pane, is where the script is executed and the results displayed.&amp;#160; Finally at the bottom is the Command Pane, where you can run individual Cmdlets and “one-liners”.&amp;#160; So besides a nice GUI editor why do I like the PowerShell ISE?&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;· ISE Features -&amp;#160; Tab completion, line numbering, indenting and the always useful search and replace. &lt;/li&gt;    &lt;li&gt;· Customizable ISE -&amp;#160; You can change the color, location and size of the various panes to suit your style.&lt;/li&gt;    &lt;li&gt;· Colored Syntax – Like other scripting environments different colors are used to highlight variables, strings, objects and Cmdlets. &lt;/li&gt;    &lt;li&gt;· Support for Unicode -&amp;#160; The PowerShell ISE supports Unicode.&lt;/li&gt;    &lt;li&gt;· Debugging.&amp;#160; I always make mistakes and the ability to set breakpoints, walk through the script step by step really helps find those errors.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you are using Windows 7 or Server 2008 R2 give the ISE a try!&amp;#160; Compared to Notepad it is a dream to work with :)&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2493" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category></item><item><title>Create a “Bootable” Windows 7 VHD</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/10/create-a-bootable-windows-7-vhd.aspx</link><pubDate>Wed, 11 Feb 2009 03:48:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2489</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;A few weeks back we posted an entry on &lt;A href="http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/01/12/windows-7-boot-from-vhd.aspx"&gt;how to boot from a Windows 7 or Server 2008 R2 VHD&lt;/A&gt;.&amp;nbsp; Booting from VHD is new to Windows 7 and Server 2008 R2 but one of the caveats was you needed a “clean” VHD to boot from.&amp;nbsp; There is a very simple way to create this VHD using an open source tool available on the &lt;A href="http://code.msdn.microsoft.com/"&gt;MSDN Code Gallery&lt;/A&gt; called &lt;A href="http://code.msdn.microsoft.com/wim2vhd"&gt;WIM2VHD&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;WIM2VHD is a command line tool that converts the WIM image into a VHD you can use to boot off.&amp;nbsp; It does have a few requirements…&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The prep machine has to be running Windows 7, Server 2008 R2, either of which could be running in a Hyper-V VM &lt;/LI&gt;
&lt;LI&gt;A Windows 7 or Server 2008 R2 installation media &lt;/LI&gt;
&lt;LI&gt;The &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=4AD85860-D1F4-42A1-A46C-E039E3D0DB5D&amp;amp;displaylang=en"&gt;Windows 7 Automated Install Kit Beta&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There are a number of switches you will need to know as well in order to create the VHD file…&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;/wim: specifies the path to the WIM file &lt;/LI&gt;
&lt;LI&gt;/sku: which version (ServerStandard, Ultimate etc…)&amp;nbsp; You can also use the SkuIndex if you retrieved that with the ImageX tool &lt;/LI&gt;
&lt;LI&gt;/vhd: specifies the path and the name of the VHD to be created &lt;/LI&gt;
&lt;LI&gt;/size: specifies the size of the VHD in MB &lt;/LI&gt;
&lt;LI&gt;/disktype: specifies the type of disk, Dynamic or Fixed &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There are some additional switches which you can find on the WIM2VHD documentation that allow you to further customize the VHD to be created.&lt;/P&gt;
&lt;P&gt;So let’s say we wanted to create a Windows 7 Ultimate VHD on a 40GB fixed disk; we’d use the following command:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;cscript wim2vhd.wsf /wim:X:\sources\install.wim /sku:ULTIMATE /vhd:C:\Win7Ultimate.vhd /size:40960 /disktype:Fixed&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Or if we wanted to create a Windows Server 2008 R2 Standard VHD on a 40GB dynamically expanding disk we’d use the following command:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;cscript wim2vhd.wsf /wim:X:\sources\install.wim /sku:SERVERSTANDARD /vhd:C:\ServerStandardR2.vhd /size:40960 /disktype:Dynamic&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can &lt;A href="http://code.msdn.microsoft.com/wim2vhd/Release/ProjectReleases.aspx?ReleaseId=2213"&gt;download WIM2VHD and the release documents here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2489" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Client/default.aspx">Windows Client</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>What’s New in 2008 R2 – Offline Domain Join</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/09/what-s-new-in-2008-r2-offline-domain-join.aspx</link><pubDate>Mon, 09 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2467</guid><dc:creator>rodney.buike</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;For as long as we have had Active Directory domains, we have been required to to join client to the domain while they were online and connected to AD.&amp;nbsp; Without that the join would fail.&amp;nbsp; Now you always had the ability to join with a script using the NETDOM command but with Windows Server 2008 R2 we can now join a client to our AD domain while offline.&amp;nbsp; The real benefit hear is that there is no need to supply or enter domain admin credentials.&amp;nbsp; As you’ll see below a TXT file is created but just for fun open it up with notepad and see what you can make out :)&lt;/P&gt;
&lt;P&gt;It is a simple three step process that requires you to run a new utility called DJOIN from an already joined Server 2008 R2 computer.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Create a text file with DJOIN that contains the required information for a computer to join AD&lt;/LI&gt;
&lt;LI&gt;Import the text file using DJOIN on the target computer you wish to join AD&lt;/LI&gt;
&lt;LI&gt;Once connected to the domain, reboot the computer and it will join AD&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;For joining a computer to the domain using DJOIN there are some switches you need to know about first.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;/provision – used when there is no existing AD account for the computer &lt;/LI&gt;
&lt;LI&gt;/reuse – if you already created a computer account in AD and would like to use it&lt;/LI&gt;
&lt;LI&gt;/domain – specifies the domain to join&lt;/LI&gt;
&lt;LI&gt;/machine – specifies the name of the machine, if the computer has a different name it will be renamed&lt;/LI&gt;
&lt;LI&gt;/machineou – specifies the OU to join, if you omit this it will automatically be placed in the default computers OU&lt;/LI&gt;
&lt;LI&gt;/savefile – saves the file to be imported.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;A typical command would be…&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;djoin.exe /provision /domain thelazyadmin.com /machine client01 /machineou Desktops /savefile client01.txt&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;To join client01 to the domain we would next import client01.txt with the following command run with administrative privileges…&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;djoin /requestODJ /loadfile client01.txt /windowspath %systemroot% /localos&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Reboot once the client is connected to the domain and the join will be made.&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2467" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Directory+Services/default.aspx">Directory Services</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>What’s New in 2008 R2 – .NET and PS in Core</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/06/what-s-new-in-2008-r2-net-and-ps-in-core.aspx</link><pubDate>Fri, 06 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2478</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;P&gt;The one thing I missed with Server Core was PowerShell.&amp;nbsp; While you can run PowerShell cmdlets and scripts remotely, at times it would have been nice to run it locally.&amp;nbsp; The reason PowerShell was not included was due to the lack of .NET in Server Core.&amp;nbsp; That changes in R2.&lt;/P&gt;
&lt;P&gt;Windows Server Core 2008 R2 includes a subset of .NET which allows PowerShell, as well as other components like ASP.NET.&amp;nbsp; Specifically Server Core R2 includes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;.NET 2.0&lt;/LI&gt;
&lt;LI&gt;.NET 3.0 and 3.5&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Windows Workflow Foundation (WF)&lt;/LI&gt;
&lt;LI&gt;Windows Communication Foundation (WCF)&lt;/LI&gt;
&lt;LI&gt;Language Integrated Query (LINQ)&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Support for WoW64 if you are running 32 bit applications&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Windows Presentation Foundation (WPF) isn’t included but then with no GUI in Server Core it doesn’t really matter much.&amp;nbsp; There are a few commands you need to know to get it working in R2.&lt;/P&gt;
&lt;P&gt;Install .NET 3.0 and 3.5&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Start /w ocsetup NetFx3-ServerCore&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Enable 32 bit support, run the above, then&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Start /w ocsetup ServerCore-WOW64&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Start /w ocsetup NetFx3-ServerCore-WOW64&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Enable PowerShell&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Start /w ocsetup MicrosoftWindowsPowerShell&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Launch PowerShell&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Start c:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2478" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/PowerShell/default.aspx">PowerShell</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item><item><title>What’s New in 2008 R2 – Core Parking</title><link>http://thelazyadmin.com/blogs/thelazyadmin/archive/2009/02/05/what-s-new-in-2008-r2-core-parking.aspx</link><pubDate>Thu, 05 Feb 2009 17:00:00 GMT</pubDate><guid isPermaLink="false">e0db7a03-7d76-43aa-9219-34d76d3a79c2:2476</guid><dc:creator>rodney.buike</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Green IT, Green IT, everywhere you turn there is something about Green IT.&amp;#160; With increased power and cooling costs a lot of people are using virtualization to reduce these costs but Windows Server 2008 R2 brings a new feature called Core Parking which helps as well.&amp;#160; It does this by moving all processing to a core (or cores) and putting the other cores to “sleep”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/WhatsNewin2008R2CoreParking_FE46/corepark1.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="core-park-1" border="0" alt="core-park-1" src="http://thelazyadmin.com/images/WhatsNewin2008R2CoreParking_FE46/corepark1_thumb.png" width="502" height="539" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Image courtesy of Microsoft Corporation&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;As processing power increases more cores “wake up” and take on the additional processing.&amp;#160; Considering Windows Server 2008 R2 supports up to 256 cores this feature can really provide some savings while not impacting performance.&lt;/p&gt;  &lt;p&gt;Further to Core Parking, Windows Server 2008 R2 can also adjust the &lt;a href="http://en.wikipedia.org/wiki/ACPI#Processor_states"&gt;“P-State”&lt;/a&gt; to reduce the power consumption of a core.&amp;#160; In a nutshell this is like Intel SpeedStep which can “slow” down the CPU on your notebook to conserve power when you run on battery.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://thelazyadmin.com/images/WhatsNewin2008R2CoreParking_FE46/corepark2.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="core-park-2" border="0" alt="core-park-2" src="http://thelazyadmin.com/images/WhatsNewin2008R2CoreParking_FE46/corepark2_thumb.png" width="502" height="639" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Image courtesy of Microsoft Corporation&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;All of this can be controlled via Group Policy in an AD domain or via the Local Policy on a standalone server.&lt;/p&gt;&lt;img src="http://thelazyadmin.com/aggbug.aspx?PostID=2476" width="1" height="1"&gt;</description><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://thelazyadmin.com/blogs/thelazyadmin/archive/tags/rodney.buike/default.aspx">rodney.buike</category></item></channel></rss>