Officially Supported Guest Operating Systems in Hyper-V 2012

My excellent friend, Aidan Finn, just posted on his blog the official list of supported guest operating systems for Hyper-V 2012.

I couldn’t help but notice that Windows XP and Windows Server 2003 were still on that list.  Question:  Will this be the last Hyper-V they will be supported on?  I haven’t got a clue.  I’m not a virtualization expert.  There is the fact that we are about to see support for XP and Server 2003 expire, but then there’s the fact that if MS doesn’t support them, they might be handing market share over to VMWare.  Of course, let us not forget that Windows Server 2012 isn’t here yet and even when it does get here, that means 10 years of support for virtualizing XP and Server 2003 from Microsoft.

Interesting points to ponder.  My company has one app that requires XP/Server 2003 and we are working hard to replace it.  I’m hoping that in two years, XP/Server 2003 will have fallen off my radar.  I recommend your making similar plans if you can.

James

Access 2013, Word 2013, and Excel 2013

It appears Office 2013 is well on its way.  Three of the teams have already made formal announcements via their blogs.

From the Official Microsoft Word Blog:

http://blogs.office.com/b/microsoft-word/archive/2012/07/30/introducing-word-2013.aspx

From the Official Microsoft Excel Blog:

http://blogs.office.com/b/microsoft-excel/archive/2012/07/18/introducing-excel-2013.aspx

From the Official Microsoft Access Blog:

http://blogs.office.com/b/microsoft-access/archive/2012/07/20/introducing-access-2013-.aspx

James

Quick Intro to the Juniper SRX Series Security Services Gateway Part III

If you haven’t already, be sure to check out Part I and Part II.

In this third installment, we’ll look at what you will find when you first turn on the Juniper SRX Series Security Services Gateway and to get you through some initial configuration.  Be reminded that, as we discussed in one of the previous articles, the SRX I’m using was sold by Dell with the Dell Logo on the device and in the software.  Dell once sold the SRX as the PowerConnect J-SRX Series.  Therefore, while I fully expect there to be some differences between what I have and what you have (one not sold by Dell), I do expect them to be minimal. 

When you first power on the SRX, the first port is usually defaulted to be the port you connect to your ISP.  The other ports are arranged into switching ports all on the same vLAN.  DHCP is turned on and will start giving out IP addresses in the 192.168.1.x range.  As you may have guessed by now, the default IP address of the SRX is 192.168.1.1.

While I did mention that we will not be concerned with the Graphical User Interface of the SRX, it is the fastest way to get the machine initially configured.  If you are going to use Internet Explorer, be sure to put the address 192.168.1.1 in your trusted sites and make certain the trusted sites security setting is set to low.  Otherwise, much of the SRX website (referred to by Juniper as J-Web) will not work.  Below is the initial logon screen.

image

Do remember that you will not see the Dell logo or references to Dell if your SRX is not branded by and resold by Dell.  The default username is root and the default password is blank.  The root user is the super user of the SRX, and that shows off the SRX’s Unix heritage.  Once you log on the first time, you’ll see the initial setup screen.

image

From here you can fill in some basic information to get the device working.  Here are the values I’m entering:

  • Host Name:  I set this to “Juniper”.  You may call the device anything you wish to distinguish it on your network.
  • Domain Name:  I leave this blank.
  • Root Password:  Of course, having a blank password is NEVER a good idea.  There are no restrictions on the password, so it is your responsibility to choose something strong.
  • Verify Root Password:  What is says.
  • DNS Name Servers:  Replace these with the ones assigned by your ISP.
  • Domain Search:  Leave blank
  • Default Gateway:  Provided by your ISP.
  • Loopback Address:  Leave Blank
  • fe-0/0/0.0 Address:  If you have an SRX210, this field may read ge-0/0/0.0 Address depending on what kind of interface you have.  If you are going to get addresses assigned by your ISP via DHCP, leave this field blank.  Otherwise, fill in your static IP address here.
  • Enable DHCP on fe-0/0/0.0:  If you have an SRX210, this field may read ge-0/0/0.0 Address depending on what kind of interface you have. If you are going to get addresses assigned by your ISP via DHCP, check this box.  Otherwise, make sure it is unchecked.
  • Time Zone:  Pretty obvious, those I have never cared for this particular way of choosing time zones.  Why can’t people just use Eastern Standard, Pacific, Central, Mountain, etc.?  Finding the closes city that matches yours is a pain sometimes.
  • NTP Servers:  Fill these in if you so desire.
  • Allow Telnet Access:  Make sure this is checked.  The majority of examples I give will be using Telnet as the way to connect to the device.
  • Allow JUNOScript over Clear-Text Access:  Uncheck this.
  • Allow SSH Access:  Make sure this is checked.  We may use it later.

Now click Apply and wait for a few moments.  Once you are done, you’ll see a dashboard like this one:

image

This dashboard is fairly useful if you want to get a quick estimate of machine condition.  The first thing we need to do is create a new user to use other than the all powerful root.  Go ahead and click on the CONFIGURE tab at the top, then on the left menu that appears click on SYSTEM PROPERTIES and under that click USER MANAGEMENT.  You should now see something like this:

image

In the upper-right hand corner, click the Edit button.  In the new window that appears, click Add.  In the Add-User field, fill out the User Name, Full Name, Password, and Confirm Password fields.  Choose Super-User as the login class.  Don’t worry about the User ID field as it is not required.  Your entry should look something like this:

image

Notice I called my new user Administrator.  First, I’m a Windows guy.  Get used to it.  Smile  Second, usernames are Case Sensitive.  Keep that in mind regarding the SRX.  Go ahead and click OK all the way out until you see the SRX validate your settings and then the prompt telling you that you have to commit your changes.  You’ll find the Commit Options button at the top under the Troubleshoot tab.  On that menu, click Commit.  You’ll then see a Configuration Delivery progress window appear.  Once that window goes away, you’ll see the user you just created.

image

You can go ahead and close the J-Web user interface.  It is doubtful we will ever use it again.  You can probably see why just by the “clunky” feel it has.

Once you are done with these initial settings, you should now have Internet access with your new SRX.  In the next post, I’ll go over the default security settings the SRX puts in place for you.  After that, another brief technical over view on interface types and things like that.  We will then be done with our quick intro series on the Juniper SRX Series Security Services Gateway and will be ready for more serious material.

James

Sometimes in SSIS, You Just Need to Wait

In one SQL Server Integration Services (SSIS) package Data Flow, I have two OLE DB Commands that have to run one after the other.

image

The problem is that I am updating the same table in a Microsoft Access 2000 Database in both steps.  So, when there are many records, the second OLE DB Command throws an error complaining about the table being locked.  Of course, the table is locked by the first OLE DB Command that needs just a few more seconds to finish what it was doing. 

So how can I give enough time for the first OLE DB Command to finish before invoking the second one?  Well, in this particular case, I am blessed with the fact that I am pretty much guaranteed that there will most likely never be more than 40 records to go through this data flow when it runs (this information is from a single provider doctor office and 40 is the most patients he can see in one day).  So, all I need is a stop gap. 

The solution is to add a Script Component between the two OLE DB Commands.  Once there, edit the Script Component and add the following two lines:

image

What we are doing is calling the Sleep function in C# and telling it to count to 10 (the argument is in milliseconds).  This way, the first OLE DB Command has 10 seconds to finish; thereby unlocking the table, before the next one begins – and with 40 records that should be plenty of time.

I do not claim this solution to be elegant; however, it does work as intended and it solves the problem.  I welcome more elegant solutions in the comments.

For more information about the System.Threading.Thread.Sleep() function, see this MSDN web page.

James

Using Group Policy to Enable Network Discovery in a Domain

If you use Windows Vista or Windows 7 in a domain, you’ll notice that users probably can’t browse network resources such as file shares.  Also, when they do try to access a file share by typing in the URL to it, they’ll get a menu in Windows Explorer asking if they want to enable Network Discovery. 

image

Enabling network discovery requires Administrative rights and, subsequently, throws up a UAC prompt.  If your user is set up as a true Standard User, the UAC prompt will ask for an Administrator username and password. 

Obviously, this is not ideal if you have set up several machines at one time and aren’t about to give your users Administrative rights.  There is a nice solution, however.  On a domain controller, open up the Group Policy Management tool under Administrative Tools and navigate to:

Computer Policy\Policies\Administrative Templates\Network\Link-Layer Topology Discovery.  There are two settings there. 

image

The first setting allows the computer to find network resources such as file shares.  The second setting allows other computers to find this one.  You should certainly enable the first.  The second is dependent on whether you are sharing anything from this computer.

James

If Connecting to Someone Else’s FTP/SFTP/FTPS Server Using SSIS, Be Kind

In SQL Server Integration Services, there is a FTP Task you can use to upload and download files to or from, respectively, a FTP site.  If you need to upload or download from a SFTP or FTPS site, you’ll need Ivan Peev’s SFTP Task from CozyRoc (www.cozyroc.com).  I’ll have a lot more to say about Ivan and his superb suite of tools for SSIS later.  The issue we are talking about today is showing some common courtesy to the owner of the FTP site via a way you probably haven’t thought of.

A few months ago, I got a call from Joel Hoover who maintains the FTP site for RealMed, our clearinghouse we use to send electronic claims through (www.realmed.com).  Joel informed me that, according to his logs, when we downloaded or uploaded files to his site, we were making upwards of almost 500 connections per day.  After doing some quick math, I realized that we should, at most, be making about 6 connections per day since we only download or upload files from their site 6 times a day, so where did he get 500 from?  I informed him that this must be some sort of mistake but then he emailed me a screenshot of the logs with concrete evidence that, yes, we were connecting to this site around 500 times per day – sometimes more.  I did some digging and found the culprit. 

In SQL Server Integration Services, each Task that executes something against a data source must have a Connection Manager.  The FTP Task is no exception.  It has a FTP Connection Manager (or SSH if you are using Ivan’s tool).  And, like most of the other Connection Managers, it has configurable properties – and I’m betting some of you know where I’m going with this already.  Here is a screenshot:

image

Notice the properly value RetainSameConnection.  By default this is typically set to FALSE.  You have to remember to set it to TRUE.  So, what was happening is that as I looped through all the files on Joel’s FTP site in my SSIS package, I was constantly:

Open connection
perform some operation
Drop connection
open connection
perform some operation
drop connection
open connection
perform some operation
drop connection

You can probably see how the FTP owner, Joel, was freaking out over this.  By changing that one value, I was able to reduce our number of connections from well over 500 down to about half a dozen for the entire day.  By setting the value of RetainSameConnection to TRUE, the first connection made to the FTP site is retained for all future uses of that Connection Manager throughout the life of the SSIS package.

In fact, I would say that, unless you are changing your connection string in your connection manager (i.e. looping through csv files, for example), I would recommend always changing the value of RetainSameConnection to TRUE.  This will reduce the overall overhead of your SSIS package and not hammer your data source so much.

James