windows-provisioning / index.html
sundmoon's picture
Add 3 files
6a07c8a verified
Raw History Blame Contribute Delete
26.1 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DSC v3 Configuration Manager for Windows 11</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
.progress-bar {
height: 8px;
transition: width 0.3s ease;
}
.dsc-config-box {
border-left: 4px solid #3b82f6;
}
.slide-fade-enter-active {
transition: all 0.3s ease-out;
}
.slide-fade-leave-active {
transition: all 0.3s ease-in;
}
.slide-fade-enter-from,
.slide-fade-leave-to {
transform: translateX(20px);
opacity: 0;
}
.highlight {
animation: highlight 1.5s ease;
}
@keyframes highlight {
0% { background-color: rgba(59, 130, 246, 0.3); }
100% { background-color: transparent; }
}
</style>
</head>
<body class="bg-gray-50 text-gray-800">
<div class="container mx-auto px-4 py-8 max-w-6xl">
<header class="mb-8">
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold text-blue-600">
<i class="fas fa-cogs mr-2"></i>DSC v3 Provisioning Manager
</h1>
<p class="text-gray-600">Inject DSC resources into Windows 11 image and configure provisioning</p>
</div>
<div class="flex items-center space-x-2">
<span class="px-3 py-1 bg-blue-100 text-blue-800 rounded-full text-sm font-medium">
<i class="fas fa-windows mr-1"></i> Windows 11
</span>
<span class="px-3 py-1 bg-purple-100 text-purple-800 rounded-full text-sm font-medium">
DSC v3
</span>
</div>
</div>
</header>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-6">
<h2 class="text-xl font-semibold mb-4 flex items-center">
<i class="fas fa-project-diagram mr-2 text-blue-500"></i> Workflow Overview
</h2>
<div class="relative">
<div class="absolute left-4 h-full w-0.5 bg-gray-200 top-0"></div>
<div class="relative mb-8 pl-12">
<div class="absolute left-0 w-8 h-8 rounded-full bg-blue-500 text-white flex items-center justify-center">
<span class="font-bold">1</span>
</div>
<h3 class="font-medium text-lg mb-2">Select Windows 11 Image</h3>
<p class="text-gray-600">Choose the Windows 11 WIM or VHDX file you want to modify</p>
</div>
<div class="relative mb-8 pl-12">
<div class="absolute left-0 w-8 h-8 rounded-full bg-blue-400 text-white flex items-center justify-center">
<span class="font-bold">2</span>
</div>
<h3 class="font-medium text-lg mb-2">Add DSC Resources</h3>
<p class="text-gray-600">Include required DSC v3 resources and modules</p>
</div>
<div class="relative mb-8 pl-12">
<div class="absolute left-0 w-8 h-8 rounded-full bg-blue-300 text-white flex items-center justify-center">
<span class="font-bold">3</span>
</div>
<h3 class="font-medium text-lg mb-2">Configure Provisioning</h3>
<p class="text-gray-600">Set up system and user context configurations</p>
</div>
<div class="relative pl-12">
<div class="absolute left-0 w-8 h-8 rounded-full bg-blue-200 text-white flex items-center justify-center">
<span class="font-bold">4</span>
</div>
<h3 class="font-medium text-lg mb-2">Build & Deploy</h3>
<p class="text-gray-600">Generate the customized image and deployment package</p>
</div>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="p-6 dsc-config-box">
<h3 class="text-lg font-semibold mb-3 flex items-center">
<i class="fas fa-server mr-2 text-blue-500"></i> System Configuration
</h3>
<p class="text-gray-600 mb-4">Global settings applied to the entire system</p>
<ul class="space-y-2">
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Network settings</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Security policies</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Windows features</span>
</li>
</ul>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="p-6 dsc-config-box" style="border-left-color: #8b5cf6;">
<h3 class="text-lg font-semibold mb-3 flex items-center">
<i class="fas fa-user mr-2 text-purple-500"></i> User Configuration
</h3>
<p class="text-gray-600 mb-4">Settings applied to each user profile</p>
<ul class="space-y-2">
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Application preferences</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Environment variables</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Start menu layout</span>
</li>
</ul>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="p-6 dsc-config-box" style="border-left-color: #10b981;">
<h3 class="text-lg font-semibold mb-3 flex items-center">
<i class="fas fa-sync-alt mr-2 text-green-500"></i> Continuous Compliance
</h3>
<p class="text-gray-600 mb-4">Ongoing configuration management</p>
<ul class="space-y-2">
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Automatic remediation</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Drift detection</span>
</li>
<li class="flex items-center">
<i class="fas fa-check-circle text-green-500 mr-2"></i>
<span>Reporting</span>
</li>
</ul>
</div>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-6">
<h2 class="text-xl font-semibold mb-4 flex items-center">
<i class="fas fa-file-import mr-2 text-blue-500"></i> Inject DSC Resources
</h2>
<div class="mb-6">
<label class="block text-gray-700 font-medium mb-2">Windows 11 Image</label>
<div class="flex">
<input type="text" class="flex-grow px-4 py-2 border border-gray-300 rounded-l-lg focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder="C:\Images\Win11_22H2.wim">
<button class="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-r-lg">
<i class="fas fa-folder-open mr-1"></i> Browse
</button>
</div>
</div>
<div class="mb-6">
<label class="block text-gray-700 font-medium mb-2">DSC Resources</label>
<div class="space-y-3">
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
<div class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" checked>
<span class="ml-2">PSDesiredStateConfiguration</span>
</div>
<span class="text-sm text-gray-500">Core module</span>
</div>
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
<div class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" checked>
<span class="ml-2">ComputerManagementDsc</span>
</div>
<span class="text-sm text-gray-500">v9.0.0</span>
</div>
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
<div class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded">
<span class="ml-2">SecurityPolicyDsc</span>
</div>
<span class="text-sm text-gray-500">v2.10.0</span>
</div>
<div class="flex items-center justify-between p-3 bg-gray-50 rounded-lg">
<div class="flex items-center">
<input type="checkbox" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" checked>
<span class="ml-2">NetworkingDsc</span>
</div>
<span class="text-sm text-gray-500">v8.2.0</span>
</div>
</div>
<button class="mt-3 text-blue-500 hover:text-blue-700 text-sm font-medium">
<i class="fas fa-plus-circle mr-1"></i> Add custom module
</button>
</div>
<div class="mb-6">
<label class="block text-gray-700 font-medium mb-2">Configuration Mode</label>
<div class="grid grid-cols-3 gap-4">
<div class="border rounded-lg p-4 text-center cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition">
<i class="fas fa-bolt text-yellow-500 text-2xl mb-2"></i>
<h4 class="font-medium">ApplyAndAutoCorrect</h4>
<p class="text-sm text-gray-600">Apply and monitor for drift</p>
</div>
<div class="border rounded-lg p-4 text-center cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition border-blue-500 bg-blue-50">
<i class="fas fa-check-circle text-green-500 text-2xl mb-2"></i>
<h4 class="font-medium">ApplyOnly</h4>
<p class="text-sm text-gray-600">Apply once</p>
</div>
<div class="border rounded-lg p-4 text-center cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition">
<i class="fas fa-eye text-purple-500 text-2xl mb-2"></i>
<h4 class="font-medium">ApplyAndMonitor</h4>
<p class="text-sm text-gray-600">Apply and report drift</p>
</div>
</div>
</div>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden mb-8">
<div class="p-6">
<h2 class="text-xl font-semibold mb-4 flex items-center">
<i class="fas fa-code mr-2 text-blue-500"></i> Configuration Script
</h2>
<div class="mb-4">
<div class="flex space-x-2 mb-2">
<button class="px-3 py-1 bg-blue-500 text-white rounded text-sm">
<i class="fas fa-save mr-1"></i> Save
</button>
<button class="px-3 py-1 bg-gray-200 text-gray-700 rounded text-sm">
<i class="fas fa-redo mr-1"></i> Reset
</button>
<button class="px-3 py-1 bg-gray-200 text-gray-700 rounded text-sm">
<i class="fas fa-question-circle mr-1"></i> Help
</button>
</div>
<div class="border border-gray-300 rounded-lg overflow-hidden">
<div class="bg-gray-800 text-white p-2 text-sm font-mono flex justify-between items-center">
<span>configuration.ps1</span>
<button class="text-gray-300 hover:text-white">
<i class="fas fa-expand"></i>
</button>
</div>
<div class="p-4 bg-gray-900 text-green-400 font-mono text-sm overflow-x-auto">
<pre><code># Windows 11 DSC v3 Configuration
configuration Win11EnterpriseConfig {
Import-DscResource -ModuleName PSDesiredStateConfiguration
Import-DscResource -ModuleName ComputerManagementDsc
Import-DscResource -ModuleName NetworkingDsc
Node 'localhost' {
# System-wide configurations
WindowsFeature 'NetFramework45' {
Name = 'NET-Framework-45-Core'
Ensure = 'Present'
}
Registry 'DisableAutoRestartSignOn' {
Key = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
ValueName = 'DisableAutomaticRestartSignOn'
ValueData = '1'
ValueType = 'Dword'
Ensure = 'Present'
}
# User context configurations
Script 'ConfigureStartLayout' {
GetScript = { @{ Result = (Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml") } }
SetScript = {
$layout = @"
&lt;LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"&gt;
&lt;LayoutOptions StartTileGroupCellWidth="6" /&gt;
&lt;DefaultLayoutOverride&gt;
&lt;StartLayoutCollection&gt;
&lt;defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout"&gt;
&lt;start:Group Name="Productivity" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout"&gt;
&lt;start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" /&gt;
&lt;/start:Group&gt;
&lt;/defaultlayout:StartLayout&gt;
&lt;/StartLayoutCollection&gt;
&lt;/DefaultLayoutOverride&gt;
&lt;/LayoutModificationTemplate&gt;
"@
$layout | Out-File "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml" -Force
}
TestScript = { Test-Path "$env:ProgramData\Microsoft\Windows\Start Menu\Programs\layout.xml" }
}
}
}
# Generate MOF file
Win11EnterpriseConfig -OutputPath "C:\DSCConfig\"
</code></pre>
</div>
</div>
</div>
<div class="flex items-center text-sm text-gray-600">
<i class="fas fa-info-circle mr-2 text-blue-500"></i>
DSC v3 supports cross-node dependencies and improved idempotency
</div>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="p-6">
<h2 class="text-xl font-semibold mb-4 flex items-center">
<i class="fas fa-rocket mr-2 text-blue-500"></i> Build & Deploy
</h2>
<div class="mb-6">
<div class="flex items-center justify-between mb-2">
<label class="text-gray-700 font-medium">Deployment Options</label>
<div class="flex items-center space-x-4">
<div class="flex items-center">
<input type="radio" id="buildOnly" name="deployOption" class="h-4 w-4 text-blue-600 focus:ring-blue-500" checked>
<label for="buildOnly" class="ml-2">Build image only</label>
</div>
<div class="flex items-center">
<input type="radio" id="buildAndDeploy" name="deployOption" class="h-4 w-4 text-blue-600 focus:ring-blue-500">
<label for="buildAndDeploy" class="ml-2">Build and deploy</label>
</div>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
<div>
<label class="block text-gray-700 text-sm font-medium mb-1">Output directory</label>
<div class="flex">
<input type="text" class="flex-grow px-4 py-2 border border-gray-300 rounded-l-lg focus:outline-none focus:ring-2 focus:ring-blue-500" value="C:\DSCDeployment\">
<button class="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-r-lg">
<i class="fas fa-folder-open mr-1"></i>
</button>
</div>
</div>
<div>
<label class="block text-gray-700 text-sm font-medium mb-1">Image version</label>
<input type="text" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" value="Win11_22H2_DSCv3_1.0">
</div>
</div>
<div class="flex items-center mb-4">
<input type="checkbox" id="createChecksum" class="h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded" checked>
<label for="createChecksum" class="ml-2 text-gray-700">Create checksum file</label>
</div>
</div>
<div class="border-t pt-4">
<div class="flex justify-between items-center mb-4">
<div>
<h3 class="font-medium">Ready to build</h3>
<p class="text-sm text-gray-600">Estimated time: 8-12 minutes</p>
</div>
<button id="buildButton" class="bg-blue-600 hover:bg-blue-700 text-white px-6 py-3 rounded-lg font-medium flex items-center">
<i class="fas fa-cogs mr-2"></i> Build Windows 11 Image with DSC
</button>
</div>
<div id="progressContainer" class="hidden">
<div class="flex justify-between text-sm text-gray-600 mb-1">
<span>Processing</span>
<span id="progressPercent">0%</span>
</div>
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div id="progressBar" class="progress-bar bg-blue-600 rounded-full" style="width: 0%"></div>
</div>
<div id="statusMessage" class="text-sm text-gray-600 mt-2">
Preparing build environment...
</div>
</div>
</div>
</div>
</div>
</div>
<script>
document.getElementById('buildButton').addEventListener('click', function() {
const progressContainer = document.getElementById('progressContainer');
const progressBar = document.getElementById('progressBar');
const progressPercent = document.getElementById('progressPercent');
const statusMessage = document.getElementById('statusMessage');
// Show progress container
progressContainer.classList.remove('hidden');
this.disabled = true;
this.classList.remove('bg-blue-600', 'hover:bg-blue-700');
this.classList.add('bg-blue-400', 'cursor-not-allowed');
// Simulate build process
let progress = 0;
const interval = setInterval(() => {
progress += Math.floor(Math.random() * 5) + 1;
if (progress > 100) progress = 100;
progressBar.style.width = `${progress}%`;
progressPercent.textContent = `${progress}%`;
// Update status messages
if (progress < 20) {
statusMessage.textContent = "Mounting Windows image...";
} else if (progress < 40) {
statusMessage.textContent = "Injecting DSC resources...";
} else if (progress < 60) {
statusMessage.textContent = "Applying system configurations...";
} else if (progress < 80) {
statusMessage.textContent = "Configuring user context...";
} else if (progress < 100) {
statusMessage.textContent = "Finalizing image...";
} else {
statusMessage.innerHTML = '<span class="text-green-600 font-medium">Build completed successfully!</span>';
clearInterval(interval);
// Create confetti effect
const confetti = document.createElement('div');
confetti.innerHTML = `
<div class="fixed inset-0 flex items-center justify-center z-50 pointer-events-none">
<div class="animate-bounce text-4xl">
<i class="fas fa-check-circle text-green-500"></i>
</div>
</div>
`;
document.body.appendChild(confetti);
setTimeout(() => {
confetti.remove();
}, 2000);
}
}, 500);
});
// Add highlight animation to sections when they come into view
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('highlight');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.dsc-config-box').forEach(box => {
observer.observe(box);
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=sundmoon/windows-provisioning" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>