Powershell脚本在本地工作,但不能通过Remote工作

时间:2016-05-13 08:59:50

标签: powershell

可能我在这里错过了一些关键点: 我试图修改PowerShell脚本,它停止服务,复制数据,然后在另一台机器上再次启动服务。 一切正常,但默认Get-Service,如下所示:

Get-Service -Name $serviceName -ComputerName $serverName | Set-Service -Status Stopped

我无法获得服务,无论是通过IP,完全合格的服务器名称,还是我能想到的所有其他名称。所以我想,在服务器上创建一个小型代理脚本是个好主意,非常简单:

param (
    [string]$serviceName,
    [string]$command
)

"Received: " + $serviceName
"Received: " + $command

$serverName = "xx"

if ($command -eq "Stop")
{
    "Stopping Service: " + $serviceName
    Get-Service -Name $serviceName -ComputerName $serverName | Set-Service -Status Stopped
}

if ($command -eq "Start")
{
    "Starting Service: " + $serviceName
    Get-Service -Name $serviceName -ComputerName $serverName | Set-Service -Status Running
}

如果我直接在服务器上运行此脚本,但是如果我通过本地脚本调用它,则通过以下方式执行此操作:

$proxyScriptForServicesPath = $serverRootPath + "HandleWindowsServices.ps1"
$serviceName = $servicePrefix + $folder

$scriptArguments = @()
$scriptArguments += ("-serviceName", $serviceName)
$scriptArguments += ("-command", "stop")

# Stop the Service
Invoke-Expression "$proxyScriptForServicesPath $scriptArguments"

我再次收到消息,即使值完全相同,也无法找到服务。 我想我不能轻易超越系统,但我在这里缺少什么?

0 个答案:

没有答案