ecb.autopilot.psm1

function Get-AutopilotRegistration {
    try {
        Install-Module Microsoft.Graph.Intune -Scope AllUsers -Force
        [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
        Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
        Install-Script -Name Get-WindowsAutopilotInfo -Force
        
        #Get Information for variables
        $GroupTag = Read-Host "GroupTag"
        $AssignedUser = Read-Host "Benutzername"
        $newDeviceName = Read-Host "Computername"

    [System.Environment]::SetEnvironmentVariable("autopilotDeviceName", $newDeviceName, "Machine")
            
        $autopilotInfo = Get-WindowsAutopilotInfo -GroupTag $GroupTag -AssignedUser $AssignedUser -Online -Assign -Reboot
        
        if ($null -eq $autopilotInfo) {
            throw "Failed to retrieve Autopilot information."
        }
        
        return $autopilotInfo
    } catch {
        Write-Error "Error in Get-AutopilotRegistration: $_"
    }
}

function Get-DeviceReset {
    try {
        if (!(new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole(544)) {
            start powershell -Verb runas -ArgumentList '-File', $MyInvocation.MyCommand.Definition
            exit
        }
        
        $taskoptions = @{
            TaskName = 'ResetWindows'
            Action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-Executionpolicy ByPass -NoProfile -Command `"Get-CimInstance -Namespace 'root\cimv2\mdm\dmmap' -ClassName MDM_RemoteWipe -Filter \`"ParentID='./Vendor/MSFT' and InstanceID='RemoteWipe'\`" | Invoke-CimMethod -MethodName doWipeMethod -Arguments @{param=''}`""
            Principal = New-ScheduledTaskPrincipal -RunLevel Highest -UserId System
        }
        
        Register-ScheduledTask @taskoptions | Start-ScheduledTask
        Write-Host "System is now resetting, please wait for reboot ... !" -ForegroundColor Green
    } catch {
        Write-Error "Error in Get-DeviceReset: $_"
    }
}
# SIG # Begin signature block
# MIIFhgYJKoZIhvcNAQcCoIIFdzCCBXMCAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDBzPiAY3oOhfr+
# RISjb5s6dNm6or153HtncWsWUmaeyaCCAwAwggL8MIIB5KADAgECAhBNkxsQTDes
# rUqe6HfNTO9RMA0GCSqGSIb3DQEBCwUAMBYxFDASBgNVBAMMC0phbm5pa0tydXNl
# MB4XDTI0MDkwMzExMjExMVoXDTI1MDkwMzExNDExMVowFjEUMBIGA1UEAwwLSmFu
# bmlrS3J1c2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5cgrckM2Y
# nZy7h+i4FyR3w27Sk7ZadSw/lqHwH0YMwyDsJz77LWzZkrCzqJYzMuPAall8wFeF
# 6fhnRjvbj5uBoDEAiL206ZcsMFDypyGFvwnhjg9DUjKXkD+k3Ujbdzhe2/idSdMh
# xnjenUYC3A2Ht8CiB3zKXeTE9gLHDOy6d3RTioj7O8IoAweqZsJ6iMEotVSs4QFl
# ilpCfqeC9cfuScPtbHJpiGV3l+rBm+7fkuUJCBLYpx5sfnlnD3+lnPdot7utOTNw
# DDpjTaFVC2i046Ysd9/OM9BH6K0vjM7qrxMMbu+0J3TC4w4gqFcT6jAXbvuOzhUm
# KWYfLrXQfq1VAgMBAAGjRjBEMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggr
# BgEFBQcDAzAdBgNVHQ4EFgQUk2Cb7lGLVUpQxVZFv3iWYGYFwawwDQYJKoZIhvcN
# AQELBQADggEBAITOT8eyUhVkJ2HcN63cH2XhciNktT4oDMF/0oVXTRgJFKfslRKV
# 8UJzHNYKTcg7db53FWjmRsGUz0RjAKAaKMiXXr7OoohwRiO3/6rZxrskU4swaCHX
# 8w01Re3iVX4ZmUzmrrUkV1zgRDUoVH6VKPkl0gLyEfHD0/NQt88cW9UbdKUrHBtP
# hXYbMs0XtOx6E8HI8e++9y6eM10+ikFQ7h/jM3KdVW0IoAToA7Y75Tsd4X4//0qS
# bWRhw/vAcfpBKHqmINKiktbvILBc5ULz26VWR03VpCxn07NSE7dTf8ca2PZDsWFf
# LwogLOS68y7atXSp9STsNBLrs9bN9wb5XTAxggHcMIIB2AIBATAqMBYxFDASBgNV
# BAMMC0phbm5pa0tydXNlAhBNkxsQTDesrUqe6HfNTO9RMA0GCWCGSAFlAwQCAQUA
# oIGEMBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisG
# AQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcN
# AQkEMSIEIOfltCk9vFghrCANVoUqgnytdw6sokXzwEsKhCMXjimZMA0GCSqGSIb3
# DQEBAQUABIIBAGWIINrAr9raNVlk9w5rXeQJUxgP1EXt+uHbhmQPt0w/E9eia/tp
# PTYhXcerAUDLoQVkblz/UElJPDrzGTXchdCbJMkKUxX2H69YqnklQ1AIW96f1Ycg
# bz3wXTA+057chhy40mHU/bTwfTxVDkTVcc5x/DP+Uoi9cHq6f/43jJkBUJg0hQ9x
# PootpkSX5jJt8hp19y7PAHk6Aq6awMGypZ/DX0hSWf1+mKx/RqQOV+nspHD/uOuK
# kxpTLwQctIHMDx6eOuYy7bog3UDvYdxji8XmuQtDL5MzUv/4I2qnsLbRAh1U6g+S
# DOSyRW3z62WV1u9DtjCWEtB8xKTKRb8IUmA=
# SIG # End signature block