Yesterday, we announced that we would be releasing updated integration components over Windows Update from now on in (more details here: http://blogs.technet.com/b/virtualization/archive/2014/11/11/hyper-v-integration-components-are-available-through-windows-update.aspx).
Specifically, we announced that if you are running Windows Technical Preview (server or desktop) and you have virtual machines running:
Updated integration components would be coming through Windows Update – instead of through our old “Install Integration Services” mechanism. I wanted to play with this myself and see what it looks like.
I setup a clean installation of Windows 7 SP1 inside a virtual machine on my Windows 10 Technical Preview build (running the 9860 build) and ran Windows Update:
Looking through the list of Important Updates, I found KB3004908, which is the update in question. I let Windows Update do its thing – and soon I had the latest integration components running. Using PowerShell in the host – I was able to confirm that they were updated. Here is the before and after view:
Moving forward – this is how we will be releasing all updates for integration components, which should make it a lot easier for everyone to manage and track.
This is NOT a new feature, I cant even remember how long this has been working, but this morning I saw a Tweet when someone was happy about the possibility to copy items between deployment shares in MDT, so for thoose that knows all this, you do not need to read more, for the rest of you.Yes, you can copy items between Task Sequences
(it also works copy items within a Task Sequence)
This works in both MDT as well as in ConfigMgr.
Yes, you can copy items between Deployment Shares (Only for MDT, Lite Touch)
In this case I have 3 deployment shares in the Deployment Workbench and it is possible to copy all kind of items between these 3 deployment shares
Let us copy some application from one deployment share to another.
Select Application, right click and select Copy.
Browse to new location, right-click, select Paste.
The application has been copied to the new deployment share.
During todays session I realized that I have done a lot of OSD stuff, but never published it (shame on me), so time to work. First up is how to run PowerShell CommandLets inside a UserExit script. A UserExit script is an extension to the ZTIGather process, giving you the opportunity to extend the gather process with information that the Gather process does not cover. That has been possible for a long time, but VBscript is not really the easiest script language in the world, so I asked my self if it would be possible to use PowerShell inside the VBscript and of course it is!The idea
The basic idea is to run the UserExit script from customsettings.ini as usual and then do a jump out into PowerShell, execute the PowerShell CMDLets, terminate and return the value into the VBscript, which then will be a value connected to a Custom Property in the gather process, which then can be consumed by customsettings.ini and/or the task sequence. you can download everything from here: http://1drv.ms/1u41Yj2How-To The Boot Image
The boot image must have support for PowerShell and you can get that by adding .NET and PowerShell
The customsettings.ini file will direct ZTIGather to process the section called UserExits, which will execute the UserExit.vbs script, call the function called RunningPSCommand and return the value from that function into the property called PSCommand.
The script is rather simple, basically the PowerShell command is a string, executed by PowerShell.exe and using Executor.StdIn.Close to close the window and then using Executor.StdOut.ReadAll to grab whatever you have in the window and put that in the RunningPSCommand, which then is returned back to the ZTIGather process as a value for the Property RunningPSCommand.
The result of running the ZTIGather
As you can see the PowerShell command was running and returned the value “Virtual Machine” and now the Property PSCommand is equal to Virtual Machine and can be used elsewhere in CustomSettings.ini or in the Task Sequence
During a project Johan and was working a while ago, we used Offline Media and we had a problem to set a static IP Address during OSD. After digging Johan found the issue and here is the solution.
Bare Metal Deployment in SCVMM is a bit different compared to everything else, since it is using a push method. So instead of having some kind of client application controlling the deployment, the SCVMM server is controlling the OS Deployment. There could be issues, since SCVMM is building team and switches and there is a chance that SCVMM will loose connectivity to the host and the Bare Metal Deployment stops. In many case that is related to DNS and DNS cache, since that is the method used to be able to connect to the host during deployment. By decreasing the DNS cache timeout on the SCVMM server the success rate will improve very, very much.How to fix it?
Logon to your SCVMM server and execute the following PowerShell commands to set the DNS Cache to a minimum and restart the DNS Cache servicesNew-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name "MaxCacheTtl" -Value 5 -PropertyType "DWORD" -Force New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name "MaxNegativeCacheTtl" -Value 5 -PropertyType "DWORD" -Force Restart-Service -Name Dnscache -Force -Verbose
There are a number of new features and functionality for Hyper-V in the Windows 10 Technical Preview.
One of these features is that you can now add and remove network adapters from running virtual machines. Specifically – you can add and remove network adapters (not Legacy network adapters) from Generation 2 virtual machines.
You can do this with any supported guest operating system.
Recently I was setting up Maik Kosters OS Deployment Web Services for a customer and I need to test them, sure, you can do that interactively directly by running them, but I wanted the “PowerShell” way to do it.
You can get the Web Services from Maik Koster here: http://mdtcustomizations.codeplex.com/documentation?referringTitle=HomeTesting a Web Services the Non PowerShell Way.
Since PowerShell has the function built-in it is very much a no-brainer.
To connect and get all members from the Web Services execute this:$ADWebS = New-WebServiceProxy -Uri http://MDT01/OSD/ad.asmx?WSDL $ADWebS | Get-Member -Type Method
That will give you something like this back
To connect and get one member with some detail execute this:$ADWebS = New-WebServiceProxy -Uri http://MDT01/OSD/ad.asmx?WSDL $ADWebS | Get-Member -Name DoesComputerExist -Type Method | Format-List
That will give you something like this back
So, to test the DoesComputerExists with a value you can now execute the following:$CompuerNameToTest = "MDT01" $ADWebS = New-WebServiceProxy -Uri http://MDT01/OSD/ad.asmx?WSDL $ComputerExistsInAd = $ADWebS.DoesComputerExist("$CompuerNameToTest") Write-Host "The Computer $CompuerNameToTest exists in Active Directory: $ComputerExistsInAd"
So if the Computer Exists in Active Directory you should get something like this back
During the session I did demo some scripts and here they are:Script to configure the Build LAB Deployment share: Import-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1" New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "E:\MDTBuildLab" #Set permisions correct net share E:\MDTBuildLab '/grant:EVERYONE,change' icacls E:\MDTBuildLab\Captures /grant '"MDT_BA":(OI)(CI)(M)' icacls E:\MDTBuildLab\Logs /grant '"MDT_BA":(OI)(CI)(M)' #Create the folder structure new-item -path "DS001:\Applications" -enable "True" -Name "Install" -Comments "" -ItemType "folder" -Verbose new-item -path "DS001:\Applications" -enable "True" -Name "Action" -Comments "" -ItemType "folder" -Verbose new-item -path "DS001:\Operating Systems" -enable "True" -Name "Windows 8.1 x64" -Comments "" -ItemType "folder" -Verbose new-item -path "DS001:\Task Sequences" -enable "True" -Name "Ref" -Comments "" -ItemType "folder" -Verbose #Import the OS import-mdtoperatingsystem ´ -path "DS001:\Operating Systems\Windows 8.1 x64" ´ -SourcePath "G:\Raw\Windows 8.1 x64" ´ -DestinationFolder "W81X64-001" ´ -Verbose #Create the Task Sequence import-mdttasksequence ´ -path "DS001:\Task Sequences\Ref" ´ -Name "Ref Windows 8.1 x64 Enterprise" ´ -Template "Client.xml" -Comments "" ´ -ID "RW81X64" -Version "1.0" ´ -OperatingSystemPath "DS001:\Operating Systems\Windows 8.1 x64\Windows 8.1 Enterprise in W81X64-001 install.wim" ´ -FullName "ViaMonstra" ´ -OrgName "ViaMonstra" ´ -HomePage "about:blank" ´ -Verbose Set-ItemProperty -Path DS001: -Name Boot.x86.LiteTouchWIMDescription -Value 'MDT Build Lab x86' Set-ItemProperty -Path DS001: -Name Boot.x86.LiteTouchISOName -Value 'MDT Build Lab x86.iso' Set-ItemProperty -Path DS001: -Name Boot.x64.LiteTouchWIMDescription -Value 'MDT Build Lab x64' Set-ItemProperty -Path DS001: -Name Boot.x64.LiteTouchISOName -Value 'MDT Build Lab x64.iso' Set-ItemProperty -Path DS001: -Name SupportX86 -Value 'False' Script to bulk import applications
Next week I will be in Barcelona, talking about all the cool stuff we are doing with virtualization in the next release of Windows Server. Here are my session details:
Title: CDP-B225 Software Defined Compute in the Next Release of Windows Server Hyper-V
Time: Tuesday, October 28 1:30 PM - 2:45 PM Room: Hall 8.0 Room E1
Description: Join us for a bird's-eye view of software defined compute as we enter the next release of Windows Server. See how Microsoft envisions using Hyper-V as it relates to our overarching vision of software defined compute.
Title: CDP-B246 Sneak Peek into the Next Release of Windows Server Hyper-V
Time: Wednesday, October 29 8:30 AM - 9:45 AM Room: Hall 8.0 Room B4
Description: The technical preview for the next release of Windows Server has been released, but what can you do with it? Why do you care? Come to this session to get the nitty gritty details of all the new stuff that is in Hyper-V; learn about how you can play with it “hands on” today; and gain insight into where we are heading.
I will also be spending a lot of time on the tradeshow floor chatting to people. So if you are going to TechED Europe this year – be sure to come by and say hello!
This morning Satya and Scott presented on Microsoft’s strategy for cloud. If you missed it you can watch the recording here:
You can also read more about the announcements that were made at the following locations:
[Warning! This blog post is nothing to do with Hyper-V or virtualization. It is Friday night and I am playing computer games!]
It has been a long busy week of working on Hyper-V – and now it is time for me to unwind. After playing a couple of games I decided to try out the recently released “Age of Empires: Castle Siege” only to be presented with this:
What? Well – that would be because I run an enterprise grade firewall in my house (I mean, who doesn’t?). A quick journey through the firewall logs showed that it was trying to reach castlesrelease.cloudapp.net:8443-8444 – and my firewall was dutifully blocking this.
My immediate fix was to just allow access on these ports – but that did not actually work. The reason was that my firewall was actually able to detect that this was actually SSL traffic running over an odd port – and was quite upset about that.
A moment later – I had my SSL definition updated to allow ports 8443 and 8444 (outbound only) and everything is good. Now, off to build an empire…
Last weekend I was looking for a deck of cards, and I discovered this deck in one of my desk drawers:
Virtual Server 2005 R2 and Windows Server 2003 R2 – Play your strongest hand. How things have changed since then, it is amazing to think about the innovation and change in server virtualization over the last decade.
When I first tried to perform a physical to virtual migration with the Microsoft Virtual Machine Converter 3.0 – I immediately hit this error message:
After a bit of poking around, I was able to figure out the problem. Microsoft Virtual Machine Converter use WMI, which is blocked on the Windows Firewall by default. Once I had allowed WMI through:
Everything started working.
Den 18 november, d.v.s. en dag INNAN TechDays öppnar portarna för årets Microsoft konferens I Sverige kommer jag och Markus Lassfolk att köra en hel dag kring frågan hur man bygger datacenter numera. Design kommer i huvudsak röra det som kallas converged och innehållet för dagen kommer att handla om
Hyper-V, design, best pratices, nätverk, VMQ, RSS, RDMA, CPU, Minne, IOPS, Storage Spaces, Scale-Out Files server, NVGRE networks, Gateway och mycket, mycket mer. Ska du bygga, håller du på att bygga, ska du kasta ut VMware och vill veta från oss som gör det på löpande band. Kom…
Yesterday we released the Microsoft Virtual Machine Converter 3.0. You can download it here: http://www.microsoft.com/en-us/download/details.aspx?id=42497
It has a staggering amount of features. Including the ability to convert physical computers to virtual machines and to convert VMware virtual machines to Hyper-V virtual machines online and offline.