有人可以逐行解释以下代码吗?

时间:2019-07-14 20:51:04

标签: batch-file cmd

我使用以下代码在家庭版中启用Windows 10 Pro功能。我在网上找到了这段代码,它似乎可以正常工作,但想了解它在做什么。

我不知道batch scripting language。同样是什么语言,我看到一些有关Powershell脚本和MS-DOS的课程,它们是否相关?是MS-DOS还是Powershell?

@echo off
pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt

for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause

上面的代码为Home Edition提供了组策略编辑器。

以下代码声称在Home Edition上同样启用了沙箱。有人可以解释这些代码吗?

@echo off

echo Checking for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

echo Permission check result: %errorlevel%

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

echo Running created temporary "%temp%\getadmin.vbs"
timeout /T 2
"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0" 

echo Batch was successfully started with admin privileges
echo .
cls
Title Sandbox Installer

pushd "%~dp0"

dir /b %SystemRoot%\servicing\Packages\*Containers*.mum >sandbox.txt

for /f %%i in ('findstr /i . sandbox.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"

del sandbox.txt

Dism /online /enable-feature /featurename:Containers-DisposableClientVM /LimitAccess /ALL

pause

我已经尝试过组策略编辑器的代码,并且可以使用,但是还没有尝试过沙盒的代码,并且由于我看到有人抱怨,所以我想看看那里是否没有恶意代码。

有人还能告诉我使用此类代码在Home中获得Pro功能是否合法吗?

0 个答案:

没有答案