【问题标题】:PS Script to install software from remote domain share用于从远程域共享安装软件的 PS 脚本
【发布时间】:2019-11-16 06:00:23
【问题描述】:

我正在创建一个 PowerSell 脚本,以从位于需要身份验证的不同域的远程共享中安装软件。 因此,如果我尝试从目标服务器浏览到远程域共享,我必须输入用户名/密码(来自远程域)进行身份验证。

有没有办法在 PowerShell 中说明此身份验证? 我会为此目的使用 PSCredential 吗?

我的脚本会将文件从远程共享复制到本地计算机,然后运行安装程序

Param{
   [ValidateScript({Test-Path $_})]   
      [String]$RemoteShare="\\remote.domain\share"
}

$Localfolder = "C:\temp"
$Software1 = "Examplesoftware.exe"

Copy-Item -Path (Join-Path -Path $RemoteShare -Childpath $Software1) -Destination $Localfolder

错误:

WARNING: , System.Management.Automation.ItemNotFoundException
WARNING: Cannot find path '\\remote.domain\share\Examplesoftware.exe' because it does not exist.

谢谢

【问题讨论】:

  • 尝试创建New-PSSession,然后连接到远程计算机。
  • 请粘贴完整的错误信息。

标签: powershell


【解决方案1】:

首先启用PSRemoting:

Enable-PSRemoting -Force

然后,创建一个新的 PS 会话:

New-PSSession -Session $session -Credential Domain01\User01

最后你可以尝试这样的事情:

Copy-Item -FromSession $session C:\Programs\temp\test.txt -Destination C:\Programs\temp\test.txt

这里有两个信息链接:

PowerShell explained - PS remoting

PSRemoting

Copy files

【讨论】:

  • 谢谢亚历克斯。但这不会在远程服务器上运行安装程序吗?我试图做相反的事情:在本地服务器上运行脚本,从远程域共享中检索安装程序以在本地执行
  • @Norskyi,我编辑了一个新命令。尝试将Copy-Item-FromSession 参数一起使用。如果它不起作用,请显示屏幕截图并确保问题不在于您的凭据或简单的路径错误。
  • 感谢玩具亚历克斯,它成功了!我知道这是一个延伸,但有没有办法使用当前/登录用户的密码来避免登录提示?用户名和密码在域中匹配。
  • 另外,我可以让它与 UNC 一起工作,而不是 "C:\Pro..." 吗?
  • @Norskyi,您可以尝试从 PSGallery 安装 CredentialManager 模块。这使您能够访问您的 Microsoft 凭据管理器。我个人没有广泛使用它,但它可能值得一试。使用 UNC 时会出现什么错误?
猜你喜欢
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 2018-01-27
  • 2020-07-19
  • 2014-09-18
  • 1970-01-01
  • 2018-06-17
  • 2017-01-13
相关资源
最近更新 更多