Automating OSD and Post-OSD Configuration with Powershell and Orchestrator
 

Automating OSD and Post-OSD Configuration with Powershell and Orchestrator

on

  • 710 views

Andrew Craig präsentierte in seinem Referat Möglichkeiten, wie Runbooks und Webservices mit Powershell und Orchstrator ausgelöst werden können.

Andrew Craig präsentierte in seinem Referat Möglichkeiten, wie Runbooks und Webservices mit Powershell und Orchstrator ausgelöst werden können.

Statistics

Views

Total Views
710
Views on SlideShare
694
Embed Views
16

Actions

Likes
0
Downloads
6
Comments
0

2 Embeds 16

http://news.digicomp.ch 13
http://www.digicomp.ch 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Automating OSD and Post-OSD Configuration with Powershell and Orchestrator Automating OSD and Post-OSD Configuration with Powershell and Orchestrator Presentation Transcript

    • Configuration Manager Community Event Switzerland 2014
    • Automating OSD and PostOSD Configuration with Powershell and Orchestrator Triggering Runbooks and Webservices with Powershell in Pre- and Post-Execution to conform with Asset Details in the CMDB, allowing complex zero touch deployments throughout the Desktop life cycle.
    • Preparing the environment Demo
    • Demos • The following demos contain plenty of powershell examples of querying WMI, looking up datastores or SQL tables and communicationg with Webservices and Orchestrator. • The commands are included in slides after the demos.
    • Using Powershell to trigger local and remote WMI queries and methods Demo
    • Using Powershell to access a datastore Demo
    • Using Powershell to trigger web services Demo
    • Using Powershell to add data to tables Demo
    • Using Powershell to trigger Orchestrator runbooks Demo
    • Powershell Commands – local WMI • $macAddress = (gwmi -Namespace rootcimv2 -Class Win32_NetworkAdapterConfiguration -Filter "ipenabled = 'true'").MACAddress • $smBIOSGUID = (gwmi -Namespace rootcimv2 -Class Win32_ComputerSystemProduct).UUID
    • Powershell Commands – lookup xml • [xml]$configScript = (New-Object System.Net.WebClient).DownloadString("http://server:86/filena me.xml") • $dhcpServer = $configScript.Config.dhcpServer
    • Powershel Commands – write to SMSTS • $tsenv = New-Object -ComObject Microsoft.SMS.TSEnvironment • $tsenv.Value("DHCPServer") = $dhcpServer • $log = "$env:windirMaintenanceLogsPreExecutionHook.log" • if(!(Test-Path $log)){New-Item -Path $log -ItemType File Force} • "TS Variables:" | Out-File $log -Append • $tsenv.GetVariables() | %{"$_ = $($tsenv.Value($_))" | Out-File $log -Append}
    • Powershell Commands – storing Credentials • #Enter credential and save to file • $key = (2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43,6,6,6,6,6,6,31,33,60,23) • $cred = Get-Credential • $pwFile = New-Item -Path "c:WindowsTemp" -Name "pwFile.txt"-ItemType File -Force • $userFile = New-Item -Path "c:WindowsTemp" -Name "userFile.txt"-ItemType File -Force • $cred.UserName | Set-Content -Path $userFile • $cred.Password | ConvertFrom-SecureString -Key $key | Set-Content -Path $pwFile • #Retrieve credentials from text file • $userFile = "userfile.txt" • $pwFile = "pwfile.txt" • $user = Get-Content $userFile • $pw = Get-Content $pwFile • $password = $pw | ConvertTo-SecureString -Key $key • $credential = New-Object System.Management.Automation.PsCredential($user,$password)
    • Powershell commands – call webservice # Create a webservice connection try{ $svc = New-WebServiceProxy –Uri 'http://aclabcm01:88/ConfigMgrWebService.asmx' }catch{ $err = $_ } if($err -ne $null){ "$err - exiting" | Out-File $log -Append exit } Get methods: $svc | gm –MemberType Method Get method parameters: $svc | gm –MemberType Method –Name GetComputerRessourceID | select Definition
    • Pete Zerger’s blog • http://www.systemcentercentral.com/how-to-initiate-a-runbookfrom-powershell-and-orchestrator-web-service-the-easy-way/ • Leverage PowerPivot in Excel to get the Runbook and Runbook Parameter GUIDs
    • Use Orchestrator to add computers • Set up a database to store requests • Write to the database via Powershell in the Pre-Execution Hook • Schedule Runbook to read from the database every 5 – 10 minutes • Use either an Integration Pack or a Powershell script to programatically add the computers • Update the status in the database
    • What can we automate after OSD? • Configuration post-OSD of a computer is by design carried out by ConfigMgr • What cannot be accomplished in the TS can be deployed as configuration settings in a baseline, or installed as an application • Triggering post-install tasks really only affects VDI situations where the ConfigMgr client may be removed after staging • SMSTSPostAction: • C:Windowsccmsetupccmsetup.exe /uninstall • Only one command possible • postConfig.ps1 • Wrap commands like ccmsetup uninstall in a script • Other actions • • • • • Prepare disk for Hyper-V Citrix PVS prepare machine for P2V XenDesktop prepare disk as master Other third party virtualisation products Remove from domain
    • Questions & Answers Thank you!
    • Kontakt aufnehme • www.configmgr.ch • andrewdcraig.wordpress.com • Twitter: @mracraig