Du kan nemlig hente ut all infoen du trenger for provisjonering fra AD og SCCM:
Import-Module 'C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1' # obviously change SearchBase to whatever. $comp = Get-ADComputer -SearchBase "OU=sb-1,OU=terminalstueklient,OU=hf,OU=clients,DC=uio,DC=no" -Filter {name -like "*"} -Properties MemberOf Push-Location OSL: $allcomps = @() foreach ($ad in $comp) { $c = New-Object -TypeName PSObject if (-not ($cm = get-cmdevice -Name $ad.name | select name,mac*)) { Write-Warning ($ad.name + ' not found in sccm') } else { $c | Add-Member -MemberType NoteProperty -Name "Name" -Value $cm.Name $c | Add-Member -MemberType NoteProperty -Name "MacAddress" -Value ($cm.MacAddress | Select-Object -First 1) $c | Add-Member -MemberType NoteProperty -Name "OUPath" -Value (($ad.DistinguishedName.Split(",") | Select-Object -Skip 1) -join ",") $c | Add-Member -MemberType NoteProperty -Name "Flavour" -Value "Office" # change as needed if ($ad.MemberOf -like "*da-p[0-9][0-9]-clients*") { $c | Add-Member -MemberType NoteProperty -Name "DirectAccess" -Value $true } if ($c.MacAddress) { $allcomps += $c } else { Write-Warning ($ad.name + ' no mac-address') } } } Pop-Location $allcomps | Export-Clixml -Path C:\scratch\horrible-computers.xml
Maskinene må fremdeles slettes fra AD og SCCM før de kan reprovisjoneres:
Push-Location osl: Import-Clixml -Path C:\scratch\horrible-computers.xml | ForEach-Object { # use the -Force at your own peril Get-ADComputer -Identity $_.name | Remove-ADObject -Recursive Get-CMDevice -Name $_.Name | Remove-CMDevice } Pop-Location
Og så kan du kjøre selve provisjoneringen:
Import-Clixml C:\scratch\horrible-computers.xml | Register-UiOComputer -Verbose
Dette vil provisjonere alle maskinene i én bolk. Men du må fremdeles rundt på hver enkelt maskin og konfigurere BIOS osv ihht. installasjonsveilledningen.
Logg inn for å kommentere
Ikke UiO- eller Feide-bruker?
Opprett en WebID-bruker for å kommentere