Как запустить приложение Windows XP Virtual PC с помощью Powershell из Windows 7?

Как запустить приложение Windows XP Virtual PC с помощью Powershell из Windows 7?

Это ярлык приложения, которое я запускаю из Windows 7, который запускает программу в режиме Windows XP.

%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchVMSal "Windows XP Mode" "||fc9407e9" "wIntegrate"

Похоже, мне не удаётся заставить команду PS Start-process работать для этой цели.

Код, который я использую:

Start-Process %SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchVMSal "Windows XP Mode" "||fc9407e9" "wIntegrate"

Вот какую ошибку я получаю:

Start-Process : A positional parameter cannot be found that accepts argument 'Windows XP Mode'.
At C:\Users\username.domain\Desktop\rebootpick.ps1:13 char:14
+ Start-Process <<<<  %SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\VMCPropertyHandler.dll,LaunchVMSal "Windows XP Mode" "||fc9407e9" "wIntegrate"
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

Удалось ли кому-нибудь запустить приложения Windows XP Mode из Powershell в Windows 7?

решение1

Это должно вам помочь:

$sysRoot = get-content env:systemroot;
Start-Process $sysRoot\system32\rundll32.exe -ArgumentList "$sysRoot\system32\VMCPropertyHandler.dll,LaunchVMSal `"Windows XP Mode`" `"||fc9407e9`" `"wIntegrate`"";
Remove-Variable sysRoot;

Первый трюк: %systemroot% не работает в PS, поэтому мы назначаем переменную ($sysRoot), чтобы получить эту переменную среды в PS.

Следующий трюк заключается в том, чтобы понять, что RunDLL32 предоставлен только один аргумент, и этот аргумент имеет аргументы. Поэтому нам нужно заключить все части аргумента в один аргумент с помощью кавычек. Но нам нужно сохранить существующие кавычки в этом аргументе, поэтому мы экранируем их с помощью `.

Надеюсь, это поможет...

Связанный контент