James O'Neill's blog

Windows Platform, Virtualization and PowerShell with a little Photography for good measure.
Posts
  • James O'Neill's blog

    Live Migration in Hyper-V R2

    • 0 Comments

    There are videos on-line already showing Live-Migration in action and I’m working on one to show how it its set up. In the mean time if you have the beta of server 2008 R2 there is a good guide on TechNet on how to set it up for yourself.

    Of course I particularly like the fact that you can set up a cluster, with one line of PowerShell, And add a clustered VM with a second, and live migrate it with a third.  With clustering in Hyper-V server R2, and PowerShell in it, and in the Core installations of Windows Server AND the remote support in PowerShell V2 I like the direction things are moving in.

  • James O'Neill's blog

    Checking and enabling Remote Desktop with PowerShell

    • 6 Comments

    A couple of posts back I mentioned that I was working on a configuration library for Server 2008 R2 Core and Hyper-V Server R2 and this includes checking and setting the configuration for remote desktop.

    It turns out that this is controlled from just 2 registry entries – hence it is controlled by the SCRegEdit script. One turns is fDenyTSConnections under  'HKLM:\System\CurrentControlSet\Control\Terminal Server' and the other is UserAuthentication  under 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp. So if the Values exist they appear as Item property in PowerShell and can be set, otherwise it can be created. I’ve found the safest way is to try to set  the value and trap the error which occurs if it doesn’t exist then create it specifying that it is a DWORD. So my function enables RemoteDesktop UNLESS –Disable is specified , and -lowSecurity is a boolean which tells it whether to demand user stronger authentication.

     

    Function Set-RemoteDesktopConfig 
    
    {Param ([switch]$LowSecurity, [switch]$disable) if ($Disable) {
    set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'`
    -name "fDenyTSConnections" -Value 1 -erroraction silentlycontinue if (-not $?) {new-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
    -name "fDenyTSConnections" -Value 1 -PropertyType dword }
           set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' `
    -name "UserAuthentication" -Value 1 -erroraction silentlycontinue
          if (-not $?) {new-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'
    -name "UserAuthentication" -Value 1 -PropertyType dword}
    }
    else {
    set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
    -name "fDenyTSConnections" -Value 0 -erroraction silentlycontinue
            if (-not $?) {new-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
    -name "fDenyTSConnections" -Value 0 -PropertyType dword }
           if ($LowSecurity) {
    set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'`
    -name "UserAuthentication" -Value 0 -erroraction silentlycontinue
            if (-not $?) {new-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'`
    -name "UserAuthentication" -Value 0 -PropertyType dword}
    }
         } 
    
    }

    Finding out what the settings are is even easier.

    Function Get-RemoteDesktopConfig
    {if ((Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server').fDenyTSConnections -eq 1)
    
              {"Connections not allowed"}
    elseif ((Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp').UserAuthentication -eq 1)
             {"Only Secure Connections allowed"}
    else {"All Connections allowed"}
    }

    The next part of the configurator to share will be for checking and setting firewall rules.

  • James O'Neill's blog

    On Geekdom, Windows Live, Twitter and Stephen Fry. Just another weekend post.

    • 5 Comments

    First , a geeky joke which my wife told me after hearing it on BBC Radio 2.

    “I bought a book called 1001 things to do with binary. But when I got it home it only had nine in it”.

    While we’re with all things Geeky, I always thought that proper developers, guys like Mike Ormond, looked down on PowerShell, so it was a pleasant surprise to see he’s blogging about his experiences with it – starting with some stuff I did , he’s using it to link his blog with twitter.
    Staying with twitter – we’re experimenting with projecting interesting stuff from it on the wall in the office. Something I saw on there made me go an have a look at something Long Zheng wrote about Windows 7 (I hope we make changing UAC levels generate a UAC prompt before release). The next post down Long’s blog is about using RSS to populate the pictures on the Windows 7 desk top… that might make another post here when I’ve played a little more, but that post took me one of Jamie Thomson’s , which introduced me to a Windows Live service I was previously aware of named frameIt. Frame it doesn’t store your pictures but it rounds up the stuff you want as a single RSS feed and pushes them down to digital picture frames – or anything else which takes pictures as RSS attachments – like the Windows 7 desktop. I think the digital frame is a great way to share pictures with distant parts of the family and combining a service like frameit with Wireless-equipped frame takes some of the friction out of the process.

    Since I mentioned Windows Live: I’m a bit hacked off with it on a couple of counts. First (and staying with photos), I used to have a couple of Albums in a live space, I didn’t want people to have to sign in to see them . I also have my Skydrive presentations folder linked to on the side of this blog. One system for a work persona and the other for a non-work persona, but recently the folks at live decided to put my spaces folders within 1 click of my presentations folder. I need to use different accounts (or services) to keep a gap between them. So I dumped my photo galleries from live spaces. Secondly Skydrive has recently acquired the most annoying and intrusive advertising; I have talked about this whole “Aspergers-Like” issue I have with flash-based Look-at-me Look-at-me animations on web pages: I just can’t focus on the rest of the page with that going on. On Friday, Live was trying to sell me some diet product or other with “before” and “after” shots of a woman in her underwear. I don’t have a problem with pictures of women in their underwear per-se , indeed I think Horst’s Mainbocher Corset is as good a piece of art photography as I’ve seen. These, by contrast, are artless. I don’t want to explain why there is a partially dressed person on my screen at work but it’s the constant hopping from one picture to the other which is the real nuisance.  I’m actually a bit ashamed that Microsoft run such ads on our sites. Normally IE7 pro filters out this kind of junk, but Live uses a twisted combination of files which defeats the filter. IE 8 helped me find the .JS file which perpetrates this ad-crime, and I put that site on “Restricted” (i.e. run no scripts) list. Sorted.

    This inability to shut out noise is one of the things which has kept me off Twitter (that and  “how can you develop an idea in 140 characters ?”). I’ve never quite got past Stephen Fry’s initial impression of it as “the weirdest and naffest idea I’d ever come across”. As he puts it “A lot of that is pretty banal and commonplace it’s easy to mock”. Indeed. But Eileen and others have been telling me that with some of the twitter clients out there now, and using some of the methods people have for working with it I might be able to cope, so I might experiment with it in the near future. (I might have a use for that PowerShell script of Mike’s)  Hang it all, Fry has interesting ideas to develop, and yet finds a use for something where you have to live in 140 characters, and copes with having a follower population the size of a decent town (On Thursday he said on his blog that he had 80,000 of them, today his twitter page reports over 94,000) so there’s no way he is reading every last “banal and commonplace” thought they have. 

    Stephen Fry’s explanation of his conversion to twitter is more interesting than most reasons given for people use it; and he was talking about it on Jonathan Ross’s TV show recently and apparently Tweeting during it. ( Ross is another user by the way) Fry described the first show of Ross’s new series as his return form the “naughty step”. Ross is supposedly the highest paid personality on British TV, and his suspension following the phone calls he made on BBC Radio 2 must make those some of the most expensive calls in history.

    Talking of Radio 2 ….that’s where we came in.

  • James O'Neill's blog

    A couple more neat things in Windows 7 – printing and the task bar.

    • 2 Comments

    A while back I wrote about exhibiting Aspergers type behaviours and as well as hating background noise this also manifests itself in a powerful dislike of things bouncing round on the screen. Putting “Flash” into the search box on this blog will show you how I feel about web sites where the designers just can’t let things BE STILL

    Of course it isn’t just web designers…. lots of things want to put something on your Windows System tray, and none of those wants to be still either. Our OEMs have a lot to answer for in this regard – and since the US courts clamped down on us telling them they must install this and must not install that, we can’t stop them. Toshiba loaned us a Machine recently and I couldn’t believe the pile of stuff that was on it; Ebay and Amazon sidebar gadgets , there were 16 Icons on the desktop and the tray looked like this

    image

    And that’s a NEW PC, it probably explains a good number of the Vista horror stories. Sometimes it feels like you’re in a battle of wits with the developer to remove these things – Apple now allow you to turn off the tray icon . 

    Windows 7 has the ability to say “Hide these things from the tray” or “Only display them when they pop up a notification.”. That’s better already.  

     

    image

    When I printed something this morning up came the pop-up to say my document printed I wanted it killed off at source, rather than suppressed so off I went to the printers folder where a new item “default printers” caught my eye.

    Oh, now that’s neat: when I’m on my home network make my home printer my default, and when I’m at work make the office printer the default.  Perhaps I should explain here for those who haven’t worked  with Vista, that it understands that different networks are … different. Oh that we could make everything network location aware. IE could use different proxy settings, Outlook could switch to RPC over HTTP when it wasn’t on the office network and so on. One step at a time I guess). Now to investigate whether I can get different site/subnet configurations to be different networks ….

    Before I leave the task bar as a topic here’s one more thing that isn’t life changing but shows how 7 just has this drip, drip, drip of improvements.

    image

    Here’s my task bar from a few minutes ago. Notice how the background for the IE icon is green. The green spreads like a progress bar while a download is in progress. So I can tell the large download (whose progress Window is hidden underneath something) has completed. This idea of finding stuff which has vanished beneath your other windows is one the 7 team seem to have taken to heart.

  • James O'Neill's blog

    Managing Windows Update with PowerShell

    • 9 Comments

    I mentioned some of the server management and config tools I’ve been creating with Server 2008 R2 core in mind, and I’m going to put the major bits here. I’ll post the whole script at the end of the set of posts but for now here is the code to look after Windows update

    First I created two hash tables to map the numbers used in the functions to some meaningful text

    $AutoUpdateNotificationLevels= @{0="Not configured"; 1="Disabled" ; 2="Notify before download"; 
    3="Notify before installation"; 4="Scheduled installation"}
    $AutoUpdateDays=@{0="Every Day"; 1="Every Sunday"; 2="Every Monday"; 3="Every Tuesday"; 4="Every Wednesday";
    5="Every Thursday"; 6="Every Friday"; 7="EverySaturday"}

    Next, there is a COM object for everything relating to auto-update. It has a settings property which contains the notification level and update days, the hour at which updates are fetched and how recommended updates are processed.  Setting the properties is pretty easy, and there is is a save method to commit them  - I’ve been lazy here and haven’t got a hash table mapping names to numbers for the notification level so or multiple switches so the user would need to know that notification levels in the hash table (or enter  $AutoUpdateNotificationLevels at the prompt to see what is in the table) – I might fix that for the final script.

     Function Set-WindowsUpdateConfig
    
    {Param ($NotificationLevel , $Day, $hour, $IncludeRecommended)
    $AUSettings = (New-Object -com "Microsoft.Update.AutoUpdate").Settings
    if ($NotificationLevel)  {$AUSettings.NotificationLevel        =$NotificationLevel}
    if ($Day)                {$AUSettings.ScheduledInstallationDay =$Day}
    if ($hour)               {$AUSettings.ScheduledInstallationTime=$hour}
    if ($IncludeRecommended) {$AUSettings.IncludeRecommendedUpdates=$IncludeRecommended}
    $AUSettings.Save
    }

    To show what the settings are, I decode them and return a custom object with the decoded properties.

    Function Get-WindowsUpdateConfig
    
    {$AUSettings = (New-Object -com "Microsoft.Update.AutoUpdate").Settings
    $AUObj = New-Object -TypeName System.Object
     Add-Member -inputObject $AuObj -MemberType NoteProperty -Name "NotificationLevel"   `
        -Value $AutoUpdateNotificationLevels[$AUSettings.NotificationLevel]
    Add-Member -inputObject $AuObj -MemberType NoteProperty -Name "UpdateDays"      `
           -Value $AutoUpdateDays[$AUSettings.ScheduledInstallationDay]
    Add-Member -inputObject $AuObj -MemberType NoteProperty -Name "UpdateHour"        `
       -Value $AUSettings.ScheduledInstallationTime Add-Member -inputObject $AuObj -MemberType NoteProperty -Name "Recommended updates" `
    -Value $(IF ($AUSettings.IncludeRecommendedUpdates) {"Included."}  else {"Excluded."}) $AuObj
    } 

    Checking on MSDN I found there is another object used in a script WUA_SearchDownloadInstall , which does what it says – it searches Windows update for updates, downloads them and installs them I added the logic to my function to over-ride the selection criteria, and auto-Restart if a restart is needed. Since it is sometimes useful to patch Virtual Machines, then shut them down, then Patch the host and then reboot it and bring the VMs back again , I’ve also put in a shutdown after Update switch.

    The logic is simple enough, create a Session object which has CreateSearcher, CreateDownloader and CreateInstaller Methods. Then create a searcher and use it to get updates matching the default or specified criteria. If there are any updates, create a downloader object, hand it the list of updates found by the searcher and start a download. If the download completes successfully, filter out the successfully downloaded items, and pass those into a newly created installer object. Run the installation process and afterwards output a table showing the state of the updates. Finally reboot if needed.

    Function Add-WindowsUpdate
    
    {param ($Criteria="IsInstalled=0 and Type='Software'" , [switch]$AutoRestart, [Switch]$ShutdownAfterUpdate)
    $resultcode= @{0="Not Started"; 1="In Progress"; 2="Succeeded"; 3="Succeeded With Errors"; 4="Failed" ; 5="Aborted" }
    $updateSession = new-object -com "Microsoft.Update.Session"
    write-progress -Activity "Updating" -Status "Checking available updates" 
    $updates=$updateSession.CreateupdateSearcher().Search($criteria).Updates
    if ($Updates.Count -eq 0)  { "There are no applicable updates."}  
    else {
           $downloader = $updateSession.CreateUpdateDownloader()
           $downloader.Updates = $Updates 
            write-progress -Activity 'Updating' -Status "Downloading $($downloader.Updates.count) updates" 
           $Result= $downloader.Download() 
           if (($Result.Hresult -eq 0) –and (($result.resultCode –eq 2) -or ($result.resultCode –eq 3)) ) {
    
           $updatesToInstall = New-object -com "Microsoft.Update.UpdateColl"
           $Updates | where {$_.isdownloaded} | foreach-Object {$updatesToInstall.Add($_) | out-null }
           $installer = $updateSession.CreateUpdateInstaller()
           $installer.Updates = $updatesToInstall
           write-progress -Activity 'Updating' -Status "Installing $($Installer.Updates.count) updates'
            $installationResult = $installer.Install()
            $Global:counter=-1
            $installer.updates | Format-Table -autosize -property Title,EulaAccepted,@{label='Result';
                                   expression={$ResultCode[$installationResult.GetUpdateResult($Global:Counter++).resultCode ] }}
           if ($autoRestart -and $installationResult.rebootRequired) { shutdown.exe /t 0 /r }
           if ($ShutdownAfterUpdate) {shutdown.exe /t 0 /s }
    }
    } }

    So now I can run
    Add-WindowsUpdate –Auto to download updates and reboot if needed,
    Set-WindowsUpdateConfig –n 4 –i to schedule updates (Including the merely recommended)  and
    Get-WindowsUpdateConfig

    So next up it’s Get-RemoteDesktopConfig and Set-RemoteDesktopConfig.

  • James O'Neill's blog

    PowerShell and the smarter command line.

    • 0 Comments

    I mentioned I was doing some PowerShell work to manage configuration on the R2 versions of Windows Server 2008 Core and Hyper-V server (which now support PowerShell), and somebody in Redmond asked me if I knew  there were tools out there to do this job. …

    I was thinking about how we find stuff, and I was something I wrote about Taxonomy came to mind.

    Store data in the data, not in the field name. Do not create a long list of properties with yes/no answers. Not only is this awkward for users, but the sequence “Relates to product A, Relates to product B” stores Yes and No as the data. A multi select box “Relates to products...” stores the information where you can search it.  (This was dealing with document properties in the first release of Sharepoint Portal Server.) 

    What has this got to with command lines ? It’s about thinking where the meaning is. I would say that it is true and self evident that the commands we enter should reflect the task being carried out. But (pre-PowerShell at least) it doesn’t happen. For example: suppose you want to configure Automatic Updates on Server 2008. If you run the full version of Server, the option is on the front page of Server Manager. But if, instead, you run the Core version, then what do you type at the command prompt ?  (HELP won’t give you the command). You can trawl through all the .EXEs .BATs, .CMDs, VBSs, .WSFs and so on but you won’t find anything with a name like AUCONFIG. If you’re lucky you’ve got the core guide from the Windows Server 2008 step-by-step Guides page. That will tell you that you need to run

    cscript scregedit.wsf /AU 4

    The part which identifies the task (set updates to automatic) isn’t the script name (SC Reg Edit) but the switches /AU and 4 if the task was to set updates to disabled the switches would be /AU and 1. Traditional command line tools have a name which reflect what they ARE –the Server Core Registry Editor ScRegEdit in this case. These tools are overloaded carrying out different tasks based on their switches ( if you want a worse case, look at the Network Settings Shell – NetSh).

    At the command prompt there is no way to discover the tasks you can carry out and their Command+Switch or Command+Switch+Value combinations ; you have to resort to product documentation, training or a helpful expert who already knows that /AC tells SCRegEdit you want to Allow Connections (via terminal services) but /AU sets Auto Updates (where else does 1 mean disabled ? ).  By contrast PowerShell would have multiple commands for the different tasks – with names which reflect what they DO “Get-UpdateConfig” , “Set-UpdateConfig”, “Get-RemoteDesktopConfig” , “Set-RemoteConfig”. The commands are easily discoverable: and having found you have Set-UpdateConfig the tab key helps you to discover switches like –Disabled –InstallConfirmation –DownloadConfirmation and -Automatic  instead of 1,2,3 and 4 used by ScRegEdit /au

    It’s easy to see how the command line tools that we have grew up: and SC Reg Edit edits the registry on Server Core (hence the name) /AU sets the registry entries for auto Update and so on. But understanding it doesn’t remove the desire for PowerShell naming and discoverability. V2 introduces ReName-Computer and Add-Computer – (if you ask Add Computer to what the help will tell you it is a to a domain or workgroup). These tasks were previously done by the NetDom program, with its switches My aim is to add  commands like Get-UpdateConfig” , “Set-UpdateConfig”, “Get-RemoteDesktopConfig” , “Set-RemoteConfig”  “Get-IPConfig” and “Set-IPconfig” (and a few more) at their simplest these can be wrappers for SCRegEdit , Netdom, NetSh, Net, and the others, but the ideal is to go straight to management objects instead.

    So next I’ll look at a couple of the simpler ones.

  • James O'Neill's blog

    Camera-phones One Note and OCR.

    • 0 Comments

    Everyone uses different bits of office. There’s a core piece that everyone uses and then we all have our personal 10%. I like the OCR feature of One-Note. For example on the way to the BETT show a few days back I saw an advert on the tube that’s a grander variation on “How do you pronounce Ghoti ?” *

    If GH can stand for P in Hiccough
    If OUGH can stand for 0 in Dough
    If PHTH can stand for T in Phthisis
    If EIGH can stand for A in Neighbour
    If TTE can stand for T in Gazette
    It EAU can stand for 0 in Plateau
    Then the way you spell POTATO is...

    GHOUGHPHTHEIGHTTEEAU

    Isn’t it?

    Only The Times brings you the UK’s first national spelling championship for schools.
    Join in at
    Timesonline.co.uk/spellingbee

    I just grabbed a snap with my phone (the handles for standing passengers make a great camera rest to keep shake down) and when I hooked up to my PC  I dropped the picture into OneNote: One notes does OCR on pictures offers a “copy text” menu option when you right click them. I’m finding myself using this more and more, even for slides with a variety of cameras and even screen grabs of on-line presentations. I’ve noticed than some phones now do recognition of input from business cards via their phones. I wonder how long it will be before the whole thing can be done in the phone without needing the PC to do the OCR part.

     

    * Ghoti is pronounced “Fish” , Gh as in enough, o as in women , and ti as in station

  • James O'Neill's blog

    New build of my PowerShell library for Hyper-V on codeplex

    • 0 Comments

    Some naked statistics

    1942 – the number of lines of code in HyperV.PS1

    499 – the number of lines of formatting XML

    14,381 – the number of words in the documentation file

    2443 - the number of downloads of the last version

    929 – the number of downloads for the versions before that

    1.00 – the version number of the Library now on codeplex.

     

    I’m calling this “released”. I daresay I will need to come back and do a service pack later, and the documentation must be regarded as “preliminary” but it’s done.

     

    Update. A new stat. 200 - the number of downloads so far. Crumbs, that's only a day and half.

  • James O'Neill's blog

    PowerShell 2, Server Core R2 and Hyper-V server R2

    • 2 Comments

    With all the betas out at the moment I’ve been trying to get up to speed on both Windows 7 (by using it) and Windows Server 2008 R2 , and Hyper-V server R2 as well.

    If you’re a regular reader you won’t be surprised to know that I’m excited by what’s coming in PowerShell. PowerShell V2 is better in a lot of regards,although I’m not getting the best out of it yet. Quite aside from the graphical editor, the additional cmdlets, and the restored ability of Windows to drag and drop a file into a command window. It’s got better tab expansion. PowerShell has its own function you can customize for tab expansion, and there are two improvements in V2. The first is that tab expansion finds functions you have written as well as built in cmdlets. Much typing and confusion saved there… but something I only noticed today is that it expands parameters: can’t remember if you named a parameter “-Path” or “-VHDPath” just type the – sign and hit [Tab] and it cycles through the list. It sounds like a feeble reason to upgrade but trips back to a script file to find a parameter add up to a fair old chunk of time saved.

    The other thing which is big news is the ability to run PowerShell on Core and on Hyper-V server. Unlike the full servers PowerShell is not installed by default (I’ve no idea why it is on one and not the other). Of course you shouldn’t be going the console of a Core / Hyper-V server box to do admin. But the ability to “remote” PowerShell  is a biggy. If PowerShell is installed AND remote management via WinRM is enabled then you can run any PowerShell command on a box in your data centre from your desktop machine. Of course from my point of view the this is a great push for my PowerShell library for Hyper-V on Codeplex – incidentally an update has been waiting for me to put the finishing touches to it since before Christmas and should appear shortly.

    I’ve been looking at the Hyper-V configurator from R2

    ===============================================================================
                                Hyper-V Configuration
    
    ===============================================================================

     

    1) Domain/Workgroup:                    Workgroup:  WORKGROUP
    2) Computer Name:                       WIN-75FRHHINP4U
    3) Network Settings
    4) Add Local Administrator

    5) Windows Update Settings:             Manual 6) Download and Install Updates 7) Remote Desktop:                      Enabled (all clients) 8) Failover Clustering Role             Enabled 9) Configure Remote Management

    10) Regional and Language Options
    11) Date and Time

    12) Do not display this menu at login
    13) Log Off User
    
    14) Restart Server
    15) Shut Down Server
    16) Exit to Command Line

    Some of the things it does are native PowerShell commands, for example V2 has commands for renaming a server, adding it to a domain, rebooting it and shutting it down

    Rename-Computer –New “Core-27” 

     

    Add-Computer –DomainName “Contoso” –Reboot

    Stop-Computer

    Restart-Computer

    Are all pretty easy to understand - Not many people I meet can give me the command lines for NetDom and Shutdown to do the same things. Three more commands cover the regional/language and Date/Time options and logging off

    control.exe "intl.cpl"
    
    control.exe "timedate.cpl"

     

    Logoff.exe

    So what about the other options. Remote Desktop,  Networking, Cluster installation, Windows Update (settings and download) , Adding local Admins and configuring Remote Management ? If NetDom and ShutDown aren’t easy to remember, NetSH, ScReg, WinRm and the others are worse. Well I’ve been coding them up, and a couple of hundred lines thrown together over the weekend do what it took a coupe of thousand lines of VBscript to do. That’s not entirely a fair comparison because the VB Scripts which come with the OS are designed to be portable across languages, provide help and catch errors way beyond what I do in PowerShell.

    I’ll break that code into a bunch of easy to digest posts over the next few days.

  • James O'Neill's blog

    End of availability for the Windows 7 Beta

    • 0 Comments

     Over on Windows 7 Team Blog, Brandon has a post explaining that we are coming to the end of the availability period for the beta.

    Originally we said it would be available until at least this weekend, but downloads are going to continue into February – in case of a last minute rush we’re making sure that anyone who starts a download which fails, will be able to resume it for 48 hours after the cut off. If you’re a technet or MSDN subscriber, in which case it will still be on the download site; if not and you haven’t got a copy you have until Feb 10th to start your download.

    For now I’m assuming the same applies to the server products.

  • James O'Neill's blog

    A Windows 7 Evening with Mark Russinovich

    • 2 Comments

    I’ve mentioned Tom Lehrer before and one of his albums is entitled “An evening wasted with Tom Lehrer” which is often how I think of my own presentations. I got a mail about an evening event (7PM UK time) which is happening in February, given it is Mark Russinovich presnting it should be anything but wasted , despite the rather Buzz Lightyear title of  Windows 7: To the Beta and Beyond

    It’s presented as part of the “Virtual Roundtable” in our Springboard Series

    Date: Thursday, February 12th

    Time: 11:00am Pacific Time , 7:00PM GMT

    https://ms.istreamplanet.com/springboard

    Here’s the blurb about it

    Join Mark Russinovich and a panel of subject matter experts for a live discussion of what's in store for IT pros with Windows® 7. Learn about the evolution of features like Group Policy, BitLocker™ To Go, DirectAccess, BranchCache™, and Software Restriction then get tips on troubleshooting, deployment, and application compatibility. Bring your questions—Mark and the panel will answer as many as they can during the hour-long event, then publish the rest in a Q&A after the event.

    Find answers to your Windows client OS deployment and management questions with resources, tools, monthly feature articles, and guidance from subject matter experts and early adopters. To learn more, visit www.microsoft.com/springboard.

    As part of the “virtual” experience, you may submit your questions about Windows 7 Beta to the panel live during the event—or submit questions in advance to vrtable@microsoft.com.

  • James O'Neill's blog

    A new bit of Windows 7 (for me)

    • 0 Comments

    Someone sent me a couple of good links about new bits Tim Sneath's bumper list of Windows 7 Secrets, and Brandon's list of Hotkeys. Both are worth a look. If [Window] [+] and [Window][-] zoom in Server 2008 R2 it’s going to help demos enormously.

    On the subject of demos, I’m presenting tomorrow, and in a hotel overnight. The hotel charges £10 for internet access and there is a McDonalds across the Car park where internet is free. I got a message while I was at the check in, and needed to attend to it and decided to grab a coffee and a bite and use their internet, which is provided by “The Cloud” I noticed recently that Pret a Manger* are also providing free internet and I’d rather be there but hey … It turns out they also use the cloud.

    So what’s the new thing in 7 ?  Well not only is it fewer clicks to connect to wireless (it’s all off the tray Icon) but if you’ve ever used a service like this you’ll know that you have to logon – even to the free service. So you play the game of “will outlook / communicator etc connect or do I have to go to IE” I always have a blank home page in IE, and it’s usually running when I logon so the instructions to “open your browser” which most places give wake up my inner pedant.
    Windows 7 takes the guess work out of it.

    image

     

    * Really I noticed. I took a photo of it !

    image

  • James O'Neill's blog

    Songsmith again.

    • 0 Comments

    Amazing how a Picture goes around , I found it on Eileen’s blog she found it on Jon’s blog

    Doing tech-desk duty at the BETT show last week I had the pleasure of directing questions on Songsmith to Eileen (I’ve got it but haven’t sorted out an activation key so I’m holding off installing it) and I noticed following the Aston link to Jon, I noticed he’s got a post on it too.  “Classic hits by Microsoft Songsmith” is a great search term to put into You tube. Jon linked to Roxanne which has me helpless with laughter. This remix of Wonderwall is impressive. Enjoy them while you can… (A quick search for Isolate voice track got me to the starting point for doing these – there goes more time). 

    Technorati Tags:
  • James O'Neill's blog

    Progress or Luddism … why Windows 7 isn’t an F1 car

    • 2 Comments

    Jason Perlow at ZD Net thinks I called him a luddite. Actually I said one of his colleagues barely stopped short of using the L word.

    image

     Jason complained that “The “Run” option is no longer directly accessible from the Start Menu as a default behavior, you have to get to it via a Search. Once you get to Run via Search, you can click on it to execute any commands you like, such as the CMD.EXE prompt,”

    As you can see in the picture on the left, Jason hasn’t quite got his facts right. You can add the Run option on the Windows 7 menu in same way that you add it under Vista. Why he wouldn’t just press [Window] R for the run menu or type CMD in the search box is beyond me, but I guess it’s an example of what an old friend of mine calls WIKIWIL – What I Know Is What I Like. 

     In his latest post Jason takes issue with the new fluent tool bars from Office 2007. I go back to Aldus PageMaker on Windows 1, and Excel 2 on Windows 2.03 (Excel 1 was a Mac only product); we’re talking 20 years ago, 640x350 was high resolution, VGA at 640x480 a pipe-dream. Every pixel was sacred. 20 years later, nobody has to live in 480 lines: if we don’t need to be so mean with screen space, so why are we using something which  was designed for CGA ? Applications are more complex, tool bars go everywhere: options are buried off a button on the 12th tab of a 24 tab dialog box (they seemed so clever at the time) which you can only get to via a sub, sub menu item; and 90% of feature requests are for things which are already in the product. The products have outNone of which is to say everyone takes to the new task bars like a duck takes to water; far from it. I am more productive now with it, the first day was horrible, then second better by the end of a week it was OK. Two weeks and I was getting back the time I’d lost at the start.

    But then Jason goes on to say he uses Office 2007 partly because he is “starting to get more and more documents from people that have been saved in that format”. It’s as if he doesn’t know that a  compatibility pack to allow Office XP and 2003 to open the new formats has been around as long as the new release.

    But one comment of his rattled round in my head. “I’m a heavy Word, Excel and PowerPoint 2003 user, and I know them quite well, like a Indy-car or Formula 1 race car driver knows where everything is by instinct and reflex because his life depends on it”

    Well sure, it’s great to think of yourself as the Lewis Hamilton of Powerpoint. But here are my top 5  reasons why Windows and Office shouldn’t be like an F1 car.

    * It takes years of work to get a seat in a F1

    * You can’t get your  F1 car started without a team of people to help

    * At any given time only 20 or so people get to drive one

    * Of those 19 out 20 don’t get the results they want

    * Even the people who produce them say they are too expensive

     

    I want an OS to be more like a road car. Massa doesn’t have to worry about someone stealing his new Ferrari , but I want central locking for my car. Does any one really need air conditioning (in the UK at least): of course not, but I doubt if I’ll ever have another car without. If you can’t drive at a constant speed or get into a parking space you shouldn’t be on the road. I still want cruise control and parking sensors. The list goes on.

    I like it that my car the radio now tells me the programme that is on as well as the station, a car without that would seem crude – cars make information easily available – navigation, traffic, state of the windscreen washer

    image

    If you look closely at the picture above you’ll see Windows media player has an arrowhead next to it . It’s a “Jump list”. A jump list can be recent files, IE navigation history or in the case of Media center, what it just recorded. So instead of opening Media center navigating to recorded TV and then to my programme, it’s right there. And if I don’t want it to vanish I can pin it to the list to play for evermore

    Like the radio info in the car this isn’t a make or break thing, but it’s an example of a general class of improvements which give 7 that bit more polish.

  • James O'Neill's blog

    Fun and games with VHD files in the new OSes

    • 2 Comments

    image One of the new features for both Windows Server 2008 R2 and the Windows 7 client is support for Virtual Hard Disk files built into the OS. You can create fixed or dynamic disks and “attach” the tools for Hyper-V call this “mounting” a VHD and early stuff on 7 seems to  have called it surfacing a VHD . You need to click the image on the left to see it full size but  Disk 3 has a different coloured disk icon, and it contains the full image backup of my Vista hard disk.

    Disk part will do the job too. 

    Create VDISK will setup a new VHD (Help Create Vdisk will tell you the parameters)

    Select VDISK "<file name">” followed by “Attach” Vdisk  will bring a disk on-line.

    Then you can partition it like any other disk, use it like any other disk and so on.

     

    Now … during installation you can press [Shift][F10] to pop up a command prompt, and if the installation runs on the 6.1 build of Windows PE what do you think you might be able to do  ?

Page 1 of 2 (25 items) 12

January, 2009