Posts
  • The Sean Blog

    Creating a PST in Outlook 2010

    • 74 Comments

    I have a friend that is moving from Outlook 2003 to 2010, and who had trouble figuring out how to move their mail to a PST (offline mail store).  In case anyone else is looking to do this, here we go:

    In the top left of Outlook, click on “File”.

    image

    Click on the Account Settings drop down, and then click “Account Settings…”

    image

    In the window that pops up, click the second tab “Data Files”

    image

    Click on the “Add…” icon, and then give your PST file a name (they call it “Outlook Data File, which makes much more sense to end users), choose where it goes, and then hit “OK”.  By default in Windows 7, it goes into your My Documents folder into a folder called “Outlook Files”. 

    I’m not sure what Outlook 2010 does on earlier versions of Windows, but Outlook 2007 and earlier defaulted to C:\Documents and Settings\<username>\Local Settings\Application Data\Microsoft\Outlook.  I know that because I used to have a job upgrading PC’s in a large enterprise to Windows XP, and I had to manually move over the PST files that people forgot to back up.  That path is burned into my brain :)

    image

    Close the Account Settings window, and you will be back to the main Outlook window.  Your new PST (Outlook Data File) will be over on the left, and you can create new folders and drag mail into them (or setup rules).

    image

  • The Sean Blog

    Fedora 8 (werewolf) on Virtual PC 2007

    • 42 Comments

    My "Running Linux in Virtual PC" posts seem to be some of my more popular reading, so let's have a go at the recently released Fedora 8 (It's no longer Fedora Core).

    As with most distributions, if you try to install it right off the ISO, you will rapidly hit the "screwed up graphics".  Virtual PC 2007 does not support 24-bit color, and guess what mode is used by most Linux installers?  Good times :)  You could install in text mode, but as it is no longer 1992, let's do this in graphics mode.  Unfortunately, the tricks I list for installing Ubuntu do not work for Fedora.  Oh well...

    First off, you will want to download the ISO here: http://fedoraproject.org/get-fedora

    Create a new virtual machine, and at the first screen hit "tab" for additional options.  You will want to add "vesa" to the end of the boot parameters to fix the screwed up video problem.  Booting at this point will introduce you to the other problem plaguing recent distros in Virtual PC... a non-functional mouse.  Fortunately, I have the fix for this as well :)  Add "i8042.noloop"

    image

    Hit enter, and you will end up in Anaconda (the Fedora installer) with functional graphics and a working mouse.  WOOHOO!

    image

    The next few options (language, keyboard layout, etc) are all quite standard.  It appears that the Fedora team has decided to go with a knock-off of Apple's Aqua glowing orb circles.  Interesting...

    image

    We get the standard option to choose what packages are installed (Office and Productivity, Software Development, or Web Server).  You can select the checkbox for "Additional Fedora Software" to get packages that were not chosen for inclusion on the DVD. 

    If you are not up for an hour of hand-picking which packages are installed, Fedora 7 introduced the concept of "spins" (special ISOs of the distribution with custom package sets).  At the time of this writing, the available spins (http://spins.fedoraproject.org/) are:

    • Fedora 8 Live Games i686
    • Fedora 8 Live Developer i686
    • Fedora 8 Live FEL i686

    image

    Next comes "grab some coffee" time while Fedora installs. Avoiding a problem that has plagued installers since the beginning of time, Fedora doesn't even bother to estimate how much time is left.

    image

    When you are done installing, go ahead and reboot.  Graphics will work fine, but the mouse will not work again.  <sigh...>  make sure to stop the reboot at grub, press "e" to edit, and add our hallowed i8040.noloop parameter to the 2nd line (the one that starts with kernel).  After editing the line, hit enter and then "b" to boot.  We'll have to do this one more time later to save the change for good.

    image

    Now you can finish booting and walk through the first-run setup wizard!

    image

    After walking through the options, you will finally be at the (somewhat funky looking) Fedora login screen.

    image

    After logging in, let's fix that mouse problem for once and for all.  Well... until Fedora updates the Kernel, then you'll have to repeat these steps. 

    Go to Applications --> System Tools --> Terminal

    Normally, I would do the following commands with Sudo, but I get a message that I am not in the sudoers file.  Wierd... feel free to fix that if you'd like and do the following with sudo.  I'm just going to violate security best practices and elevate to root with SU.  So:

    1. "SU"
    2. nano /boot/grub/menu.lst
    3. Arrow down to the line starting with "kernel".  Arrow to the end of the line and add i8042.noloop
    4. ^O to write out
    5. Enter
    6. ^X to exit
    7. Type exit and hit enter (twice).  Once to exit your elevated root prompt, and once to exit the terminal.

    Hooray!  You should have a working mouse from now on :)

    image

    So what is new in Fedora 8?  Ars has a great writeup here, and the official feature list can be found here: http://fedoraproject.org/wiki/Releases/8/FeatureList.

    • New PulseAudio sound daemon (which allows users to set the volume for each application individually, just like Vista
    • New Codeina utility that allows users to purchase proprietary codecs
    • New PolicyKit authentication system
    • New Look/Feel (I much prefer it to Ubuntu)
    • Compiz (although it is not enabled by default, and which likely does not work on Virtual PC's anemic emulated video card, although I have not tried it)

    Taking a look through the UI, I see that only FireFox and Evolution are in the quicklaunch.  OpenOffice has been relegated to a menu, where even the OpenOffice branding has been removed.  I wonder if there's a story behind that?

    image

    In any case, once you get the mouse and video working, Fedora 8 works like a champ and runs great.  It sure would be nice if they did a bit of testing on Virtual PC (as that is a platform that is baked) so that we did not have to diddle around with the video and mouse, but unfortunately that is a bar that only Novell/Suse seems to be able to hit.  All in all, great distro!

  • The Sean Blog

    Installing Fedora 9 (Sulphur) in Virtual PC 2007

    • 27 Comments

    Fedora 9 was released last week, which you can download here: http://fedoraproject.org/get-fedora.html.  What's new?  Highlights from the release notes include:

    • GNOME 2.22. GNOME now includes a webcam photo and video creation utility called Cheese, improved network filesystem support, a new international clock applet, Google Calendar support and custom email labels in Evolution, a new Remote Desktop Viewer, improved accessibility features, and PolicyKit integration.

    • KDE 4.0.3

    • Xfce 4.4.2

    • NetworkManager 0.7 provides improved mobile broadband support, including GSM and CDMA devices, and now supports multiple devices and ad-hoc networking for sharing connections.

    • The Fedora installer, Anaconda, now supports partition resizing for ext2/3, NTFS filesystems, creating and installing to encrypted file systems, improved Rescue Mode with FirstAidKit, independent locations for the second stage installer and the software packages. A redesigned, larger netboot.iso image now features a second stage installer partly for this reason.

    • PackageKit, a new set of graphical and console tools, with a framework for cross-distribution software management, has replaced Pirut in this release of Fedora. The PackageKit graphical updater is available instead of Pup. Behind PackageKit, the performance of yum has been significantly improved.

    • Ext4, the next version of the mature and stable ext3 filesystem is available as a option in this release. Ext4 features better performance, higher storage capacity and several other new features.

    • This release of Fedora uses Upstart, an event-based replacement for the /sbin/init daemon.

    • Firefox 3 brings a number of major improvements including a native look and feel, desktop integration, the new Places replacement for bookmarks, and a re-worked address bar.

    • OpenOffice.org 2.4, with many new features, is available as part of Fedora 9.

    • Fedora 9 features a 2.6.25 based kernel.

    • Kernel crashes can be more automatically reported to http://www.kerneloops.org/ and diagnosed in a friendly way via the kerneloops package installed by default. Crash signatures are commonly referred to as oopses in Linux.

    • Work on the start-up and shutdown in X has yielded noticeable improvements.

    image

    Will this be the installation that "Just Works" out of the box?  Nope.  Same problem that Ubuntu 8.04 has within Virtual PC... "An unrecoverable processor error has been encountered.  The virtual machine will reset now."  Good times!

    image

    Fortunately, from our work with Ubuntu, we know the solution.  On the main boot screen, hit [Tab] to edit the options. Add noreplace-paravirt to the end of the boot parameters, and hit enter.

    image

    There we go... Fedora is able to boot the kernel and start up anaconda.  The problems I noted in my previous Fedora Posts (Fedora Core 6, Fedora 7, and Fedora 8)  of no mouse and messed up graphics seems to have been fixed.  Very Nice!

    image

    Stepping through the installer options is relatively plain-jane, until you get to the hard drive partitioning screen.  Is that an "Encrypt system" checkbox I see?  Why, yes it is!  I am guessing that this is a Bitlocker-esque feature, although I can't make heads or tails of how exactly this feature works on the Fedora Encrypted Filesystem Support page. Enabling the feature is easy enough, you just check the box and enter a passphrase twice. 

    Does it work with a TPM? Backup to a USB key? Escrow your key into your LDAP directory for safekeeping?  Beats the heck out of me... I wasn't ever prompted for anything relating to those safeguards.  I don't even know what encryption algorithm it uses.

    image

    After hitting "Next" a few more times, Fedora finishes installing with no problems.  After rebooting, however, unless you are SUPER-quick on the keyboard, you will hit the unrecoverable processor error. You'll need to hit any key, and then "a".  As before, add noreplace-paravirt to the end of the boot parameters, and hit enter to continue booting.

    image

    As mentioned before, I chose the option to encrypt my boot drive.  The screenshot below is the highly intuitive user interface asking me to enter my passphrase.  What else could "Enter LUKS passphrase for /dev/sda2" possibly mean?

    image

    Finally... the hallowed Fedora boot screen.  Looks pretty nice!

    image

    After a final few questions (creating user, re-confirming my time preferences), I am asked to send my Hardware Profile to Fedora.  This is actually a great idea!  Perhaps if enough people send a profile showing that they are running on Virtual PC/Virtual Server, some of these silly bugs requiring workarounds (such as Fedora 8 requiring "i8042.noloop" and Fedora 9 requiring "noreplace-paravirt") could be fixed before the OS releases.  Heck, Virtual PC is free.  No incremental cost is involved in adding it to the test matrix!

    image

    After logging into the desktop, and checked for updates.  A mere 5 days after release, there are already 22 bug fixes and 4 security updates, including a network-exploitable remote memory leak in the kernel.  Good times.

    image

    Looking around, it seems that I must have missed the option during the initial install of the OS to include KDE, which I prefer to Gnome.  To be honest, I have absolutely NO idea where to install KDE once Fedora is up and running.  I went into Administration --> Add/Remove Software, but it finds no software at all to install.  You would think it has something to do with the Repository Sources, but my only options there are various Fedora ones. (Fedora 9 - i386, Updates, etc). 

    According to the Software sources help, "At this time, PackageKit does not offer a way to add new repositories to your system.  It only allows you to enable or disable known repositories".

    Oh well.  No KDE for me.

    image image

    image

    Other than that, Fedora seems quite plain-jane (as I mentioned earlier with the installer).  The simplicity is nice, but nothing really stands out that would make anyone want to switch from Vista (or Ubuntu, or Mac OS X).  I wonder if this is a side effect of the fact that Red Hat is leaving the desktop Linux business.

    One final reminder... to make sure that you do not have to enter the noreplace-paravirt each time you boot up, go edit your /etc/grub.conf file to add that parameter at the end of the line that looks something like kernel /vmlinuz-2.6.25.3-18.fc9.i686 ro root=dev/VolGroup00/LogVol00 rhgb quiet.  If you ever update your kernel, you'll have to do it again.  Oh well... maybe Fedora 10 will fix this issue.  I'll keep my fingers crossed...

  • The Sean Blog

    Linux on Hyper-V

    • 23 Comments

    As you have probably seen on every blog under the sun, Hyper-V has released.

    hero-hyper-v

    Rather than rehash the announcement, I thought I would try something fun.  How hard is it to get various Linux distributions up and running in Hyper-V?

    The official list of supported operating systems on Hyper-V is available here: http://www.microsoft.com/windowsserver2008/en/us/hyperv-supported-guest-os.aspx.  While there are a ton of supported Operating Systems, you will notice only one supported Linux distro:

    Linux Distributions (VMs configured with 1 virtual processor only)
    • SUSE Linux Enterprise Server 10 with Service Pack 2 x86 Edition

    • SUSE Linux Enterprise Server 10 with Service Pack 2 x64 Edition

    • SUSE Linux Enterprise Server 10 with Service Pack 1 x86 Edition

    • SUSE Linux Enterprise Server 10 with Service Pack 1 x64 Edition

    Before we go any further, I want to clarify "supported" (and this is my own paraphrasing, not the Official Microsoft Support Policy).  Supported means that we have thoroughly tested a specific configuration.  If you have a problem, you can call up Microsoft Support, and we will troubleshoot and resolve the problem, and release a fix if necessary.  If the problem is with somewhere in SUSE, we can work with the fine folks at Novell to have a fix released on their end.  In other words, if you are running SUSE Linux Enterprise Server 10 on top of Hyper-V and encounter a problem, between Microsoft and Novell, we will support you. If you are running your company on Hyper-V virtualized instances of BeOS or Ubuntu... you do so at your own risk.  Is it because we hate BeOS or Ubuntu?  Heck No!  It's just that we can't do a whole lot to fix a problem when a linux kernel update breaks compatibility.  Can you imagine the slashdot story if we released updates to the Linux kernel?  Good grief!

    <double-negative alert!>

    Just because something isn't "supported", however, doesn't mean that it won't work.

    </double-negative alert!>

    If you are running servers in a production environment, you want to be in a supported configuration (see above). If you are a an IT-Pro geek that just likes playing with things to see how they work, then you can throw caution to the wind and try things out that haven't been tested :)  With that... let's load a few distros up on Hyper-V!

    (by the way, Hyper-V has a really cool "Capture screen" option that is awesome for taking screenshots :)

    image

    #1 OpenSuse 11

    On Virtual PC 2007, OpenSuse 10.2 installed like a champ.  OpenSUSE 11 was somewhat touch-and-go.  On Hyper-V, OpenSUSE 11 installs and runs like a champ.  The following screenshots are all from the installation:

    image image image

    The only thing that did not work when I hit the desktop was the network adapter.  By default, Hyper-V uses a synthetic network adapter, which requires you load integration components.  From the read-me for the Linux integration components (downloadable from http://connect.microsoft.com):

    When installed into a virtual machine running a supported Linux operating system, the Linux Integration components provide the following functionality:

    · Driver support for synthetic devices: The Linux integration components include support for both the synthetic network controller and synthetic storage controller that have been developed specifically for Hyper-V. These components take advantage of the new high-speed bus, VMBus, which was developed specifically for Hyper-V.

    · Hypercall adapter: The Hypercall adapter is a thin layer of software that sits underneath the Xen-enabled Linux kernel, and translates the Xen-specific virtualization function calls to Microsoft Hyper-V hypercalls. This results in faster performance for the Linux virtual machine.

    · *BETA* Mouse Support: Support for the synthetic mouse device has been added in the form of an early “preview” driver. This new mouse support allows the mouse to move in and out of the window without having to use the CTRL-ALT-LEFTARROW key command to break out.

    · *BETA* Fastpath Boot Support: Support for faster single disk configurations has been added to the RC2 release. Boot devices now take advantage of the storage VSC to provide enhanced performance.

    In other words, it makes everything go faster.  I don't know if these components only work with SUSE Linux Enterprise Server 10, but the read-me does mention that "Integration Components for Red Hat Enterprise Linux 5 will be available in a future update." 

    The install procedure looked too complex for a Saturday evening, so I will give you the workaround that (should) work on all distributions, whether or not integration components are available.  Shut down the VM, go into the properties, and add a legacy network adapter. 

    image

    Once back in the running OS, I had to run the two following commands to get an IP address, and then networking worked fine:

    sudo /sbin/ifconfig eth0 up

    sudo /sbin/dhclient

    The other thing that does not work is sound, but that is because Hyper-V is a server product, and in the datacenter, no-one can hear you beep.  With Windows, you can get sound by RDP-ing into the VM (steps courtesy of James O'Neill here), but beats the heck out of me how you might get it to work on Linux.  Other than that, OpenSUSE 11 works like a champ, with no wrangling needed to get it up and running.

    image

    #2 Ubuntu 8.04 x64

    I've done a ton of installs of Ubuntu (for the last several versions) in Virtual PC 2007 here: http://blogs.technet.com/seanearp/search.aspx?q=ubuntu&p=1.  All have had varying levels of success, and all of them have required a ton of tweaking to get running.  In Hyper-V, install was a snap.  The only snag was the fact that Ubuntu defaulted to a screen resolution of 1600x1200, which was much larger than my physical monitor, so I had to scroll around quite a bit during initial setup.  Once I logged on, I was able to change the resolution through the GUI, and all was well.  As with OpenSUSE, requires the Legacy Network Adapter to be able to browse the Internet.

    image

    #3 Fedora 9 x64

    You can read about my attempts to install various version of Fedora on Virtual PC 2007 here: http://blogs.technet.com/seanearp/search.aspx?q=fedora&p=1.  All of them have required tweaking to get things like the mouse to work or the kernel to boot.  On Hyper-V, Fedora 9 x64 installs (just like OpenSUSE and Ubuntu) with no problems at all.  Like Ubuntu, it defaulted to a strange screen resolution (1152x864), but I was able to change the resolution in the GUI with no problems.  Fedora x64 works just fine on Hyper-V as well!

    Yaaaay.

    image

    I will leave you with a screenshot of the Hyper-V manager showing me running with a mix of 32-bit and 64-bit virtual machines, both Linux and Windows, and all working like a champ.  How's this for the ultimate geek playground?!?!?  I can setup and tear down machines at will, play with them, and practice setting up networks, all on a quite-responsive Hypervisor.  Good times!

    Remember... just because it isn't supported, doesn't mean it won't work. (Just don't call Microsoft looking for support ;)

    image

  • The Sean Blog

    Hyperlinks in Entourage

    • 19 Comments

    entourage I've been playing around with Entourage on my Mac for the last couple of days (in order to access my Email from Exchange while I am out of the office).

    It turns out that there is a curious feature missing from Entourage... You can't highlight a word and then insert a hyperlink. (Don't ask me why, I have no idea ;)

    There are two workarounds that I got from a tester in the MacBU:

    Just type out your hyperlink (e.g. www.apple.com). When you send it, Entourage turns it into a hyperlink.

    If you want to link some text to a website (e.g. here) it’s a bit more difficult. There is no “native” Entourage solution to do that. You can still do it however. You need to boot Word, create your email there, then go File | Send To | mail recipient (as HTML). This will create a email using the word doc, and this email can be as complex as you like (tables, multi-level bulleted lists, linked text, etc).

  • The Sean Blog

    Your client does not support opening this list with Windows Explorer

    • 18 Comments

    Just a quick solution in case you ever get the following message when trying to open a SharePoint Document Library in explorer view from Windows Server 2008

    Your client does not support opening this list with Windows Explorer.

    image

    This is due to the fact that Explorer view uses the WebDav protocol to connect to SharePoint from the client.  As Windows Server is not designed to be a client, the WebDav client is not installed or enabled by default.  

    In order to enable the WebDav client (along with other client features such as Windows Media Player and Desktop Themes) on a server (you’re not doing this on a production server, right?), simply enable the Desktop Experience feature.

    (thanks to Troy on the SharePoint team for this tip!)

    Update: This can also happen if you are using Internet Explorer 6 and the URL to the Document Library is longer than 100 characters (covered in KB 923906), but you're not using IE 6 are you? It's time to upgrade! http://www.microsoft.com/windows/internet-explorer/default.aspx

  • The Sean Blog

    Can't read .chm (Compiled Help) on Vista/XP/2003?

    • 16 Comments

    In my previous post, I mentioned that TechNet Magazine has their past issues available in HTML Help format (.chm) here.  If you navigate to that page (with a fully patched Vista or Windows XP box) and open one of the referenced files from directly within IE, you will get something that looks a bit like the following: "The address is not valid".

    The reason for this problem is addressed in the following KB article: You cannot open HTML Help files from Internet Explorer after you install security update 896358 or Windows Server 2003 Service Pack 1

    SYMPTOMS

    After you install security update 896358 or Microsoft Windows Server 2003 Service Pack 1 (SP1), you may experience one or both of the following symptoms after you click a link to an HTML Help .chm file in Internet Explorer:

    • Topics in the .chm file cannot be viewed when you click Open instead of Save in the File Download dialog box.
    • Topics in the .chm file cannot be viewed when you click Save in the File Download dialog box, and you then try to open the file.

    CAUSE

    Security update 896358 and Windows Server 2003 SP1 include changes to the InfoTech protocol that block the ability to view remote content. These changes were introduced to reduce security vulnerabilities in HTML Help. After you install 896358 or Windows Server 2003 SP1, files in the Temporary Internet Files folder are treated as content from the Internet zone. Therefore, files may be blocked when you click Open in the File Download dialog box. Additionally, after you install 896358 or Windows Server 2003 SP1, Attachment Manager may treat a downloaded .chm file as an untrusted file. Therefore, you may not be able to open the file. These effects are expected and intended effects of installing the security update and of installing Windows Server 2003 SP1.

    RESOLUTION

    Warning If you are prompted to open or to save a .chm file from a Web site, you should do so only if you need the file and if you trust the Web site that is providing the file.

    In the File Download dialog box, click Save, and then choose where you want to save the .chm file. Then, use one of the following methods:

    Method 1

    1. Double-click the .chm file.
    2. In the Open File-Security Warning dialog box, click to clear the Always ask before opening this file check box.
    3. Click Open.

    Method 2

    1. Right-click the CHM file, and then click Properties.
    2. Click Unblock.
    3. Double-click the .chm file to open the file.

    *Note: This problem (and resolution) is also covered in Chris Crowe's Blog.

  • The Sean Blog

    Creating an Image Map in SharePoint Designer 2010

    • 15 Comments

    I’m not sure why this isn’t documented, but thought I’d share the solution in case someone is looking to create an image map with SharePoint Designer 2010.  To set the stage, I’ll borrow shamelessly from the article showing how to do this with FrontPage 2003- Create an image map:

    A picture with one or more clickable areas or hot spots (hot spot: An area on an object containing a hyperlink. An entire object can be a single hot spot, or an object can contain multiple hot spots. A picture with hot spots is called an image map.) is called an image map.

    The automobile image map in the illustration includes three hot spots, each of which links to a separate page that provides more information about that specific feature — windshields, headlights, or wheels and tires.

    image

    In SharePoint Designer 2010, all you need to do is open page and select the picture (that you want to add an image map to).  At the top of the Ribbon, click on Picture Tools –> Format –> Hotspot, and then add in whatever hotspots you want (after adding the hotspot, you will be prompted for the URL you are linking to).

    clip_image002

    Note: This will not work on Publishing Pages, as SharePoint Designer will only let you edit the layout of publishing pages, and not the content.

  • The Sean Blog

    Fedora 7 (Test 4) on Virtual PC 2007

    • 12 Comments

    Two months after my Fedora Core 6 install, I am giving the last test version of Fedora 7 a go.

    "Don't you mean Fedora Core 7?"

    Nope.  The Fedora folks have finally removed the distiction between Fedora Core and Fedora Extras (which I never entirely understood).  That should make it easier to add non-standard packages into the install...

    The first obvious change is the splash screen on the initial boot screen.  I'm not sure what the clouds and balloon represent, but it looks somewhat nice.

    Although I ran into weird graphical problems with Fedora Core 6 (due to the fact that it defaults to 24-bit color, which is not supported by Virtual PC 2007), I had to install in text mode.  Did Fedora 7 improve in this realm?

    Nope... Anaconda starts, detects the correct video card, and then attempts to fire off the X Server.  At that point, HD activity ceases, CD activity ceases, and I am left with a completely black screen.

    <sigh...> That sucks.

    Hitting Ctrl+Alt+F1 drops me to the text mode installer, and I am able to continue installing (in text mode).  I tell you what... I am getting nostalgic for my OpenSuse install.  Graphics worked from beginning to end.  I selected the "Desktop" install, and 794 packages are on their way.  Good thing the Bean Scripting Framework is being installed!  I don't know where I'd be without it ;)

    Rebooting after the install completes, and I am greeted with... you guessed it... more screwed up graphics!  Fedora really is my favorite distro (when running on hardware), but this install experience is pretty frustrating.

    Alright... finished booting and video was still messed up.  I could see in the background that I was supposed to provide some sort of input, but I could not see what.  Hitting "Enter" repeatedly did not get me very far. 

    I left for a while, came back, and could see a login prompt.  I logged in as root, and tried my SED trick to change the xorg.conf file to 16 bit color.  I then typed startx to fire up the X Server, and...

    nothing.

    black screen.

    Looks like something within X11 needs to be fixed before Fedora 7 RTMs.  Right now it is not useable.  Ubuntu had its own blocking bug (an unmoveable mouse) during my install last week.

    <sigh...> Enough experimentation for one night.  Off to bed...  Any recommendations on my next install?  I could go with Gentoo (although that tends to be a multi-hour-experience).  OpenSuse works great, Ubuntu 6 worked with workarounds (but I don't like the UI), Fedora Core 6 works with workarounds...

    I'm ready for my next challenge!

  • The Sean Blog

    Long URL’s in SharePoint 2010

    • 11 Comments

    I had a co-worker recently ask me about some of the incredibly long URL’s now used in SharePoint 2010.  In SharePoint 2007, the URL to a document hosted in a document library looked something like http://sharepoint/sites/teamsite/project%20documents/mydoc.xls. Great for cutting and pasting into an e-mail.  After upgrading the SharePoint 2007 farm to SharePoint 2010, right-clicking on that same document and copying the URL would result in something that looked like

    http://sharepoint/sites/teamsite/_layouts/xlviewer.aspx?id=/sites/teamsite/project%20documents/mydoc.xls&Source=http%3A%2F%2Fsharepoint%2Fsites%2Fteamsite%2Fproject%20documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsharepoint%252Fsites%252Fteamsite%252Fproject%documents%26View%3D%7B391E5EDC%2DAA9C%2D4F64%2D9E8D%2D401965CFC83A%7D&DefaultItemOpen=1

    Not so good for cutting and pasting into an e-mail, right?  Why did the URL length grow so long when referring to the same document for which SharePoint 2007 had such a nice short URL?

    Lake Chargoggagoggmanchauggagoggchaubunagungamaugg by Bree Bailey.
    SharePoint 2010 is not the only place with long names.  Picture by Bree Bailey

    First… the why.  You will see this behavior if you are using Office Web Apps with SharePoint 2010.  That long URL tells SharePoint to open the document in Office Web App, allowing you to read the spreadsheet or word document without downloading it locally and opening it in your local installation of Office.  That’s why the first part of the URL references /_layouts/xlviewer.aspx or /_layouts/PowerPoint.aspx or /_layouts/WordViewer.aspx

    image
    PowerPoint in the browser, courtesy of Office Web Apps

    What if you just want to link directly to the document itself?  Some e-mail programs limit the length of URLs, as do places within SharePoint itself (Document Link content types can only be 260 characters, and links within “Current Navigation” are also limited).  The link to the open-in-web-apps-view is usually too long. 

    Let’s deconstruct the long url:

    http://sharepoint/sites/teamsite/_layouts/xlviewer.aspx?id=/sites/teamsite/project%20documents/mydoc.xls&Source=http%3A%2F%2Fsharepoint%2Fsites%2Fteamsite%2Fproject%20documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsharepoint%252Fsites%252Fteamsite%252Fproject%documents%26View%3D%7B391E5EDC%2DAA9C%2D4F64%2D9E8D%2D401965CFC83A%7D&DefaultItemOpen=1

    • The protocol = http://
    • Server Name: sharepoint
    • The URL to Office Web Apps: /sites/teamsite/layouts/xlviewer.aspx
    • Parameter saying what document to open: ?id=/sites/teamsite/project%documents/mydoc.xls
    • Parameter explaining where SharePoint should go if you close the Web App view (the URL is URL encoded and includes the path and view for the folder storing the document): &Source=http%3A%2F%2Fsharepoint%2Fsites%2Fteamsite%2Fproject%20documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsharepoint%252Fsites%252Fteamsite%252Fproject%documents%26View%3D%7B391E5EDC%2DAA9C%2D4F64%2D9E8D%2D401965CFC83A%7D
    • Parameter specifying to open the item in Web App view (I am guessing on this one… changing =1 to =0 doesn’t seem to do anything): &DefaultItemOpen=1

    Pretty sure your eyes are crossed at this point… this is way more than you wanted to know.  Anyhoo… the point I was trying to make is… out of that ginormous URL, it is relatively easy to extract the path to the document itself.  That source parameter is only necessary for Web Apps, and it takes up a lot of spac.  Just combine the protocol with the server name with the parameter saying where the document is (in our example above, http://sharepoint/sites/teamsite/project%documents/mydoc.xls.   It’s easier done than said Smile

    The other way to change the behavior away from long URLs (and back to the way SharePoint 2007 worked) is to change the default document opening behavior.  You must be a Site Collection Administrator to do so, and simply go to:

    1. Site Settings
    2. Under Site Administration --> Site Library and Lists
    3. Select the list of interest
    4. Under General Settings --> Advanced Settings
    5. Under Opening Documents in the Browser --> chose radio button to Open in the Client Application
    6. OK

    image

    Now you will notice that right-clicking on a document and selecting the URL will leave you with a nice short URL.  Hope this helps someone!

  • The Sean Blog

    SharePoint 2010 – 403 error when updating metadata

    • 11 Comments

    I have spent a month troubleshooting a crazy problem with SharePoint 2010, stumping everyone that worked on it.  The problem was just resolved, and it involves something I’ve never seen before, so I thought I would share so that the solution is out there on the intarwebs :)

    Environment

    I have a large document library, using managed metadata columns and metadata navigation.  I had created some custom term sets at the site collection level, which were consumed by site columns in my document library.  My users were all granted contributor permissions to the library, and could successfully  upload documents into the document library.  

    Symptoms

    Although users could upload to the library, they could not edit the properties of documents they had just uploaded.  When trying to do so, they would receive an IIS 403 (access denied) error as below.  Strange, as they had the right permissions, and this was an IIS 403 error, not a standard SharePoint access denied message.  

    image

    Users would also be able to browse the document library with no problems, but if they tried to navigate via the metadata navigation, they would again receive the 403 access denied error.  Strange… users could see ALL documents, but not a filtered view.

    image

    Everything worked fine for site collection administrators (one of the support folks just suggested that I make all site collection users to be site collection admins, but I did not think that was a very good idea ;)

    Resolution

    The common thread for both of these issues was the managed metadata.  Users did have permissions in the library, and to the managed metadata service.  It turns out that SharePoint 2010 has a hidden list at the site collection level called… appropriately enough, “TaxonomyHiddenList”.  You can access this by going to http://servername/sitecollectionname/Lists/TaxonomyHiddenList/.  As near as I can figure, this list holds all of the taxonomy items at the site collection level.  You can visit and see all sorts of back-end information that probably means something to a programmer, but absolutely nothing to me. 

    image

    In any case… my issued was caused by the fact that this list was not inheriting permissions from the site collection.  Once I changed the permissions for this list to inherit from the site collection, everything started working.  Good times!  Hope this helps someone.

    *Update: I spoke with the developer in charge of this feature (make sure to add the Microsoft Enterprise Content Management (ECM) team blog to your RSS reader BTW).  This list should not inherit permissions from the site collection, but it SHOULD have read permissions for all authenticated users (this permission was missing in my case).

  • The Sean Blog

    Audit your Outlook calendar permissions

    • 11 Comments

    By default, others within your organization can only see whether you are free or busy for a particular timeslot.  In theory, people should check whether you are available before scheduling an appointment with you, although nobody seems to do that for me.  Hooray for double and triple-booking!

    image

    That said, it is possible to let others see more information about your calendar appointments.  This can be useful in allowing a co-worker to see details about your calendar so that they do not schedule over an important meeting with a VIP.  This can also be dangerous in a world where personal appointments often make their way onto the work calendar.  Do you really want your co-workers to see the following appointment?

    image

    I just took a look at who had permissions to my calendar, and it was a wide array of folks that I have worked with over the last 3-4 years, and very few of them have a business need to see the actual contents of my calendar anymore.  So… here are a few places you can check your permissions in Outlook 2010 (the process should be relatively similar in Outlook 2007, but I only run the latest and greatest ;)

    image

    When sharing your calendar, you have the option of choosing how much information is shared with the recipient.

    • Availability Only: Time will be shown as “Free,” “Busy,” “Tentative,” or “Out of Office”
    • Limited Details: Includes the availability and subjects of calendar items
    • Full Details: Includes the availability and full details of calendar items

    image

    Keep in mind that whatever permissions you give will be given until they are revoked (and if you don’t check regularly, people could have permissions for years after you grant them). 

    The Full Details option will allow others to open the appointments on your calendar and see the contents.  This can be dangerous if you attach e-mails about performance reviews, personal medical information, or other sensitive information  to a calendar invite.  It is a best practice to give the minimal permissions needed for your co-workers to do their job.

    The “Publish Online” option allows you to publish your calendar to Office.com, and has similar privacy settings.  I would be very leery of publishing anything other than “Availability only” to the broader internet.  I would also recommend using the “Only invited users can subscribe to this calendar”.

    image

    The final (and important) button on the calendar ribbon is “Calendar Permissions”.  This is where you can check and set permissions that have been granted.  I see that I have changed my default permissions to allow for people to be able to see my meeting subjects and locations, which is probably more information that I really want to share with 90,000 of my closest friends at Microsoft.  I also see that I have 30-40 people with explicit permissions to see my calendar, many of whom are now on other teams or that do not a good reason to be able to see my calendar.  This is where you will want to remove their explicit permissions or give lower permission levels.

    image
    Finally, there may be appointments (such as the aforementioned embarrassing doctor appointment) that you do not want to share with anyone, regardless of their permissions.  You can open any appointment in Outlook, and on the right hand side of the ribbon, there is a small “Private” option.  Click this, and only you will be able to see the appointment.  Everyone else will just see “Private Appointment” on your calendar.

    image

  • The Sean Blog

    How to create a SharePoint 2010 web part page that inherits the site's left navigation

    • 10 Comments

    The subject line says it all… if you create a web part page in SharePoint 2010, by default you will have a page that has the top (global) navigation, but no current navigation on the left.  This may be exactly what you want, as you will have a bit more space to work with.  If you want to show the current navigation on the left hand side of a web part page, here is how to do it:

    image

    1. Go to the page that you want to add the left navigation to
    2. Go to Site Actions – and launch “Edit in SharePoint Designer”.  This will open the site in SharePoint Designer 2010.  You’ll need to navigate to the actual location where the web part page is (usually Site Pages). Open the page you want to edit.
      (standard disclaimer to edit a copy of your fancy web part page that your whole company depends on rather than editing the live original)
    3. Make a copy by right-clicking on the page, choosing copy, and then choosing paste
    4. Right-click on the (copy of) the page you are going to edit to add the left-nav, and choose Edit File in Advanced Mode
      image 
    5. Scroll to (or search for): body s4-leftpanel.  Once you find it, you’ll want to comment out the following code:
         1: <%-- <style type="text/css">
         2:  body #s4-leftpanel {
         3:     display:none;
         4: }
         5: .s4-ca {
         6:     margin-left:0px;
         7: }
         8: </style> --%>

      If you save and preview in browser, you’ll see we’ve made some progress, but we’re not quite there yet:
      image
    6. Scroll to (or search for): PlaceHolderNavSpacer and comment out the following two lines.

       1: <%-- 
       2: <asp:Content ContentPlaceHolderId="PlaceHolderNavSpacer" runat="server"></asp:Content>
       3: <asp:Content ContentPlaceHolderId="PlaceHolderLeftNavBar" runat="server"></asp:Content> 
       4: --%>

    Save the page, preview in browser, and voila! Your current navigation is now on the left.  If you like the changes, rename your copy to the original filename and you are all set to go!

    image

  • The Sean Blog

    Virtual PC 2007 Released!

    • 10 Comments

    Great news!

    Virtual PC 2007 has been finalized and been released to the web for download today.  You can read more about Virtual PC 2007 (and download it), from the new (and great looking!) Virtual PC website: http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx.

    Features of Virtual PC 2007:

    • Support for x64 Windows as a host operating system
    • Support for hardware virtualization support
    • Support for Windows Vista as a guest and host operating system 
    • Support for sound devices within a Windows Vista Guest operating system
    • Support for PXE network booting of virtual machines
    • Support for the use of fullscreen virtual machines on multi-monitor systems (VM still stays on just one monitor though)
    • Free. (Can't beat that!)

    The Technical Overview White Paper is available, (you will need an XPS Viewer) if you want to read more about the inner workings and changes with Virtual PC 2007.

    So can I run Exchange 2007 in a Virtual PC Environment then? Unfortunately, once people see "x64" support in the feature list, they stop reading at that point, and miss the note that x64 versions of Windows are supported as the HOST. Not the guest… There is a 32 bit version of Exchange available for testing purposes, but it is not supported in production. A pre-configured VPC of Exchange 2007 is available here, and it works great within VPC 2007. (You will receive a message that the hardware standard isn't recognized, but it will then boot up and run just fine…)

    Support for 64 bit GUEST operating systems will come with Windows Server Virtualization within 180 days of the release of Longhorn. There are some AWESOME capabilities that will be introduced with WSV and System Center Virtual Machine Manager that should keep our friends at VMWare busy for a while. I'll try to post some more information once I take the time to figure out what is public and what is not ;)

    While you're at it, Virtual PC Images of the following applications are available (perfect for testing them out, working on a certification, or to build another skill set to add to your resume)

    Now, in order to set this post aside from some of the other "Virtual PC 2007 has been released!" postings, I thought I would share some best practices relating to the usage of Virtual PC that I have picked up from doing demos over the last year or so (as well as from an internal demo optimization doc that made its way into my inbox a few months ago):

    1. I'll start with the obvious… the more RAM the better. You need to have enough RAM to run your host operating system, your guest operating system(s), plus an additional 32MB of overhead for each guest OS that you will be running. From my personal experience, 2GB of RAM is a good starting point.
    2. A CLOSE second to RAM is your hard drive configuration. If you are running your Host OS and Virtual machines from the same hard drive, you are in for a painful experience. For good performance you will want to move the .vhd files off to the fastest secondary hard drive possible. For a secondary internal hard drive, SATA or SCSI is ideal, and for an external HD, pick up an eSATA drive. This advice is even more important if your computer is a laptop, as they often have slow 4200 RPM hard drives that will struggle with the concurrent I/O load.
    3. If your Antivirus allows you to exclude files or directories from realtime scans, exclude the directory that holds your images (and/or exclude the following extentions: .vhd .vud .vsv .vfd .vmc)
    4. Keep the host computer hard drives defragmented.
    5. The smaller (or less fragmented) the VHD files the faster. Steps to shrink/defragment:
      1. In the VM run defrag (a couple of times). It might take a while (up to hours) but it is worth waiting for
      2. Run the VM precompactor – this is an ISO image. Just attach it to the VM . The precompactor will zero all the unneeded space in the VHD
        1. Load the 'Virtual Disk Pre-Compactor.iso' from the Virtual Machine Additions Directory
        2. Answer 'Yes' to start the zeroing
        3. Shutdown the VPC when done
        4. Use Virtual PC Disk Wizard to edit and compact the pre-compacted .vhd
    6. Use a processor with Virtualization Technology (Intel Page, AMD Page). This is any reasonably recent processor. This will greatly speed up the OS boot time, OS installation time, and performance in non-Windows operating systems (as well as Windows installations that to not have the Virtual PC Additions loaded). On guest Windows installations that have the Virtual PC Additions loaded, performance is significantly enhanced), which brings us to:
    7. Load the Virtual PC Additions. These are included with Virtual PC, and will need to be loaded in the Guest operating system. This will load up drivers for the virtualized hardware, allow for folder sharing (with the host OS), drag-and-drop functionality (from the host OS), synchronize time with the host OS, and generally turn on "Teh Snappy"
    8. Start up Virtual PC with the following option (Best way is to create a shortcut on your desktop): -usehostdiskcache From the command line reference:

      Turns on host-side disk caching, which can improve performance of virtual machines running operating systems other than Windows. This parameter can be useful for resolving poor performance problems with disk intensive tasks. This parameter can be used only when starting Virtual PC.

    9. Do NOT use the /3GB switch on your Host machine. That switch increases the user memory space at the expense of Kernel space. Virtual machines use more kernel memory than user memory – so enabling this switch on the host will decrease the amount of virtual machines that you can launch
    10. I'll leave you with a tip that would seem to defy logic (and which I have not tried myself), but the word on the street is that you can increase performance by enabling NTFS compression on the directory that holds your Virtual PC image files (.vmc, .vud and .vhd). It seems that writing a big chunk to disk is slower than first compressing the chunk and then write it to disk.

    I'll finish with some links to useful Virtualization reading:

    Virtual PC Guy's WebLog
    Tips to speed up Virtual PC for Microsoft CRM
    Virtual Server Community

    Post any virtualization questions (relating to Microsoft virtualization solutions) in the comments, and I'll answer to the best of my ability! I am really excited about both what we have as well as what is coming, and I'd love to answer any questions in the tech community at large.

  • The Sean Blog

    Virtual Server HTTP 500 Error

    • 10 Comments

    image

    There's probably a KB article about this, but I know the first time I ran into the problem above, it took me forever to find the solution, so I thought I would share it with you.

    If you install Virtual Server 2005 R2 (or SP1), and then Remote-Desktop to the Host Server, and pull up the Virtual Server Administration Website, you may see the error from the picture above;

    HTTP 500 Internal Server Error

    The website cannot display the page

    Most likely causes:
    • The website is under maintenance.
    • The website has a programming error.

    The solution?  When you connect to the remote Host Server, you need to actually connect to the Console session.  You would do this by clicking:

    Start --> Run --> mstsc /console

    After that, everything should work like a champ:

    image

  • The Sean Blog

    Windows Server 2008 - Fine Grained Password Policy Walkthrough

    • 9 Comments

    Back in March, I wrote about one of the important new features in Windows Server 2008, the Fine-grained password policy (also a great post for learning more about passwords in general).  In any case, there has been an increase in available documentation and tools relating to FGPP (I don't know if that's a real acronym, I just wanted to save myself some typing ;)

    Some Microsoft MVPs have also created some nice GUI tools to configure Fine Grained Password Policies:

    As I am busy procrastinating (and avoiding work on a presentation I need to give on Monday), I thought I would walk through the official Microsoft way of creating the password policies.  In case you have installed the Release Candidate of Windows Server 2008 and plan on following along, you will want to make sure that you are running at the 2008 functional level, and that you have the Active Directory Domain Services role loaded.

    Let's go...

    1. Start --> Run --> gpmc.msc
    2. Expand Forest: yourforest.com.
    3. Expand Domains\yourdomain.com.
    4. Right Click Default Domain Policy and Click Edit.
    5. Computer Configuration > Windows Settings > Security Settings > Account Policies > Password Policy.

    Here you can see your default domain-wide password policy.

    image

    Now let's create a custom password policy that can be assigned directly to a user or group.  We're going to be using adsiedit, so prepare to roll your sleeves up!  Close out of all open windows, and:

    1. Start --> Run --> adsiedit.msc

    2. Right-click on ADSIEdit, connect to:

    image

    3. Hit Ok.

    4. Expand to Default Naming content\DC=yourdomain,DC=com\CN=System\CN=Password Settings Container\

    3. Right-Click Password Settings Container and click NewObject.

    image

    4. Select msDS-PasswordSettings, click next.

    5. Value: SeansPasswordSettings, click next. (or whatever you want to name your Password Settings Object (PSO)

    The next set of options are all EXTREMELY cryptic.  I will put a brief explanation next to each, but if you are doing this in real life, you will want to consult the settings reference on step 1 of the Step-by-Step Guide.

    6. Under msDS-PasswordsSettingsPrecedence set the value of 10, click next. (This value needs to be a number larger than zero.  If you have multiple PSOs, the PSO with the lowest priority takes precedence).

    7. Fill in the following attributes for password settings:

    · msDS-PasswordReversibleEncryptionEnabled (self explanatory)
    Value = False

    · msDS-PasswordHistoryLength (Also self explanatory... you can keep up to 1024)
    Value = 15
    (domain default: 24)

    · msDS-PasswordComplexityEnabled (Upper, lower, number, blah blah blah)
    Value = True

    · msDS-MinimumPasswordLength (If only everyone were using pass-phrases instead of passwords)

    Value = 12
    (domain default(chars): 7)

    Now we get into crazy land. MinimumPasswordAge, MaximumPasswordAge, LockoutObservationWindow, and LockoutDuration must all be entered in I8 format.

    To quote from TechNet:

    When you use ADSI Edit to create Password Settings objects (PSOs), enter the values of the four time-related PSO attributes (msDS-MaximumPasswordAge, msDS-MinimumPasswordAge, msDS-LockoutObservationWindow, and msDS-LockoutDuration) in d:hh:mm:ss format.

    When you use the ldifde command to create PSOs, you must enter the values of these attributes in I8 format, which stores time in the intervals of -100 nanoseconds. (Schema: attributeSyntax = 2.5.5.16 (I8).) Windows Server 2003 Default Domain Policy employs this exact time unit for its corresponding time-related attributes. To set these attributes to appropriate values, convert time values in minutes, hours, or days to time values in the intervals of 100 nanoseconds, and then precede the resultant values with a negative sign.

    You can use the following conversion guide and multiplication factors to obtain the corresponding I8 values.

    Time unit

    Multiplication factor

    m minutes

    -60*(10^7) = - 600000000

    h hours

    -60*60* (10^7) = -36000000000

    d days

    -24*60*60*(10^7) = -864000000000

    For example, if you want to set the msDS-MaximumPasswordAge to 10 days, multiply 10 by -864000000000 and apply the resulting I8 value to the msDS-MaximumPasswordAge attribute (in this example, -8640000000000). If you want to set msDS-LockoutDuration to 30 minutes, multiply 30 by -600000000 to get the corresponding I8 value (in this example, -18000000000).

    · msDS-MinimumPasswordAge
    Value = -
    864000000000 (Nine zeroes)
    (domain default: 1 day = -864000000000)

    · msDS-MaximumPasswordAge
    Value = -36288000000000 (Nine zeroes)
    (domain default: 42 days = -36288000000000)

    8. Fill in the following attributes for account lockout settings:

    · msDS-LockoutThreshold

    Value = 0
    (domain default: 0 = don‘t lockout accounts after invalid passwords)

    · msDS-LockoutObservationWindow

    Value = -18000000000 (Nine zeroes)
    (domain default: 6 min = -18000000000)

    · msDS-LockoutDuration

    Value = -18000000000 (Nine zeroes)
    (domain default: 6 min = -18000000000)

    9. Click Finished.

    If you get an error message about improper values, you probably forgot to add a "-" before some of the numbers listed above.  Don't feel bad if you did, I manage to do it every time I run through this :)  If you did everything right, it should look something like this:

    image

    Go ahead and hit "OK" and then close out of all open windows.  Now that you have created a password policy, we need to apply it to a user/group.  In order to do so, you must have "write" permissions on the PSO object.  We're doing this in a lab, so I'm Domain Admin.  Write permissions are not a problem :)

    1. Open Active Directory Users and Computers (Start, point to Administrative Tools, and then click Active Directory Users and Computers).
    2. On the View menu, ensure that Advanced Features is checked.
    3. In the console tree, expand Active Directory Users and Computers\yourdomain\System\Password Settings Container
    4. In the details pane, right-click the PSO, and then click Properties.
    5. Click the Attribute Editor tab.
    6. Select the msDS-PsoAppliesTo attribute, and then click Edit.

    image

    If you do not see msDS-PsoAppliesTo attribute in the Attributes list, click Filter, and then click Show attributes/Optional. Also, clear the Show only attributes that have values check box.

    7. In the Multi-valued String Editor dialog box, enter the Distinguished Name (also known as DN) of the user or the global security group that you want to apply this PSO to, click Add, and then click OK.

    To obtain the full distinguished name of a user or a global security group, in the details pane, right-click the user or the global security group, and then click Properties. On the Attribute Editor tab, view the value of the Distinguished Name attribute in the Attributes list.

    image

    Voila!  Hit "OK" a couple of times, and your users/groups now have a custom password policy assigned to them.  No longer do you have to have separate domains for your developers and standard users.  Good times :)

  • The Sean Blog

    SharePoint Profile Cleanup

    • 9 Comments

    I ended up having to do quite a bit of cleanup on the profiles associated with a team SharePoint server, and learned a bit in the process that doesn’t seem to be on the Internet in one place, so I thought I’d share.

    Note: I will touch on several related areas in this post, so I apologize if I jump all over the place.  All buckled in?  Let’s go!

    Ideally, in SharePoint, you have profiles (and maybe My Sites) for users that actually use the site (or that you want to search).  For the most part, you do not want profiles of users that are disabled in Active Directory, users who have left the company, etc.

    Most of the work that y0u do with profiles as an Administrator is within the SSP, under “User Profiles and My Sites”.

    image

    By default, when setting up Profile Import, SharePoint imports all users from your current domain.  This is fine as a default, but you may end up pulling profiles that are not needed and/or wanted in two cases (off the top of my head):

    1) You have a bunch of user/service accounts that are disabled in Active Directory.

    2) You only want accounts from a particular group or OU to be imported into your SharePoint profiles.

    image

    In either of these cases, you will have to customize the LDAP query that SharePoint does on the backend to pull users out of AD. By default, the query searches for (&(objectCategory=Person)(objectClass=User)).  In other words “Pull all users”. 

    image

    SharePoint does not distinguish whether they are active or not.  KB 827754 gives us the modified query we need to use if only pulling active users:

    (&(objectCategory=person)(objectClass=user)( !(userAccountControl:1.2.840.113556.1.4.803:=2)))

    If you want to import users just from a particular group or OU, the query will look something like:

    (&(objectCategory=Person)(objectClass=User)(memberOf=[distinguished name of the group]))

    Wayne Hall’s post here is the definitive source on how to find the Distinguished Name of the group you are looking for, and how to write the query.  If you want to go completely buck-wild, you can read all about LDAP Search Query Syntax on MSDN.

    All right.  Now if you ran the full profile import before modifying the query, and have a bunch of disabled users in AD, or imported all AD users instead of a specific group, those extra profiles now exist in SharePoint where they are not doing a lot of good.

    How can you delete them?

    The answer is that you have to do a Full (not incremental) profile import.  This does not delete the users, but marks them as “Profiles Missing from Import”.  On the “User Profiles and Properties” page of the SSP, click on “View User Profiles”

    image

    From here, there is a drop down box that lets you choose between “Active Profiles” and “Profiles Missing from Import”

    Don’t laugh at the difference between my Total number of user profiles and Number of active user profiles in the picture below.  Long story, no happy ending ;)

    image

    In any case, if you select “Profiles Missing from Import”, it will show all profiles that exist in SharePoint that did NOT get pulled/updated from AD in your last full crawl.  This could be because someone left the company, or because your modified query now pulls less people.  In any case, once you verify that that user no longer exists (or shouldn’t have a profile on the server), check the box next to their profile/account name and hit delete.  You can also wait for SharePoint to run three full (not incremental) imports, after which it will delete the profiles on its own. *Update: Although this is how it worked in SPS 2003, it is not how it works in MOSS 2007.  It is actually the “My Site Cleanup Job” that does the dirty work.  Gyorgy covers how this works here: http://blogs.msdn.com/b/gyorgyh/archive/2009/11/13/how-it-works-moss-2007-automatic-user-profile-removal.aspx

    A few other considerations to be aware of…  If the user is no longer with the company, but somebody explicitly assigned them permissions to a site, list, or library… they will continue to have permissions if they ever come back (This is an issue at Microsoft as vendors may do work for one team and then come back some months later to do work for another team using the same AD account).  Removing explicit permissions is a manual process (and is the reason why explicit user permissions should be the exception and not the rule).  Use (and do not break) permission inheritance where ever possible.  I usually put Active Directory groups within SharePoint groups, and assign SharePoint permissions to SharePoint groups.  That way, if any given person joins or leaves the company, I assign/remove them from the appropriate AD group and their permissions accordingly come or go in SharePoint.

    The other consideration is My Sites.  How do you delete My Sites that belong to people that left the company?  Once SharePoint no longer has a profile for a user with a My Site (see above), it will (by default) send an e-mail to that user’s Manager (assuming their profile has a manager listed) saying:

    The My Site of Joe Blow is scheduled for deletion. As their manager you are now the temporary owner of their site. This temporary ownership gives you access to the site to copy any business-related information you might need. To access the site use this URL:  http://servername/mysite/personal/joeblow

    The manager is then added as the secondary site collection administrator for the user’s My Site, and any important documents can be copied off before the My Site is deleted.  The wording of the e-mail itself is hardcoded and the wording cannot be changed.  As well, this My Site cleanup is NOT part of or related to the “Site Use confirmation and deletion” feature of SharePoint.  It takes place as part of the “My Site Cleanup Job” which runs hourly (you can find it under Central Administration –> Operations –> Timer Job Definitions).  There were some problems with this job in RTM, but they were fixed in SP1 (in case you are still running RTM and old My Sites are still hanging around). (update to the paragraph above… commenter Chris reminded me that I was not quite right about the My Site deletion.  While the e-mail itself is not related to the “Site Use confirmation and deletion” feature, sites are not actually deleted unless that feature is turned on.  The e-mail to the manager is telling a fib.  If the “Site Use confirmation and deletion” feature is enabled, the site is deleted due to the fact that the user never confirms the e-mail checking to see if they are still using the site; not due to the My Site Cleanup Job itself.  I also came across another great resource on My Sites and disabled/deleted users from Phil Wicklund that is well worth reading: http://philwicklund.com/whitepapers/Documents/My%20Site%20Concerning%20Scenarios%20Study%20and%20Strategy.pdf)

    I hope the information above helps someone if they ever end up trying to figure out how to clear out 75,000 profiles from a SharePoint server that is only used by a few hundred people :) (yes, I think I am the very definition of an edge case)

    -Sean

  • The Sean Blog

    Slipstreaming SP2 into SharePoint Server 2007

    • 9 Comments

    If you are performing a greenfield or clean install of SharePoint, it is a good idea to install the latest version (which as of today would be Service Pack 2 with the April Cumulative Update).  The latest install media for SharePoint, however, only has SP1 integrated, so today I will show you how to slipstream the latest updates into your install media.

    To get started, you will need a copy of the SharePoint 2007 install media, the SP2 installers for both Windows SharePoint Services and Office SharePoint Server, and the latest Cumulative Updates for both WSS and MOSS.  You can download them all here:

    Edit: October cumulative updates have been released.  Follow the same steps, but use the two following CU files instead of those released for April:

    First, create a folder that will hold the slipstreamed installer.  In my case I’ll call it c:\SP2Slipstream.

    Next, extract the install media into that folder as follows:

    OfficeServer.exe /extract:c:\SP2Slipstream (there are no spaces after the /extract switch).  You will end up with the folder structure below. 

    The Updates folder is where we are going to extract all up the SP2 and Cumulative Update files, and setup.exe will be smart enough to integrate the updates at install time.

    image

    Next, extract the four update files as follows:

    image

    wssv3sp2-kb953338-x64-fullfile-en-us.exe /extract:c:\sp2slipstream\updates

    officeserver2007sp2-kb953334-x64-fullfile-en-us.exe /extract:c:\sp2slipstream\updates

    wss-kb968850-fullfile-x64-glb.exe /extract:c:\sp2slipstream\updates

    office-kb968851-fullfile-x64-glb.exe /extract:c:\sp2slipstream\updates

    When you are done, the Updates folder will be full of msp files. 

    image

    One last step before you burn the SP2Slipstream folder to a CD… Delete Wsssetup.dll from the updates folder because it conflicts with Svrsetup.dll. Having both Wsssetup.dll and Svrsetup.dll in the updates folder for a slipstreamed installation source is not supported.

    Burn your SP2Slipstream folder to a CD and you are all set to go!

    *Update: I had someone ask me if the above steps will work if you are starting out with SP1 Media instead of RTM, and the answer is yes.  I just like using the RTM Media as it starts out with a clean Updates folder instead of being full of SP1 updates that are superseded in SP2.

  • The Sean Blog

    Ten Themes for SharePoint

    • 8 Comments

    If you want SharePoint to, well, not look like SharePoint… we just released 10 themes that look awesome!

    Download them here.

    They are packaged as SharePoint Solutions so you don’t have to do the messy work of going to all of your front end web servers and horking around with your C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES folder. Seriously… install them as solutions. It will save you from breaking something.

    The themes are sample code. To use them you need to have:

    Learn SharePoint Development here:

    http://MSSharePointDeveloper.com

     Construction_Preview Contoso_Preview Corporate_Preview Events_Preview OARP_Preview Procurement_Preview Publishing_Preview sporting_Preview Start-Up_Preview Team_Preview

  • The Sean Blog

    Top Microsoft Blogs

    • 8 Comments

    In case you are interested… I was initially just going to show the top 10, but then you would have missed some of my favorites like Keith Combs, Virtual PC Guy, or the Mac Mojo Blog! So, without further ado, I give you the top 25 blogs on TechNet and MSDN J

    TechNet

    MSDN

    http://blogs.technet.com/markrussinovich

    http://blogs.msdn.com/ie

    http://blogs.technet.com/homeserver

    http://blogs.msdn.com/saraford

    http://blogs.technet.com/msrc

    http://blogs.msdn.com/livesearch

    http://blogs.technet.com/koalra

    http://blogs.msdn.com/excel

    http://blogs.technet.com/technetplussubscriptions

    http://blogs.msdn.com/outlook

    http://blogs.technet.com/sysinternals

    http://blogs.msdn.com/oldnewthing

    http://blogs.technet.com/windowsserver

    http://blogs.msdn.com/access

    http://blogs.technet.com/sbs

    http://blogs.msdn.com/jensenh

    http://blogs.technet.com/wsus

    http://blogs.msdn.com/chris_pratley

    http://blogs.technet.com/eileen_brown

    http://blogs.msdn.com/sharepoint

    http://blogs.technet.com/keithcombs

    http://blogs.msdn.com/powershell

    http://blogs.technet.com/technetczsk

    http://blogs.msdn.com/somasegar

    http://blogs.technet.com/virtualization

    http://blogs.msdn.com/inside_office_online

    http://blogs.technet.com/dmelanchthon

    http://blogs.msdn.com/joe_friend

    http://blogs.technet.com/askperf

    http://blogs.msdn.com/windowsmobile

    http://blogs.technet.com/steriley

    http://blogs.msdn.com/macmojo

    http://blogs.technet.com/momteam

    http://blogs.msdn.com/rmauceri

    http://blogs.technet.com/security

    http://blogs.msdn.com/brada

    http://blogs.technet.com/jhoward

    http://blogs.msdn.com/tims

    http://blogs.technet.com/kevinremde

    http://blogs.msdn.com/coding4fun

    http://blogs.technet.com/steve_lamb

    http://blogs.msdn.com/brian_jones

    http://blogs.technet.com/mu

    http://blogs.msdn.com/virtual_pc_guy

    http://blogs.technet.com/matthewms

    http://blogs.msdn.com/larryosterman

    http://blogs.technet.com/uc

    http://blogs.msdn.com/ericlippert

    http://blogs.technet.com/kclemson

    http://blogs.msdn.com/michael_howard

  • The Sean Blog

    Ubuntu 7.10 (Gutsy Gibbon) in Virtual PC

    • 7 Comments

    A new release of Ubuntu has just come out, so let's put it through the paces in Virtual PC 2007!

    image

    First of all, the old install problems (chronicled here) still exist.  The Ubuntu installer boots up into 24-bit color, which is not supported by Virtual PC.  If you start with the Start Ubuntu in safe graphics mode option, you will be able to see the installer screen just fine (with some ginormous icons), but unfortunately, the mouse is not recognized at all.  I really had hoped this would be fixed!

    image

    That's fine... Mike has the fix here: http://blogs.msdn.com/mikekol/archive/2007/08/06/making-ubuntu-7-04-work-under-virtual-pc-2007.aspx

    • On the Ubuntu boot menu, select Start or install Ubuntu and hit F6.  Add i8042.noloop to the end of the line, and press Enter.  This will make the mouse work in recent versions of the kernel. 

    image 

    Once Ubuntu finishes booting, the graphics will be... completely screwed up. 

    • Hit CTRL-ALT-F1 to drop to a console. 
    • Type in the following command to reset defaultdepth from 24 to 16:
    • sudo sed -e 's/DefaultDepth.*24/DefaultDepth 16/g' -i /etc/X11/xorg.conf
    • Press Ctrl-Alt-F7 to return to the Ubunto Desktop.
    • Press Ctrl-Alt-Backspace to reload the Ubunto Desktop.
    • Graphics should be adjusted, and now you can perform an installation under VPC.

    image

    • Run the installation like you normally would.  When installation is complete, Ubuntu will boot, and the video should be correct (it was for me - if it's not, repeat the step listed above), but the mouse won't work.  To fix the mouse in a more permanent manner, we'll need to add a kernel parameter to the GRUB loader.  Here's how:
      • Boot into Ubuntu on the hard drive.
      • Hit CTRL-ALT-F1 to drop to a console and log in.
      • Type sudo nano /boot/grub/menu.lst.
      • Press CTRL W and type end default options, then press Enter.
      • The first entry in the list below is the entry containing the information to boot Ubuntu in regular mode.  Find the line that starts with kernel and go all the way to the end of it.  At the end, type i8042.noloop, press CTRL O, and press Enter to save.
      • At this point, you can do the same with the other entries, like the recovery mode one if you care enough to bother.  If not, just hit CTRL X to exit nano.
      • Type sudo reboot to reboot the VM. 
      • The next time you boot into XWindows, your mouse should work without issue.  (You should also note that if you happen to upgrade your kernel version, you'll need to make this change *again*.)

    After doing the above, Ubuntu is actually quite usable!  Out of the box, it is has OpenOffice, GIMP, a PDF Reader, and some games.  What more could you need?

    I noticed that Thunderbird is not included, in favor of the Evolution Mail client.  Normally, I prefer Thunderbird, but my work email lives on Exchange, and Thunderbird only works with POP/IMAP.  I was pleasantly surprised, then, to see that "Microsoft Exchange" was listed as a server type.  I entered my username and the Outlook Web Access (OWA) URL, and hit Authenticate.  After typing in my password, I hit "ok", and Evolution disappeared.  I've tried twice with the same result... must be a bug.  Oh well.

    image

    Strangely enough, Thunderbird is not even available under "Add/Remove Applications".  That having been said, "Add/Remove Applications" is REALLY slick.  It is an installer for various packages that live on the internet.  The UI is very intuitive and well laid out.  I wouldn't mind having an equivalent to this program in either Vista or OS X.

    image

    I spent some time in GIMP, which works fine, although I was somewhat overwhelmed by the options.  Maybe it would make more sense after spending a few hours with Gimp for Dummies ;)  In the meanwhile, I MUCH prefer Paint.Net, the best free photo editor out there.

    image

    I also tried the new Desktop Search feature (which you bring up by clicking the icon in the menubar that looks like a magnifying glass with an arrow coming out of it.  The search results are more focused towards finding web results (which are at the top) than programs or files on the local computer.  I happen to prefer the Vista search results in this regards, as Vista Search is the quickest way to launch a program via the keyboard. 

    I also happen to notice that the Linux distribution of "Freedom" and "Choice" does not have Live.com as a search provider.  Too bad... with the recent refresh, I actually prefer live.com to Google or Yahoo...

    You have several options you can setup regarding indexing speed, ignored files, etc...

    image

    There is also an RDP client included out of the box, which would be great for connecting to my Windows Home Server box.  For some reason, just like Evolution, when I hit the "connect" button, the Terminal Server Client just disappeared.  Weird!

    image

    All-in-all, this is quite a solid release.  OpenOffice works just fine, although it is not in the same league as Office 2007.  Much nicer/snappier/usable than Google Docs though... some things work well in AJAX, and other things do not.  Office applications are much more usable as fat clients.  Add in the ability to save to "the cloud" and have versioning/collaboration, and you have a killer combo.  We'll see who gets that out the door first.  But I diverge... this is the first version of Ubuntu that I find to be quite usable.  As I am running in a Virtual PC image, I can't try out Compiz, but I hear good things.  I also have Kubuntu downloading right now (Ubuntu with KDE), and we'll see if there are any changes in that version worth talking about.  It happens to weigh in at 4.3 GB (compared to Ubuntu's 712MB), so we'll find out what KDE does with that extra 3.5 Gigabytes of space.  :)

  • The Sean Blog

    Content Query Web Part on SharePoint 2010 supports multi-value lookup fields

    • 7 Comments
    That is probably the geekiest blog title I have ever written.  Sorry.  This is just a very cool change between 2007 and 2010 that will probably never make it to a marketing slide, but which solves a frustration that I experienced with 2007.

    Why is this important?  Let me walk you through an applied example.  Out of the box on SharePoint 2007, Blogs allow for only a single category.  This, of course, sucks.  If I write a post about installing SharePoint 2010 on Windows 7, I would like to categorize it as “SharePoint 2010” and “Windows 7”.  The workaround is simple and documented (in a video no less) by Lawrence Liu (who has since moved on to Telligent) here: Configuring SharePoint to allow multiple categories per blog post.

    This works great, but let’s say that the Sales, Legal, and Marketing teams at Contoso have all established blogs (with multiple categories) on their own web sites, and we would now like to aggregate some of their posts (any posts with a category of Foo) on the front page of our Intranet portal.  To do so, we add a Content Query Web Part to the front page, set the scope to our site collection, and filter to show items when Category is equal to Foo.

    image

    While this works fine with blogs that only allow a single category, here’s what we get if the Marketing blog has a category of “Foo” and “Bar”.

    image

    Frustrating.  Waldek Mastykarz (a SharePoint Server MVP out of the Netherlands) has some workarounds to this problem that include custom multi lookup fields or custom XSLT functions.

    Enter… SharePoint 2010.  First of all, right out of the box you can add multiple categories to a post.  The UI below is what you get when creating a post through the web interface, but I still prefer using Windows Live Writer.

    image

    What does this do to content queries? Let’s add a content query web part to our front page.

    image

    As with 2007, set our source scope to the site collection, with a list type of “Posts”.

    image

    We’ll filter to only show blog posts where the category is equal to foo (as before), and we’ll also filter out those “Welcome to your Blog!” posts that nobody remembers to delete.

    image

    Voila!  The content query (which is being run against a multi-value lookup field) successfully completes.  Sweet!

    image

    * Disclaimer: SharePoint 2010 is in beta.  I’m not on the product team, and for all I know this capability may or may not make it to RTM. This functionality qualifies for Jeff Atwood’s “works on my machine” certification.

    *Update: I spoke with a Dev on the SharePoint team, and this will only work in narrow circumstances.  The CQWP in SharePoint 2010 will support querying multi-value lookup fields against a single list, or single-value fields in multiple lists, but not both at the same time.  It appears that the Category field used by blogs may be an exception to this rule.

    image

  • The Sean Blog

    Installing SQL Server 2005 on Windows Server 2008

    • 7 Comments

    I am in the process of installing SQL Server 2005 on a new Windows 2008 Server, and ran into the following warning about missing some required components of IIS:

    - IIS Feature Requirement (Warning)
    Messages
    IIS Feature Requirement
    Microsoft Internet Information Services (IIS) is either not installed or is disabled. IIS is required by some SQL Server features.  Without IIS, some SQL Server features will not be available for installation. To install all SQL Server features, install IIS from Add or Remove Programs in Control Panel or enable the IIS service through the Control Panel if it is already installed, and then run SQL Server Setup again. For a list of features that depend on IIS, see Features Supported by Editions of SQL Server in Books Online.

    image

    image

    Fortunately, I was able to find the solution here: http://support.microsoft.com/kb/920201

    The solution is simply to enable the following role services of IIS 7 (right click on Web Server (IIS) in Server Manager, and choose Add Role Services).  Then add the role services from the following table:

    Component Folder
    Static Content Common HTTP Features
    Default Document Common HTTP Features
    HTTP Redirection Common HTTP Features
    Directory Browsing Common HTTP Features
    ASP.Net Application Development
    ISAPI Extension Application Development
    ISAPI Filters Application Development
    Windows Authentication Security
    IIS Metabase Management Tools
    IIS 6 WMI Management Tools

    image

    Problem solved!

    image

     

  • The Sean Blog

    Installing OpenSUSE 11 in Virtual PC

    • 7 Comments

    It's that time again!  Wife's away, and I'm installing Linux distros for fun.  :)  Feel free to click on any of the images below to see them at full size.

    image

    Our friends at Novell recently released the second beta of OpenSuse 11 (although all the screenshots in this post are from Beta 1.  It took forever to download, and I am not going to re-download for a beta rev :)  As the installer reminds us, this is a beta.  Expect no support!

    image

    You can see what has changed since 10.3 here, although the highlights are:

    • Linux 2.6.25, AppArmor 2.3, Xen 3.2.1 RC1
    • Alsa 1.0.16
    • glibc 2.8 branch
    • binutils 2.18.50 SVN
    • gcc 4.3 branch
    • gdb 6.8
    • Perl 5.10
    • ConsoleKit 0.2.10
    • CUPS 1.3.7
    • D-Bus 1.2.1
    • NetworkManager 0.7 SVN
    • PackageKit 0.2.0
    • PolicyKit 0.7
    • PulseAudio 0.9.10
    • Samba 3.2pre2
    • X.org 7.3
    • themed installation
    • rpm payload switch to lzma (results in smaller rpm packages)
    • DVD uses images for installation (speed-up)
    • new installation work flow
    • libzypp uses a new much faster solver
    • German language support on CD media
    • Sax2 and YaST Qt frontend are ported to Qt4

    The themed installation is quite pretty, and you can't go wrong with Qt.  Suse is also the only distro I have found that JUST WORKS with Virtual PC.  No funky kernel arguments needed for the mouse to work and the graphics to display properly.  They are also not shy about using color in their installer.  Kudos!

    image

    For your desktop, OpenSUSE gives you the choice of GNOME, KDE 3 or 4, or XFCE (along with the naked look, if that is your ball of wax).  I have always been partial to KDE, and version 4 adds some neat new features (it has also been ported to QT, uses less memory, and is faster)

    image

    Flash, Java, and Acrobat are installed by default, which should probably help with the girlfriend Linux acceptance factor when Youtube comes into the equation.

    image

    I wonder where they got the icon for their music package installation screen?  It looks remarkably similar to the much-better-looking iTunes logo... 

    itunes-button-logo-300x300

    I'm just saying...

    After finishing the install, I ended up with a strange kernel initialization error of some sort.  Urrrggghhh.  I downloaded the CD (rather than the DVD) of beta 2 (as it did not require BitTorrent).  The rest of the screenshots are from the beta 2 CD.  Even after installing, the Desktop looks very similar to the LiveCD, which may be a side-effect of installing from the CD instead of the DVD.  In any case, KDE4 has some new widget thing.  I did not like widgets from Konfabulator, I did not like them from Apple, I did not like them in Vista, and I do not like them in OpenSuse.  The stupid fade effect in the "Add Widget" dialogue box is particularly egregious.  Bleh!

    image

    Shortly after closing the widgets, I got to see OpenSUSE's crash handling system.  I have to admit, I like the one in Vista much more.  It is less obtrusive, and keeps a log of old problems, so that if a fix is ever found in the future, you are notified.  As far as I can tell, this crash handler does not even have a "Send to KDE" button that will submit the dump to KDE. 

    image

    In a BIG UI step-up from other distributions such as Ubuntu, OpenSUSE labels its applications in plain English ("Web Browser", "Word Processor", etc).  In the land of Linux, where there are 59 versions of any given program (all cleverly named something like KMusiOggGimperor), your standard end-user has NO CLUE what the program does.  Awesome job here!

    image

    OpenOffice is pretty much the same as it ever was... a clone of Office XP.  I understand that Open Office.org 3 will solve cancer, cure world hunger, and make you sandwiches when you are hungry, but the version included with OpenSUSE 11 is pretty blah.

    image

    The music player (Amarok) shows the reason that Linux is not yet ready for my wife... how the heck should she know whether her music files are kept in /bin /etc /sbin or /mnt... 

    image

    The UI once you have finished the First-Run Wizard is not much better.  It looks like it has a ton of bells and whistles, but does not hold a candle to iTunes or Zune in terms of UI.

    image

    All-in all, a fairly good experience.  It is clearly a beta product, and many of the errors that I experienced should be fixed once the final version is released. The fact that I can install OpenSUSE without any tweaking of kernel parameters is always a good thing.  There are some great features (as mentioned above) that make OpenSUSE usable for newbies, but has some features such as Amarok that would drive anyone mad.  I look forward to revisiting this distro once it finally releases in June.

    Currently Listening to: Hide and Seek by Imogen Heap

  • The Sean Blog

    70-177: Microsoft Project Server 2010, Configuring Exam Released

    • 7 Comments

    clip_image002Available Today! (Friday June 18th)

    Exam 70-177:
    Microsoft Project Server 2010, Configuring

    Test centers can be found here http://www.prometric.com/Microsoft/default.htm

    The test has been launched in English,  and will now be localized into French, German, Japanese, Brazilian Portuguese Simplified Chinese, Spanish, Korean, Polish, Russian and Turkish 

    If you are a Microsoft Partner, you who will need this certification for the new Microsoft Project & Portfolio Management competency.

    I’m taking the test on Monday… wish me luck!

Page 1 of 20 (484 items) 12345»