Я пытаюсь запустить следующую команду в Powershell на компьютере под управлением Server 2012:

makecert -r -pe -n CN="*.$domainVariable" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine

Я получаю ошибку:

makecert : The term 'makecert' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ makecert -r -pe -n CN="*.$domainVariable" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6 ...
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (makecert:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Итак, я выполнил эту команду после некоторых онлайн-исследований:

set-location 'C:\Program Files\QACloneAutomation' makecert -r -pe -n CN="*.$domainVariable" -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine

Теперь я получаю эту ошибку:

Set-Location : Parameter cannot be processed because the parameter name 'e' is ambiguous. Possible matches include:
-ErrorAction -ErrorVariable.
At C:\Users\Administrator\Desktop\cloneSetup.ps1:48 char:107
+ ...  -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine
+                    ~~
    + CategoryInfo          : InvalidArgument: (:) [Set-Location], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameter,Microsoft.PowerShell.Commands.SetLocationCommand

Мне интересно, если кто-нибудь знает о решении этой проблемы. Я видел, как один человек отправил билет в Microsoft Connect около 8 лет назад на ту же проблему (билет № 183738), но у меня не было доступа к Connect, чтобы узнать, каков был результат.

1 ответ1

0

Когда дело доходит до Powershell, вам действительно нужно дать полное имя своим командам, не связанным с PowerShell. Поэтому вместо makecert вы должны использовать makecert.exe .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .