glennjc / al-scripts Goto Github PK
View Code? Open in Web Editor NEWDeveloped Scripts for deploying various Labs using Automated-Lab
Developed Scripts for deploying various Labs using Automated-Lab
Title says it all...
In SCCM Server Build.ps1 the PSDefaultParameterValues hashtable is created before calling New-LabDefinition. New-LabDefinition removes all elements from PSDefaultParameterValues related to AutomatedLab (see https://github.com/AutomatedLab/AutomatedLab/blob/0e707451d6821e382c50c9bd87d978d902749b10/AutomatedLabDefinition/AutomatedLabDefinition.psm1#L593)
Perform validation of DHCP scope settings are valid for the current Automated-Lab networking configuration, and allow additional DHCP scope settings such as DNS Server, Gateway
When the PassThru switch is used, an object is returned that also provide the assigned drive letter.
Then you do not need this code anymore:
#Get the Volume ID Assigned to the Removable Drive within the VM (will need this for the Import-MDTOperatingSystem Call)
$OSImageDriveLetter = Invoke-LabCommand -ComputerName $ComputerName -ScriptBlock {
Get-CimInstance Win32_LogicalDisk | Where-Object { $_.DriveType -eq 5} | Select-Object DeviceID
} -PassThru -NoDisplay
The documentation has room for improvement: https://github.com/AutomatedLab/AutomatedLab/wiki/Mounting-Isos-On-Azure
Would you be interested in integrating the SCCM stuff directly into AL? There is the feature of custom roles and your SCCM code seems to be the ideal candidate.
There is no documentation about this yet, but I am happy to assist.
19:50:40|00:00:01|00:00:01.746| - Path for VMs specified as 'D:\AutomatedLab-VMs'
19:50:40|00:00:01|00:00:00.000| - Adding Hyper-V machine definition 'VDI-DC01' (Roles: RootDC)
19:50:41|00:00:02|00:00:01.047| - Done
19:50:41|00:00:03|00:00:00.000| - Adding Hyper-V machine definition 'VDI-HSD1'
19:50:41|00:00:03|00:00:00.175| - Done
19:50:41|00:00:03|00:00:00.000| - Adding Hyper-V machine definition 'VDI-HV01'
19:50:41|00:00:03|00:00:00.176| - Done
19:50:41|00:00:03|00:00:00.000| - Adding Hyper-V machine definition 'VDI-VDI-Master'
19:50:41|00:00:03|00:00:00.176| - The operating system 'Windows 10 Enterprise' is available multiple times. Choosing the one with the highest version (10.0.17763.194)
19:50:41|00:00:03|00:00:00.189| - Done
19:50:42|00:00:03|00:00:03.900| Estimated (additional) local drive space needed for all machines: 8 GB
19:50:42|00:00:03|00:00:03.923| Location of Hyper-V machines will be 'D:\AutomatedLab-VMs'
19:50:42|00:00:03|00:00:03.938| Done
19:50:42|00:00:04|00:00:00.000| Validating lab definition
19:50:43|00:00:05|00:00:01.049| - Success
19:50:43|00:00:05|00:00:00.001| Lab 'VDILab' hosted on 'HyperV' imported with 4 machines
19:50:44|00:00:06|00:00:00.000| Creating virtual networks
19:50:44|00:00:06|00:00:00.000| - Creating Hyper-V virtual network 'VDILab'
19:50:46|00:00:08|00:00:01.745| - Done
19:50:46|00:00:08|00:00:01.810| - Done
19:50:46|00:00:08|00:00:03.084| done
19:50:46|00:00:08|00:00:00.000| Creating base images
19:50:46|00:00:08|00:00:00.245| - All base images were created previously
19:50:48|00:00:09|00:00:01.542| - Done
19:50:48|00:00:09|00:00:04.639| done
19:50:48|00:00:09|00:00:00.000| Creating VMs
19:50:50|00:00:11|00:00:02.126| - The hosts file has been added 7 records. Clean them up using 'Remove-Lab' or manually if needed
19:50:50|00:00:11|00:00:00.000| - Creating HyperV machine 'VDI-DC01'.....
19:50:57|00:00:18|00:00:07.011| - Done
19:50:57|00:00:18|00:00:00.000| - Creating HyperV machine 'VDI-HSD1'.....
19:51:03|00:00:24|00:00:05.864| - Done
19:51:03|00:00:24|00:00:00.000| - Creating HyperV machine 'VDI-HV01'.....
19:51:09|00:00:31|00:00:06.587| - Done
19:51:09|00:00:31|00:00:00.000| - Creating HyperV machine 'VDI-VDI-Master'.....
19:51:16|00:00:38|00:00:07.110| - Done
19:51:16|00:00:38|00:00:00.001| - Waiting for all machines to finish installing
19:51:16|00:00:38|00:00:00.025| - Done
19:51:17|00:00:38|00:00:29.185| - Done
19:51:17|00:00:38|00:00:00.001| Installing Root Domain Controllers
19:51:17|00:00:39|00:00:00.024| - Machines with RootDC role to be installed: 'VDI-DC01'
19:51:17|00:00:39|00:00:00.216| - Waiting for machines to start up......
19:52:14|00:01:35|00:00:56.796| - Waiting for Root Domain Controllers to complete installation of Active Directory and restart.........done
19:56:51|00:06:13|00:05:34.300| - Root Domain Controllers have now restarted. Waiting for Active Directory to start up...........
20:04:20|00:13:42|00:13:03.185| - Done
20:04:20|00:13:42|00:00:00.000| Starting remaining machines
20:04:20|00:13:42|00:00:00.004| - Waiting for machines to start up..........
20:06:21|00:15:42|00:02:00.638| - Done
20:06:22|00:15:44|00:15:39.504| ..
20:06:43|00:16:04|00:15:59.817| ..
20:06:50|00:16:12|00:00:00.000| Installing Windows Feature(s) 'Hyper-V' on computer(s) 'VDI-HV01'
20:07:27|00:16:49|00:00:37.257| - Done
20:07:28|00:16:50|00:16:45.525| ...
20:08:36|00:17:58|00:00:00.000| Executing lab command activity: 'Configure Hyper-V' on machines 'VDI-HV01'
20:08:36|00:17:58|00:00:00.007| - Waiting for completion
20:08:43|00:18:04|00:00:06.255| - Activity done
20:08:44|00:18:06|00:18:01.061| ..
Convert-VHD : Failed to convert the virtual disk.
The system failed to convert 'd:\automatedlab-vms\vdi-vdi-master\vdi-vdi-master.vhdx'.
Failed to convert the virtual disk.
The system failed to convert 'd:\automatedlab-vms\vdi-vdi-master\vdi-vdi-master.vhdx': The file exists. (0x80070050).
At D:\_WRK\AL-Scripts\HSD Build\HSD Build - VDI.ps1:96 char:13
+ Convert-VHD -Path $DriveConfig.Path -DestinationPath "$la ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Convert-VHD], VirtualizationException
+ FullyQualifiedErrorId : OperationFailed,Microsoft.Vhd.PowerShell.Cmdlets.ConvertVhd
the single peculiarity is I am using 2019 host
I have tested the MDT part today. Great job!
After some minor tweaks that I will share later, the MDT server was ready to use. A new VM connected to the network could talk to the MDT server but then this error appeared:
I have checked the bootstrap.ini, credentials are fine. Name resolution works and from the cmd on the client I can successfully access the DeploymentShare.
Do you have an idea what I am doing wrong?
Wouldn't it be easier to mount the ISO and install SCCM form there directly? Or is there a reason why you copy the files?
Hi Glenn,
can you have a look at the fork https://github.com/raandree/AutomatedLab please. I have extended the custom role feature in AL to support parameters and also do some local work required to download or initialize stuff. This feature is not yet documented but I am working on it.
I have converted the work you have done here: https://github.com/raandree/AutomatedLab/tree/develop/LabSources/CustomRoles/MDT.
This sample script shows how to deploy a MDT server with AL. What do you think about that? Does it make sense?
Thanks,
Raimund
Enhance script to log output from the various activities and save to log file within the server.
Current Function only allows bulk importing of apps using an XML file, allow a single application to be imported
DHCP role is currently assumed to run on the MDT server along with WDS. Allow this role to be split out onto another server (eg Domain Controller).
Also note when Domain Support is added that DHCP servers require additional steps for authorisation
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.