Powershell,Keberos Double Hop,远程ScheduledJob

时间:2018-08-31 06:37:18

标签: powershell server permissions

我有一个典型的Keberos Double Hop错误。我遇到了一个简单的代码。

我想从一台中央服务器远程启动带有scheduldjob的几台服务器。但是,应重新启动的服务器及其重新启动时间存储在Centralserver上的csv文件中。一旦我调用,我就会进行第一跳,而第二跳是我需要读取csv之后立即发生的。

我有点发现使用2个splitet脚本的解决方法。但是我得到了错误

  

调用命令:无法加载文件\ svkev01 \ C $ \ CSV \ Run2.ps1   因为您选择不立即运行此软件。

我确实更改了GPO Global的读取和运行每个脚本的权限 我也尝试在脚本运行中不受限制地使用Policy,但是它没有改变任何内容。 因此,我需要您的帮助

复制代码:

首次尝试(双跳问题)

$listofserver = Import-Csv -Path "\\centralserver\servertorestart.csv" -UseCulture

Foreach ($server in $listofserver) 
{
    $servername = $server.name
    #hop 1
    Invoke-Command -ComputerName $servername -ScriptBlock{
    #hop 2
        $listofserver = Import-Csv -Path "\\centralserver\servertorestart.csv" -UseCulture 
        $servername = $server.name 
        [datetime]$tasktime = $server.time 
        $T = New-JobTrigger -Once -At $tasktime 
        Register-ScheduledJob -Name "Scheduled Server Restart" -Trigger $T -ScriptBlock{ 
            Restart-Computer -ComputerName $servername 
            write-host "Server $servername restarded" 
        }
     }
}

双重脚本(称为错误提示)

脚本1

Set-ExecutionPolicy unrestricted
$listofserver = Import-Csv -Path "\\centralserver\servertorestart.csv" -UseCulture
$servern = $listofserver.name
$s = New-PSSession -ComputerName $servern -Credential Domain\Administrator
Foreach ($server in $listofserver) 
{
    #hop 1
    Invoke-Command -Session $s -FilePath "\\centralserver\Run2.ps1"
}

脚本2

Set-ExecutionPolicy unrestricted
$listofserver = Import-Csv -Path "\\centralserver\servertorestart.csv" -UseCulture

Foreach ($server in $listofserver) 
{
    $servername = $server.name 
    [datetime]$tasktime = $server.time 
    $T = New-JobTrigger -Once -At $tasktime

    Register-ScheduledJob -Name "Scheduled Server Restart" -Trigger $T -ScriptBlock{ 
        Restart-Computer -ComputerName $servername -Force 
        write-host "Server $servername restarded"
    }
}

0 个答案:

没有答案