#windows #powershell #64-bit
#Windows #powershell #64-разрядная
Вопрос:
Я хотел бы запустить блок сценариев, чтобы найти программное обеспечение, доступное в системе. Ниже приведен мой фрагмент кода.
$scriptBlock = {
$key = Get-ItemProperty 'HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall*' |
Where-Object { $_.DisplayName -match 'Skype' };
return $key
}
$installed64 = @(amp; "$env:SystemRootsysnativeWindowsPowerShellv1.0powershell.exe" -ExecutionPolicy Bypass -NoProfile -NonInteractive -Command $scriptBlock)
Когда я выполнил вышеуказанную команду на 64-разрядной машине, я получаю сообщение об ошибке как
amp; : Термин 'C:WINDOWSsysnativeWindowsPowerShellv1.0powershell.exe ' является не распознается как имя командлета, функции, файла сценария или рабочего программа. Проверьте правильность написания имени или, был ли указан путь, проверьте убедитесь, что путь указан правильно, и повторите попытку. В строке: 1 символ: 20 ... led64 = @(amp; "$env:SystemRootsysnativeWindowsPowerShell v1.0 powersh... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Информация о категории: объект не найден: (C:WINDOWSsysn...powershell.exe:Строка) [], исключение CommandNotFoundException FullyQualifiedErrorId: исключение CommandNotFoundException
Я хотел бы запустить команду в «NT AUTHORITY SYSTEM» PowerShell.
Как я могу запустить scriptblock?
Комментарии:
1.
$installed64 = amp; $scriptBlock
?2. Ваша команда будет работать только из 32-разрядного экземпляра PowerShell. Вы запускаете его оттуда? Если нет, воспользуйтесь предложением @AnsgarWiechers.
3. @ mklement0 я хотел бы запустить scriptblock в NT AUTHORITY SYSTEM powershell
4. Почему? Это не должно требоваться ни при каких нормальных обстоятельствах.
5. @surendra, в качестве отступа: чтобы @ notifications были эффективными, между «@» и именем пользователя не должно быть пробелов. Пожалуйста, поясните в своем вопросе, почему вы хотели бы работать с этим идентификатором, и как ваше текущее сообщение об ошибке связано с этим намерением, в частности: вы вызываете это из 32-разрядного экземпляра PowerShell?