Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在运行脚本之前请求计算机名_Powershell - Fatal编程技术网

Powershell 在运行脚本之前请求计算机名

Powershell 在运行脚本之前请求计算机名,powershell,Powershell,我有一个脚本,可以停止服务,然后重命名本地计算机上的文件夹。我希望能够通过要求命令执行器输入要运行脚本的计算机名,然后执行该脚本,从而远程运行 试试看{ 停止服务Wauserv-强制 }抓住{ 写入错误“无法停止服务WUAUSERV” 开始睡眠-5秒 出口 } 试一试{ 将项目“C:\Windows\SoftwareDistribution”重命名为“C:\Windows\SoftwareDistribution.old”-强制 }抓住{ 写入错误“无法重命名文件夹:(” 启动服务Wauserv

我有一个脚本,可以停止服务,然后重命名本地计算机上的文件夹。我希望能够通过要求命令执行器输入要运行脚本的计算机名,然后执行该脚本,从而远程运行

试试看{
停止服务Wauserv-强制
}抓住{
写入错误“无法停止服务WUAUSERV”
开始睡眠-5秒
出口
}
试一试{
将项目“C:\Windows\SoftwareDistribution”重命名为“C:\Windows\SoftwareDistribution.old”-强制
}抓住{
写入错误“无法重命名文件夹:(”
启动服务Wauserv
开始睡眠-5秒
出口
}
启动服务Wauserv

我可能会让脚本在顶部添加一个参数

Param(
[参数(必需)][字符串]$ComputerName
)
如果未提供值,则
强制值将提示用户输入值

或者,如果您确实想手动询问用户,您可以使用以下方法:

$ComputerName=读取主机“ComputerName”
这还将提示用户输入变量

然后使用
Invoke命令
在远程计算机上运行逻辑

Invoke命令-ComputerName$ComputerName-ScriptBlock{
#你的代码在这里。。
}
编辑: 更新后,我注意到您通过调用
exit
来终止脚本。我建议您改为使用
return
。如果有人从命令行运行此脚本,脚本将杀死终端,这非常烦人

Edit2:下面是一个完整的工作示例,以及我的建议:

Param(
[参数(必需)][字符串]$ComputerName
)
调用命令-ComputerName$ComputerName-ScriptBlock{
试一试{
停止服务Wauserv-强制
}抓住{
写入错误“无法停止服务WUAUSERV”
开始睡眠-5秒
返回
}
试一试{
将项目“C:\Windows\SoftwareDistribution”重命名为“C:\Windows\SoftwareDistribution.old”-强制
}抓住{
写入错误“无法重命名文件夹:(”
启动服务Wauserv
开始睡眠-5秒
返回
}
启动服务Wauserv
}

您需要查找如何格式化代码,这不容易阅读。无论如何,您正在那里调用
Enter PSSession
,这不在我的示例中。我将更新一个完整的工作示例。很抱歉,谢谢。当我输入计算机名时,我一直收到下面的消息“连接到远程服务器LN-T48-PC19RG1P失败,出现以下错误消息:用户名或密码不正确。”忽略我最后的评论,它确实有效,非常感谢!!