I'm on my third week of vaccation now and the sun shines almost every day, the ocean is fantastic. I have a quota of time everyday (assigned by Wife 1.0)  for the computer, even have a sunshade for my laptop. Just wanted to remind you abou the upcomming Microsoft Camp 2010 in Stockholm and the MCT Summit 2010 in York and also to bring some attention to my last pet/hobby project: Android. I have now published a beta for my Operator Check application, check it out in the menu.. Hope to see you all soon and don't forget to go out in the sun!

Posted by Daniel | with no comments

I have already posted about the MCT Live Summit in York this year and the fantastic line-up of sessions, speakers and community. Well soon the early bird discount will be to a end so don't delay your registration! My fellow co-organizer Andrew Bettany is fighting the good fight and promoting the event in TechEd North-America currently under way in New Orleans. Here is a video of Joey, Andrew, Tjeerd and Andy telling you why YOU should attend - from the floor of TechEd NA 2010.

View the video at YouTube and then Register at http://www.mctsummit.eu

Posted by Daniel | with no comments
Filed under: ,
This application is still only availiable in beta: there is still known issues, all features may not be enabled and so on. If you are used to work with unstable programs then please download and help with testing. If you would rather have a fully functional...
Posted by Daniel | with no comments
Have you ever needed to run a command as a different user? Perhaps they should run a command in a user context they normally cannot? Usually used for quick fixes you could create a simple script using some vb-script and expose the password or use a runas...
Posted by Daniel | with no comments
Filed under:

I will present a whole day session about SharePoint 2010 for IT-pro in Stockholm at Microsoft Sommarkollo.

The session will be in swedish and here is the swedish description SharePoint 2010 - kickstart för it-Pro: Vi tittar närmre SharePoint 2010 och de nya funktionerna som finns för it-proffs. Följ med förbi listor och libraries, in i central admin och den nya mer skalbara och feltoleranta arkitekturen, bakom kulisserna där vi som it-proffs jobbar. Tips & trix i PowerShell och automatisering, samt hur vi egentligen bör uppdatera vår befintliga miljö.

Registration and info about sommarkollo: http://www.microsoft.com/sverige/sommarkollo/default.html

Posted by Daniel | with no comments

MCTs and Educators from everywhere will gather in York, UK, this August for the MCT Live Summit 2010. This is a project arranged together with Myself, Andrew Bettany, MCT Europe and Microsoft Learning and lot's of sponsors. I'm really excited, the sessions have now been selected and the programme have been published, we are really excited about the selection which have been voted forward with the help of hundreds of MCTs from all over the world!! Ps. I will present some really new and exciting sessions about the IPv6 courses and about MDT/WDS and classroom installs!

Please visit http://www.mctsummit.eu and register now! Se you in york!

Posted by Daniel | with no comments

Have you ever needed to run a command as a different user? Perhaps they should run a command in a user context they normally cannot? Usually used for quick fixes you could create a simple script using some vb-script and expose the password or use a runas command in a batch file? But you don't want the user to have the password, right? Well the answer is a quick utility I coded up using .net 2.0:

Userexec.exe is a command line program that basically works just as runas except: it can accept passwords on the command line, and it can accept a encrypted command line. The encryption is a basic quick one but should keep average Joe from getting your password. This is NOT a best practice and probably there is a better way of solving the problem.. but anyways find it attached to my post.

            UserExec by Daniel Sörlöv, daniel@sorlov.com, all rights reserved 2010.
            
            USEREXEC USAGE:
            
            USEREXEC /u:<username> /p:<password> /c:<command> 
                    [ /l | /h | /m | /x | /a:<arguments> ]
            
            USEREXEC /e:<string-to-encrypt>

               /l   Causes the users profile to be loaded
               /h   Hides the requested application
               /m   Runs the command minimized
               /s Specifies the path on which to start
               /x   Use encrypted command line
            
            Examples:
            > userexec /l /u:mydomain\administrator /p:mypass /c:"cmd.exe"
            > userexec /e:<string to encrypt>
            > userexec /h /u:mydomain\administrator /p:mypass /c:"cmd.exe" /a:"/c auto.bat"

Use it if you need it, send me reports if something fails and perhaps I will fix it. The tools is without guarantee and without support but could be quite usefull. Download here

Posted by Daniel | with no comments
Filed under: ,

I bought a Android phone (HTC Desire) a couple of weeks ago and I have never been so happy with a phone ever. Extensible etc. One thing I wanted is to check which operator a contact has so it will be simple determine how much it will cost to call them.. there was no such application so I started to write one inspired by the application KtoryOperator already on the Android Market. After a couple of days, writing, adapting and changing it's ready. So if you have a swedish phone number in your contacts and wish to look it up just download the "Vilken Operator?" software from Android Market and you can check your phone book.. comments are appreciated and also bug reports (this is my first ever java-project).. send them by email!

Posted by Daniel | with no comments
Filed under: ,

This year there is many hot topics at TechEd North America and here is my sessions for all you fans out there.. =)

"We Come in Peace, or IPv6 Does Not Bite " Tuesday, June 8, 8:00AM, Room 353

"IPv6: Time to Wake Up!" Tuesday, June 8, 1:30PM, Room 354

"How do you build or strengthen local developer and IT Pro communities?" Wednesday June 9, 5:00PM, Room 355

Posted by Daniel | with no comments
Filed under:

Spam. We all get it in bundles, again and again, over and over.. I decided to just do some math (yes I was really bored during a chick-flick my wife "convinced" me to see)

During March the following have happened to me according to spammers:

72 relatives whom I never knew have died, leaving me about $452,000,000 USD
16 Nigerian bank executives contacted me with over $30,000,000,000 USD in unclaimed money
502 letters about cheaper Viagra
64 mails from my "bank" about my password and credit card needing changing
22 mails from "face book" about my account being deleted
47 policy changes on my mail server requiring me to download a new settings.exe file

...and all I had to do was to pay some taxes or give them my credit card number.. lucky me.. soon a millionarie..
This was just a short note about nothing but pure frustration.. =)

Live long and prosper.

Posted by Daniel | with no comments
Filed under: , ,

Not all to seldom situations arise where you have a application where the installer just won't do as you want it to Often this is true when it comes to automation, and that makes us script and do other stuff to install simple programs in very "engineered" ways.. However there are tools to "re-package" applications, one of those are Advanced Installer. What basically is the difference to other re-packaging solutions are price. The software does not have  a nightmare price-tag as many others do and still boosts all the features others do!

Anyways; I will just walk you trough creating a MSI installer for 7-Zip. I know there already are a MSI for that but nothing is like home-made.. ;P
I love to use this tool to re-package HP-drivers for instance which are deployed as EXE and not easy to manage MSI-packages.

Get Advanced Installer (including Advanced Repackager) demo at http://www.advancedinstaller.com/download.html

Step 1. Start Advanced Repackager.
The applications runs as Administrator.
Make sure you already downloaded the EXE installer.

Step 2 Locate the package and give it some parameters.
Command line can be used to silence the install for instance. In my case repackaging 7zip
I have selected not do anything specific (yes, 7-zip already exists as a MSI but I just took a
exe installer laying around)..

Step 3: Snapshots
The packager works from snapshots, it takes one snapshot before install and one after and then
compares thees to get the "what did the installer do"-sum. You can also save a base of the
system to reuse between sessions. I feel the process is quite quick and there really is no need.

Step 4: Output and filters
The output from repackager will be a MSI and where do we want to save it..

Step 5: Performing the install..
The install will now commence. Make sure no other applications are running since they
will pollute the capture. But you are most likely to do this install on a virtual machine thats
used only for this purpose..

Step 6: Pre-install scan
The system scans and then launches the installer with the params you specified in step 1.

Step 7: The installer commences...

 

Step 8: After install scan..
After the installer have exited the system waits, if you wish to do some additional actions in the
system before commencing the after-install scan. Perfect for creating shortcuts etc.

Step 9: Done!
The package is done. And its almost done I think, since I have the full Advanced Installer package
it also offers to open the MSI in the studio where I can customize it even more..

Optional last step.. customize in Advanced installer..

Posted by Daniel | with no comments
Filed under: , ,

Just a simple quick tips for all you guys out there. A couple of students have come back and asked me - "How did you enable that really nice dashbord". It's simple, easy and safe.

If you think the below is to much, then check out Wiktor Wiléns blog for a nice farm scoped feature moving this into the gui (and some other stuff also)
http://www.wictorwilen.se/Post/SharePoint-2010-Developer-Dashboard-configuration-feature.aspx

Anyways, here you go:

Via STSADM: stsadm -o setproperty -pn developer-dashboard -pv OnDemand 
Via PowerShell: (Get-SPFarm).PerformanceMonitor.DeveloperDashboardLevel = "OnDemand"

The value OnDemand can also be On or Off (On=Always shown, OnDemand=Shown of request, Off=Never shown)

Posted by Daniel | with no comments
Filed under: , ,

In one of the primary environments I manage (at my training company) we have a training network for our students. Each week (or several times per week) new students arrive and expects a newly installed computer. Traditionally we have always used Symantec Ghost to distribute complete fat images (complete images of hard drives). The problems with this is the total amount of data to store the large and number of images to maintain. For instance: we had 5 different computer types and that's is five base images since they are not hardware agnostic. Then we have some 400 courses in our schedule which gives 5*400 images total a massive numbers of images to maintain. When we were asked to change the start URL for IE, or a patch came, we had to update ALL of the images. This was not a optimal procedure and needed not only lot's of disk space, but also lots of time. So we needed change.

That's why we decided to go with WDS, WDS gives us multicasting of the operating system and the ability to use database for configuration and that in turn make it possible to out different programs to different computers without even needing to use a single image, just scripts and config in the MDT. MDT can be built on-top of a SQL database, which can be tied into our LOB data system. MDT was selected as the primary working tool. The big problem with this solution is when we want to deploy large VHD files to be used in the courses, the file size of these are between 20 and 100GB, and after the initial multicast of the operating system MDT would simply copy the resource (VHD) from the server using SMB, this would lead to some 15 connections to the deployment share, and sending the file to all the 15 clients using unicast in a fifteen person classroom. Basically what 15 unicast transfers does is reducing available bandwith with as much as 15 times!! This leads to not being able to complete deployment within the time frame for next course.

This was no problem in ghost since we could use multicast for the full image and even for data file copies (since those images were fat). We could achieve this with MDT also by using a fat image instead of the thin image that we now use. However that would serve almost no purpose.. the images would go down by the five models but still 400 course images.. I looked for some other ways and ended up with producing Data Images and deploying with WDS using Multicast and here is how to do it:

Step 1: Capture files into Data Image

Data Images are basically WIM files with just data, no boot information, no operating system - just plain files. They are to be deployed on a excising file system and does nothing more than amend the file system. This works perfectly for me in this scenario since I just want to "install" VHD files into a directory using multicast. So first I locate the data that I need to put in a file. Example:

IMAGEX /capture C:\Course\VirtualMachines C:\Course\VirtualMachines_MS1234.wim "VirtualMachinesForMS1234"

This will produce a WIM file in the c:\course directory with the content of whatever was in the c:\course\virtualmachines directory and label that WIM VirtualMachinesForMS1234

Step 2: Add image to WDS (Multicast namespace)

This is a bit tricky, there is no "Add data image" to WDS. This is because WDS is not designed to transfer files other than install files. The WDS buils on the transport server which have the actual functionalities for transferring files. What we need to do is to create a new multicast namespace and add that file and directory to that namespace. This is done via command line on the WDS by entering

WDSUTIL /New-Namespace /Namespace-Type:AutoCast /Server:wds01.course.local
/FriendlyName:CourseVM_ms1234 /Namespace:cwm_ms1234 /ContentProvider:WDS /ConfigString:C:\Course

/New-Namespace signals that we would like to create a new namespace
/NamespaceType:AutoCast signals that we would like to create a AutoCast namespace
/Server is on which server the namespace should be created
/FriendlyName is the name which this autocast should be listed in the console
/Namespace is the actual namespace name
/ContentProvider is the content provider, you can develop your own, in my case I will use WDS
/ConfigString is the config that should be forwarded to the ContentProvider, in this case the directory in which the wim file exists

We could actually use just one namespace for all our files if we would like to but that limits the number of simultaneous courses we can install.

Step 3: Starting multicast from the deployed client using wdsmcast.exe in the task sequence

So what I do is to create a MDT application called "Virtual Machines Installer", the application will consist of ImageX.exe, WDSMCast.exe and batch file called setupVM.cmd which is the file to be called from the MDT install package. The setupVM.cmd get one parameter from environment which must be set prior via variables: the course name. This could be expanded to include more options etc but will be sufficient for my needs. I then repeat the comand as needed.

WDSMCAST /transfer-file /server:wds01.course.local /namespace:"cwm_%CourseID%"
/username:demo\user /password:demoaccount12! /sourcefile:VirtualMachines_%CourseID%.wim
/destinationfile:%TEMP%\VirtualMachines_%CourseID%.wim

Then we are done.. or you now need to do a task-sequence which includes a call to the "Virtual Machines Installer" which will pull over the file to the local machine and then perhaps we need a script to import the virtual machine into Hyper-V but that is out of scope for this short article. Enjoy wdsmcast if you didn't know about it before.  Also I have got the question, why pack this in a wim and not just transfer the files directly. One is compression but most important for me was the ability to have something that can be merged and manipulated using standard tools and to be able to group loads of files and security information in a single file. Happy multicasting! And don't forget: TechNet is your premier place for more information... goto http://technet.microsoft.com/sv-se/library/cc725964(WS.10).aspx

Posted by Daniel | with no comments
Filed under: , , ,

As Sharepoint2010 aproaches you should get ready to get certified. Certification is a good way of proving your skills, and the Sharepoint market need lots more certified and proven experts. Microsoft are currently creating four different certifications, however there will be no distinct Foundation (WSS) or Sharepoint Server exams but rather geared towards it-pro and devel. Two of the certs are TS (Technology Specialist) and two are PRO exams.

  • 70-667: TS: Microsoft SharePoint 2010, Configuring
  • 70-668: PRO: Microsoft SharePoint 2010, Administrator
  • 70-573: TS: Microsoft SharePoint 2010, Application Development
  • 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications

Theese exams will appear within months of RTM, and the MSL team are hoping on june/july. There will be no upgrade certs (as its a one-to-one there is no meaning of a upgrade cert - you would still need to do one exam). The TS will most probably be a prerequisite for the PRO.

Get prepared! Download the Sharepoint2010 IW virtual machine: http://www.microsoft.com/downloads/details.aspx?FamilyID=0c51819b-3d40-435c-a103-a5481fe0a0d2&displaylang=en

Posted by Daniel | with no comments

I have been accepted to present about IPv6 at the MCT and Educator Virtual Summit 2010! I'm looking forward to getting the message out there about IPv6. Last year I participated in several panel discussions at TechEd Europe 2009 and recorded TechEd Online discussions about IPv6. I think many are ignoring the fact that IPv6 is comming and that it is really simple to convert most of your infrastructure. So if you are a MCT or academic instructor, welcome to tune in Friday, April 09, 2010 9:30 AM-10:30 AM (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna.

Abstract: It's about time that you learn something about IPv6 - it's here to stay! Don't deny it any more! The protocol enables security, manageability and lots of new features but also complexity and lots of new configuration. But dont fear, we have just gotten lazy! IPv6 isn't harder than IPv4 - just different and different takes time to learn. In this session we will cover everything from simple lan deployment to native internet connections and wan considerations.

Posted by Daniel | with no comments
Filed under: , ,
More Posts Next page »