Чтобы создать службу Windows с использованием PowerShell и удостовериться, что она запускается с правами администратора, вам нужно учитывать несколько важных моментов:
1. **Параметр `-Credential`:** Этот параметр используется для указания учетных данных, необходимых для выполнения команды. Если вы запускаете PowerShell с правами администратора, вам не нужно указывать учетные данные, так как текущий сеанс уже имеет необходимые права. Например, просто уберите этот параметр:
```powershell
$Parameters = @{
Name = "SomeService"
BinaryPathName = "c:/path/to/some/service.exe"
StartupType = "Manual"
}
New-Service @Parameters
```
2. **Путь к исполняемому файлу:** Убедитесь, что путь к исполняемому файлу службы указан правильно и доступен для выполнения. Если это делает служба, это может быть какой-то скрипт или программа, которая ожидает получать права администратора.
3. **Права пользователей:** Если вы хотите, чтобы служба запускалась под учетной записью, которая имеет права администратора, вы можете использовать параметр `-Credential` с правильными учетными данными, но, как уже упоминалось, если вы просто хотите использовать свою текущую учетную запись, то этот параметр не требуется.
4. **Использование `sc.exe`:** В некоторых случаях может быть полезно создать службу через `sc.exe`, что может упростить задачу. Вот пример, как это сделать:
```powershell
sc create "SomeService" binPath= "c:\path\to\some\service.exe" start= demand
```
Обратите внимание на пробел после `binPath=`, который обязателен требованию команды `sc`.
Если после выполнения этих шагов проблема всё ещё возникает, проверьте, что у вас есть права на создание службы. Также убедитесь, что ваш антивирус или другие средства безопасности не блокируют процесс создания служб.