Назад | Перейти на главную страницу

Как мне написать сценарий PowerShell для установки роли RDS-RD-Server?

Я предполагал, что просто помещу следующее в файл с именем filename.ps1 и запущу его так:

 powershell.exe -noexit 'filename.ps1'

Он работает, но ничего не делает.

Внутри filename.ps1 у меня есть две строки:

Import-Module ServerManager
Add-WindowsFeature RDS-RD-Server -restart

Что я упускаю или делаю не так?

Для политики выполнения задано значение RemoteSigned. и отдельные команды работают внутри PS без сценария.

Команда, которую я использовал: powershell.exe -noexit 'filename.ps1' Она требует только одинарных> кавычек, если в пути к имени файла есть пробел. Я удалил одинарные кавычки, и по какой-то причине это сработало. Я не совсем понимаю, почему это сработало ...

Помещая кавычки, ваш вывод возвращает только цитируемый текст. Если ваша команда выглядела так:

powershell.exe -noexit & 'filename.ps1'

он выполнит сценарий, потому что у него есть оператор вызова (&)

Есть ли способ запустить команду powershell.exe в пакетном файле от имени администратора? Если мне нужно щелкнуть правой кнопкой мыши и запустить от имени администратора, это побеждает> цель массовой автоматизации.

Запуск командного файла, который запускает сценарий, кажется интуитивно противоречивым ... На какой мощности вы пытаетесь запустить сценарий?

@Sephethus - это ответ на вопрос в ваших комментариях, а не на опубликованный вопрос (пока у вас недостаточно репутации, чтобы прокомментировать этот обмен)

«Есть ли способ запустить команду powershell.exe в пакетном файле от имени администратора? Это противоречит цели массовой автоматизации, если мне придется щелкнуть ее правой кнопкой мыши и запустить от имени администратора. - Сефетус вчера»

Да - если вы вызываете команду удаленно на списке серверов, она запускает команду от имени администратора, потому что только локальные администраторы имеют разрешения (по умолчанию) для удаленного вызова команд с помощью PowerShell.

Дайте мне знать, если вам нужен образец кода.