如何编写 powershell 脚本来安装 RDS-RD-Server 角色?

如何编写 powershell 脚本来安装 RDS-RD-Server 角色?

我假设我只需将以下内容放入名为 filename.ps1 的文件中并按如下方式运行它:

 powershell.exe -noexit 'filename.ps1'

它可以运行,但是不执行任何操作。

在 filename.ps1 中我有以下两行:

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

我遗漏了什么或者做错了什么?

执行策略设置为 RemoteSigned各个命令在 PS 内部确实可以运行,无需脚本。

答案1

我使用的命令:powershell.exe -noexit 'filename.ps1' 如果文件名路径中有空格,则仅需要单引号。我删除了单引号,出于某种原因,这有效。但我不太明白为什么它有效...

通过放置引号,您的输出仅返回引用的文本。如果您的命令如下所示:

powershell.exe -noexit & 'filename.ps1'

它会执行脚本,因为它有一个调用运算符(&)

有没有办法以管理员身份运行批处理文件中的 powershell.exe 命令?如果我必须右键单击它并以管理员身份运行,那么大规模自动化的目的就落空了。

运行运行脚本的批处理文件似乎违反直觉......您尝试以什么容量运行该脚本?

答案2

@Sephethus - 这个答案是针对您评论中的一个问题,而不是发布的问题(还没有足够的代表来对此交流发表评论)

“有没有办法以管理员身份在批处理文件中运行 powershell.exe 命令?如果我必须右键单击它并以管理员身份运行,那么大规模自动化的目的就落空了。– Sephethus 昨天”

是的 - 如果您在服务器列表上远程调用该命令,它将以管理员身份运行该命令,因为只有本地管理员才有权限(默认情况下)使用 powershell 远程调用命令。

如果您想要一些示例代码,请告诉我。

相关内容