GithubHelp home page GithubHelp logo

devicemanagement's Introduction

AutomatedLab

Build Status Last Commit Latest Release
Develop Build status dev GitHub last commit
Master Build status GitHub last commit GitHub releasePowerShell Gallery

GitHub issues Downloads PowerShell Gallery

Project Summary

AutomatedLab (AL) enables you to setup test and lab environments on Hyper-v or Azure with multiple products or just a single VM in a very short time. There are only two requirements you need to make sure: You need the DVD ISO images and a Hyper-V host or an Azure subscription.

Requirements

Apart from the module itself your system needs to meet the following requirements:

  • Windows Management Framework 5+ (Windows)
  • .NET 4.7.1 (Windows PowerShell) or .NET Core 2.x (PowerShell 6+)
  • Windows Server 2012 R2+/Windows 8.1+ (Hyper-V, Azure) or Linux (Azure)
  • Recommended OS language is en-us
  • Admin privileges are required
  • ISO files for all operating systems and roles to be deployed
  • Intel VT-x or AMD/V capable CPU
  • A decent amount of RAM
  • Low-Latency high-throughput storage (No spinning disks please, as there are issues related to them)

Windows

  • Windows Management Framework 5+
  • Windows Server 2012 R2+/Windows 8.1+
  • Recommended OS language is en-us
  • Admin privileges are required

Linux

  • Ubuntu, Ubuntu WSL & Azure Cloud Shell supported
  • Tested on Ubuntu. Due to fragmented nature of Linux distributions, we cannot support anything else.
  • PowerShell Core 6+
  • gss-ntlmssp to enable remoting (mandatory - no remoting, no way for AutomatedLab to do its thing)
    • If in doubt, try to Install-Module PSWSMAN; Install-WSMAN - no success warranted
  • IP and route commands available
  • Azure subscription
    • At the moment, AutomatedLab only works using Azure.
    • KVM planned for a later date.

Download AutomatedLab

There are two options installing AutomatedLab:

Supported products

This solution supports setting up virtual machines with the following products

  • Windows 7, 2008 R2, 8 / 8.1 and 2012 / 2012 R2, 10 / 2016, 2019, 2022
  • SQL Server 2008, 2008R2, 2012, 2014, 2016, 2017, 2019
  • Visual Studio 2012, 2013, 2015
  • Team Foundation Services 2018, Azure DevOps Server
  • Exchange 2013, 2016, 2019
  • System Center Orchestrator 2012
  • System Center Operations Manager 2019
  • System Center Service Manager 2019
  • Microsoft Endpoint Manager Configuration Manager 1902 (and newer)
  • MDT
  • ProGet (Private PowerShell Gallery)
  • Office 2013, 2016, 2019
  • DSC Pull Server (with SQL Reporting)

Feature List

  • AutomatedLab (AL) makes the setup of labs extremely easy. Setting up a lab with just a single machine is only 3 lines. And even complex labs can be defined with about 100 lines (see sample scripts).
  • Labs on Azure can be connected to each other or connected to a Hyper-V lab using a single command.
  • AL can be used to setup scenarios to demo a PowerShell Gallery using Inedo ProGet, PowerShell DSC Pull Server scenarios, ADFS or a lab with 3 Active Directory forests trusting each other.
  • Create, restore and remove snapshots of some or all lab machines with one cmdlet (Checkpoint-LabVM, Restore-LabVMSnapshot, Remove-LabVMSnapshot).
  • Install Windows Features on one, some or all lab machines with one line of code (Install-LabWindowsFeature).
  • Install software to a bunch of lab machines with just one cmdlet (Install-LabSoftwarePackages). You only need to know the argument to make the MSI or EXE go into silent installation mode. This can also work in parallel thanks to PowerShell workflows.
  • Run any custom activity (Script or ScriptBlock) on a number of lab machines (Invoke-LabCommand). You do not have to care about credentials or double-hop authentication issues as CredSsp is always enabled and can be used with the UseCredSsp switch.
  • Creating a virtual environment that is connected to the internet was never easier. The only requirements are defining an external facing virtual switch and a machine with two network cards that acts as the router. AL takes care about all the configuration details like setting the gateway on all machines and also the DNS settings (see introduction script 05 Single domain-joined server (internet facing).ps1).
  • AL offers offline patching with a single command. As all machines a based on one disk per OS, it is much more efficient to patch the ISO files that are used to create the base images (Update-LabIsoImage). See script 11 ISO Offline Patching.ps1 for more details.
  • If a lab is no longer required, one command is enough to remove everything to be ready to start from scratch (Remove-Lab)

Local build

While we frequently release prereleases to the PowerShell Gallery, you might be interested to build the entire module locally yourself.

While the steps remain the same, the prerequisites are slightly different on Windows and Linux

Windows:

  • WiX 3 targets installed properly (!)
  • .NET SDKs 4.6.2 and 6.0 Linux:
  • .NET 6.0

After the prerequisites are satisfied, you can:

  • ./.build/01-prerequisites.ps1
  • ./.build/02-build.ps1
  • ./.build/03-validate.ps1 - Optionally validate the built module

The fourth step, publishing, relies on AppVeyor. The built module will be stores in ./publish, the installer can be found in `./Install/bin

devicemanagement's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

devicemanagement's Issues

get device list failed in windows 10 1709 16299.1146

Name                                                     Enabled Class                  InstanceId                   
----                                                     ------- -----                  ----------                   
Send To OneNote 2013                                     True    4294967295             SWD\PRINTENUM\{B5188BED-7D...
Motherboard resources                                    True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0C02\0               
Microsoft AC Adapter                                     True    GUID_DEVCLASS_BATTERY  ACPI\ACPI0003\0              
USB Root Hub                                             True    GUID_DEVCLASS_USB      USB\ROOT_HUB20\4&221FC7CD&0  
Intel(R) 8 Series USB Enhanced Host Controller #1 - 9C26 True    GUID_DEVCLASS_USB      PCI\VEN_8086&DEV_9C26&SUBS...
Microsoft ACPI-Compliant Embedded Controller             True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0C09\0               
Direct memory access controller                          True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0200\4&2BAB320D&0    
HID-compliant vendor-defined device                      True    GUID_DEVCLASS_HIDCLASS HID\VID_04F3&PID_0139&COL0...
USB Input Device                                         True    GUID_DEVCLASS_HIDCLASS USB\VID_04F3&PID_0139\6&22...
Microsoft ACPI-Compliant Control Method Battery          True    GUID_DEVCLASS_BATTERY  ACPI\PNP0C0A\0               
Microsoft ACPI-Compliant Control Method Battery          True    GUID_DEVCLASS_BATTERY  ACPI\PNP0C0A\1               
Intel(R) Dual Band Wireless-AC 7260                      True    GUID_DEVCLASS_NET      PCI\VEN_8086&DEV_08B2&SUBS...
Root Print Queue                                         True    4294967295             SWD\PRINTENUM\PRINTQUEUES    
Generic PnP Monitor                                      True    GUID_DEVCLASS_MONITOR  DISPLAY\LEN40E2\4&12B41AD7...
Volume Manager                                           True    GUID_DEVCLASS_SYSTEM   ROOT\VOLMGR\0000             
Intel(R) 8 Series PCI Express Root Port #6 - 9C1A        True    GUID_DEVCLASS_SYSTEM   PCI\VEN_8086&DEV_9C1A&SUBS...
WAN Miniport (PPPOE)                                     True    GUID_DEVCLASS_NET      SWD\MSRRAS\MS_PPPOEMINIPORT  
USB Input Device                                         True    GUID_DEVCLASS_HIDCLASS USB\VID_03F0&PID_154A\6&19...
Microsoft Hyper-V Virtual Machine Bus Provider           True    GUID_DEVCLASS_SYSTEM   ROOT\VMBUS\0000              
PCI Express Root Complex                                 True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0A08\2&DABA3FF&6     
Microphone Array (Realtek High Definition Audio)         True    4294967295             SWD\MMDEVAPI\{0.0.1.000000...
Microsoft Basic Display Driver                           True    GUID_DEVCLASS_SYSTEM   ROOT\BASICDISPLAY\0000       
ACPI Thermal Zone                                        True    GUID_DEVCLASS_SYSTEM   ACPI\THERMALZONE\THM0        
ACPI Sleep Button                                        True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0C0E\2&DABA3FF&6     
Intel(R) HD Graphics Family                              True    GUID_DEVCLASS_DISPLAY  PCI\VEN_8086&DEV_0A16&SUBS...
System board                                             True    GUID_DEVCLASS_SYSTEM   ACPI\PNP0C01\2&DABA3FF&6     
Hyper-V Virtual Switch Extension Adapter                 True    GUID_DEVCLASS_NET      ROOT\VMS_VSMP\0000           
Get-Device : Error calling SetupDiGetDeviceProperty
At line:1 char:1
+ Get-Device
+ ~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-Device], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,DeviceManagementModule.GetDeviceCmdlet
 



PS C:\Users\test\Downloads\Software\PowerShell>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.