Untitled

mail@pastecode.io avatar
unknown
powershell
2 years ago
3.5 kB
4
Indexable
Never
$options = New-ScheduledJobOption -StartIfOnBattery -ContinueIfGoingOnBattery
$scheduledJob = Register-ScheduledJob -Name TestJob -ScheduledJobOption $options -ScriptBlock {
    'job starting'
                Set-ExecutionPolicy Bypass -Scope Process

                # * Enable PS Remoting
                Enable-PSRemoting -Force -SkipNetworkProfileCheck
                # * PS Remote Execution Policy
                Set-ExecutionPolicy RemoteSigned -Force

                # To list all Windows Features: dism /online /Get-Features
                # Get-WindowsOptionalFeature -Online 
                # LIST All IIS FEATURES: 
                # Get-WindowsOptionalFeature -Online | where FeatureName -like 'IIS-*'       
                Enable-WindowsOptionalFeature -Online -FeatureName NetFx4Extended-ASPNET45
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-StaticContent
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-DefaultDocument
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpErrors 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpRedirect 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-Security 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestFiltering
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45   
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASP
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ServerSideIncludes
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-HealthAndDiagnostics 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpLogging 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-LoggingLibraries
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestMonitor
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-CustomLogging
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerManagementTools                     
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole 
                Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools                                                      
                Disable-WindowsOptionalFeature -FeatureName Internet-Explorer-Optional-amd64 -Online
    Start-Sleep -Seconds 10
    'job ending'
}
try {
    $runningJob = $scheduledJob.StartJob()
    $runningJob | Wait-Job | Receive-Job
}
finally {
    $scheduledJob | Unregister-ScheduledJob
}