Windows Sandbox kullanarak CPU zamanı nasıl güvenli bir şekilde bağışlanır

Bu dünyada, bilgi işlem gücü mucizelere yol açar. Bilgi işlem gücü, etrafımızda dönen sorunları çözmede önemli bir rol oynayabilir. Bu, tüm teknoloji endüstrisinin ( Microsoft dahil) bir bilgisayarı bu sorunları çözmek için daha verimli hale getirmeye yardımcı olacak Kuantum(Quantum) hesaplamaya yatırım yapmasının nedenlerinden biridir. Folding Home , protein dinamiğinin moleküler dinamik simülasyonlarını gerçekleştiren dağıtılmış bir bilgi işlem projesidir.

Microsoft , herkesin bilgisayar kaynaklarını projeye bağışlayabileceği ayrıntılı bir kılavuz yayınladı. Bu kılavuzda Windows Sandbox ile (Windows Sandbox)CPU zamanını güvenli bir şekilde nasıl bağışlayacağınızdan bahsedeceğiz .

Windows Sandbox ile CPU zamanı nasıl güvenli bir şekilde bağışlanır

Windows Sandbox'ı kullanarak (Windows Sandbox)CPU zamanını güvenli bir şekilde bağışlayın

Başlamadan önce , bilgisayarınızda Windows Sandbox'ın etkinleştirildiğinden(Windows Sandbox is enabled on your computer) emin olmanız gerekir .

Şimdi Not Defteri'ni(Notepad) açın ve aşağıdaki kodu kopyalayıp içine yapıştırın:

#Requires -RunAsAdministrator

#For a custom username, add -username <your username> to the command execution
param([string]$username=‘wsandbox_anon‘)
$ProgressPreference = ‘SilentlyContinue‘ #Progress bar makes things way slower

# Ensure that virtualization is enabled in BIOS.
Write-Output ‘Verifying that virtualization is enabled in BIOS…‘
if ((Get-WmiObject Win32_ComputerSystem).HypervisorPresent -eq $false) {
Write-Output ‘ERROR: Please Enable Virtualization capabilities in your BIOS settings…‘
exit
}

# Determine if Windows Sandbox is enabled.
Write-Output ‘Checking to see if Windows Sandbox is installed…‘
If ((Get-WindowsOptionalFeature –FeatureName ‘Containers-DisposableClientVM‘ –Online).State -ne ‘Enabled‘) {
Write-Output ‘Windows Sandbox is not installed, attempting to install it (may require reboot)…‘
if ((Enable-WindowsOptionalFeature –FeatureName ‘Containers-DisposableClientVM‘ –All –Online –NoRestart).RestartNeeded) {
Write-Output ‘Please reboot to finish installing Windows Sandbox, then re-run this script…‘
exit
}
} else {
Write-Output ‘Windows Sandbox already installed.‘
}

# Download the latest version of FAH.
Write-Output ‘Checking for latest version of foldingathome…‘
$installer_url = ‘https://download.foldingathome.org/releases/public/release/fah-installer/windows-10-32bit/‘

# Use regex to get the latest version from the FAH website.
$version = ((Invoke-WebRequest –Uri $installer_url –UseBasicParsing).Links | Where-Object {$_.href -match ‘^v\d+([.]\d+)?‘} | ForEach-Object {[float]($_.href -replace ‘[^.\d]‘, ‘‘)} | Measure-Object –Max).Maximum
$installer = “$($installer_url)v$($version)/latest.exe“
$installer_size =(Invoke-WebRequest $installer –Method Head –UseBasicParsing).Headers.‘Content-Length‘
Write-Output “Using FAH v$version.“

# Check if the installer is present, download otherwise.
$working_dir = “$env:USERPROFILE\fah_conf“
$install_fname = ‘folding_installer.exe‘
If (!(test-path “$working_dir\$install_fname“) -or (Get-ChildItem “$working_dir\$install_fname“).Length -ne $installer_size ) {
Remove-Item “$working_dir\$install_fname“ –Force –ErrorAction SilentlyContinue
Write-Output “Downloading latest folding executable: $working_dir\$install_fname“
Write-Output “Saving to $working_dir\$install_fname…“
New-Item –ItemType Directory –Force –Path $working_dir | Out-Null
Invoke-WebRequest –Uri $installer –OutFile “$working_dir\$install_fname“
}

# Create the FAH configuration file with the Windows Sandbox FAH team #251561.
Write-Output ‘Creating init command…‘
$conf_file = ‘fah_sandbox_conf.xml‘
Write-Output “Saved [email protected] configuration file to $working_dir\$conf_file“
New-Item –Force –Path “$working_dir\$conf_file“ –ItemType File
Set-Content –Path “$working_dir\$conf_file“ –Value @”
<config>
<user v=’$username‘/>
<team v=’251561’/>
<core-priority v=’low’/>
<power v=’full’ />
<priority v=’realtime’/>
<smp v=’true’/>
<gpu v=’true’/>
<open-web-control v=’true’/>
</config>
“@

<#
Create the script that runs at logon. This script:
1. Starts the installer
2. Creates a volatile working directory
3. Copies the config into the working directory
4. Sets the firewall policies to let FAH run
5. Starts the FAH client
#>
Write-Output ‘Creating init command…‘
$logon_cmd = “$working_dir\init.cmd“
$wdg_install_dir = ‘C:\users\wdagutilityaccount\desktop\fah_conf‘
$wdg_working_dir = ‘C:\users\wdagutilityaccount\desktop\fah_working_dir‘
Write-Output “Saved logon script to $logon_cmd, this will be run upon starting Sandbox.“
New-Item –Force –Path $logon_cmd –ItemType File
Set-Content –Path $logon_cmd –Value @”
start $wdg_install_dir\$install_fname /S
goto WAITLOOP

:WAITLOOP
if exist “C:\Program Files (x86)\FAHClient\FAHClient.exe” goto INSTALLCOMPLETE
ping -n 6 127.0.0.1 > nul
goto WAITLOOP

:INSTALLCOMPLETE
mkdir $wdg_working_dir
cd $wdg_working_dir
echo \”Copying config file to $wdg_working_dir\”
copy $wdg_install_dir\$conf_file $wdg_working_dir
netsh advfirewall firewall Add rule name=”FAHClient” program=”C:\Program Files (x86)\FAHClient\FAHClient.exe” action=allow dir=out
netsh advfirewall firewall Add rule name=”FAHClient” program=”C:\Program Files (x86)\FAHClient\FAHClient.exe” action=allow dir=in
start C:\”Program Files (x86)”\FAHClient\FAHClient.exe –config $wdg_working_dir\$conf_file
“@

# Create the Sandbox configuration file with the new working dir & LogonCommand.
$sandbox_conf = “$working_dir\fah_sandbox.wsb“
Write-Output “Creating sandbox configuration file to $sandbox_conf“
New-Item –Force –Path $sandbox_conf –ItemType File
Set-Content –Path $sandbox_conf –Value @”
<Configuration>
<VGpu>Enable</VGpu>
<MappedFolders>
<MappedFolder>
<HostFolder>$working_dir</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<LogonCommand>
<Command>$wdg_install_dir\init.cmd</Command>
</LogonCommand>
</Configuration>
“@

# For convenience, start the Sandbox.
Write-Output ‘Starting sandbox…‘
Start-Process ‘C:\WINDOWS\system32\WindowsSandbox.exe‘ –ArgumentList $sandbox_conf

Alternatif olarak, Microsoft'un GitHub deposundan(Microsoft’s GitHub repository) indirebilirsiniz .

Tamamlandığında, sadece Windows PowerShell ile çalıştırın ve bilgisayarınızın kaynaklarını dağıtılmış bilgi işlem projesine bağışlayacak bir Windows Sandbox ortamını başlatacaktır.(Windows Sandbox)

All the best!



About the author

Merhaba potansiyel işverenler! Alanında 7 yılı aşkın deneyime sahip son derece deneyimli bir yazılım mühendisiyim. Windows 7 uygulamalarını nasıl tasarlayıp geliştireceğimi biliyorum ve profilimde çok çeşitli Harika Web Siteleri önerileri var. Becerilerim ve deneyimlerim, iyi proje yönetimi becerilerine, programlama bilgisine ve web geliştirme deneyimine sahip yetenekli bir birey arayan herhangi bir şirket için bana mükemmel bir eşleşme sunuyor.



Related posts