首页 文章

从域上的服务器在非域Target上远程执行脚本

提问于
浏览
0

我遇到了一个非常具体的问题:

我的基础设施

  • 组织域中服务器上的驱动程序脚本 - 使用基于用户登录的委派凭据

  • 目标VM - 不在组织域上 - 需要传递的不同本地凭据

  • 共享网络驱动器,其数据应该可以被'2'访问 - 与'1'相同的凭据

我需要做什么:

  • 来自域上的服务器的触发器驱动程序脚本

  • 将目标VM还原为某些现有快照(使用PowerCLI)

  • 使用域相关凭据在目标VM上映射驱动器

  • 执行放置在共享网络驱动器上的一些powershell脚本(这在内部访问同一位置的一些.dat和.bin文件)

我的问题是我无法使用 Invoke-Command 连接到目标VM来执行驱动器映射脚本 . 我得到的错误是:

WinRM cannot process the request. The following error with errorcode 0x8009030e occurred while using
Negotiate authentication: A specified logon session does not exist. It may already have been terminated.
Possibly because:
-Kerberos accepts domain user names, but not local user names.
But I do not have any domain user names, as the VM is not on domain

我试过的:

  • 在ScriptBlock中使用脚本路径调用Command

  • New-PSSession

  • 在登录时将驱动器映射添加为启动脚本 - 但是除非我在每次快照恢复后手动登录到目标VM,否则这不起作用

使用的先决条件:

  • 在驱动程序和目标VM上都启用了PSRemoting

  • 将IP添加为可信主机

  • WinRM配置为处理请求

  • ExecutionPolicy是Unrestricted

  • 防火墙已禁用

2 回答

  • 0

    而不是映射驱动器...为什么不只是对远程机器运行文件?

    Invoke-Command -ComputerName $targetVm `
                   -Credential $credentials `
                   -FilePath Z:\example\file.ps1
    
  • 0

    尝试 test-wsman remotemachine 检查遥控器是否正在运行 .

相关问题