• Adelaide Windows User Group - PowerShell 301

    Some more PowerShell from me, this time at this week’s meeting of the Adelaide Windows User Group:

    If you’re not automating repetitive tasks with PowerShell, you’re probably doing it wrong! In this presentation, after a quick language recap, we’ll look at a number of best practices that will make your scripts even better. We’ll look at tips for reliability, ease of use and making your scripts work just like the built-in cmdlets. To top things off, we’ll also give a brief overview of PowerShell 4.0’s new Desired State Configuration feature.

    Yes, it’s similar to the talk I did at the .NET Group last month, but instead of covering hosting PowerShell in your own app, we’ll spend a bit more time looking at DSC.

    The group meets this Tuesday August 5th 2014 12-1pm at Microsoft Adelaide, Level 12, Aurora Building, 147 Pirie Street, Adelaide.

    RSVP to Pete at [email protected] if you plan on coming. It would be great to see you there!

  • Disabling NO_CI using 2013 build process templates

    Like Philipp, I just noticed that the new simplified 2013 build templates still don’t provide an obvious way to prevent a gated check-in build from appending “**NO_CI**” to the check-in comment, preventing subsequent continuous integration or rolling builds from running.

    I had a look around and discovered that rather than the old SyncWorkspace activity, the new TfGetSources activity looks like the right place to go to:


    I was slightly confused, as reviewing the current class documentation doesn’t list the property. And it turns out that indeed for TFS 2013 RTM, this property didn’t exist (I found this out the hard way – a workflow that references that property will fail when run on such an environment).

    Comparing the two C:\Program Files\Microsoft Team Foundation Server 12.0\Tools\Microsoft.TeamFoundation.Build.Activities.dll files (from two different machines) in Reflector reveals the following:

    2013 RTM (File version 12.0.21005.1) image

    2013 Update 2 (File version 12.0.30324.0) image

    A useful change introduced in Update 2.

  • Dell XPS 1645, Windows 8.1 and Bluetooth

    My trusty Dell laptop is still going strong 4 years on. It’s showing signs of being well used - the screen is a bit scratched in places, most of the rubber feet have fallen off and the battery doesn’t last as long as it used to, but it does the job.

    Until recently I hadn’t really needed to use any Bluetooth devices, and it was then that I realised that Bluetooth had somehow disappeared. The Bluetooth status light on the front of the case would blink briefly when booting up but then stay off, and there was no Bluetooth icon in the Windows system tray. I’m sure these used to be there originally! A bit of Googling revealed that it was probably upgrading to Windows 8/8.1 that would have disabled it, due to out-dated/incompatible drivers.

    I downloaded the latest Dell Wireless 370 Bluetooth Minicard Application, but after it self-extracted, the installer was prevented from running by the Windows Program Compatibility Assistant. Sometimes you get the option to proceed with caution, but in this case not.. Or so it seemed.

    Window Program Compatibility Assistant warning dialog

    Next, I wondered if I could get newer drivers directly from Broadcom? Well yes you can – from http://www.broadcom.com/support/bluetooth/update.php, but after downloading and running the app it wanted to see the existing Bluetooth device (as it presumably then goes and downloads specific drivers for your devices). But that’s the problem, I can’t get the device working in the first place!

    I came across this post - http://www.wiknix.com/solved-bluetooth-device-not-working-in-windows-8/ which at first glance looked like one of those annoying content aggregation sites, but in this case either the site is legitimate, or at least the instructions were valid. To repeat the relevant steps here:

    1. Go to C:\dell\drivers\R226750\R226750\Win64
    2. Run BtwMM.exe
    3. Run Inst.exe

    This time, the drivers installed and bingo, I had Bluetooth devices appearing!

    Figuring there’s probably a good reason that Windows wasn’t keen on these older drivers, I then re-tried the Broadcom Software Update application.

    Broadcom Bluetooth Software Download application screenshot

    This time, it detected the existing Bluetooth devices and so could proceed to download and update the drivers to newer versions (that apparently do properly support Windows 8/8.1).

    Rebooting, I noticed that now just a ‘generic’ Bluetooth device was listed in Device Manager. Right-clicking on this and choosing Update Driver Software, it then updated the driver back to the Dell Wireless 370 Bluetooth Mini-card (version

    Device Manager now looks like this (yes, my laptop is named ‘Clarabel’ 😀)

    Windows Device Manager, showing Bluetooth devices

    And there’s the Bluetooth icon in the system tray again:

    Windows System Tray showing Bluetooth icon

    We’re good to go!