在PowerShell中运行远程cmd命令

问题描述 投票:0回答:1

我使用PowerShell通过FTP将一些文件上传到远程主机。在这个主机上运行Windows 7 Embedded

事实证明,有EWF(增强型写过滤器)。因此,重新启动后,上传的文件消失了。要保存更改,需要在cmd(在远程主机上)通过以下方式提交它们:ewfmgr d:-commit如何在PowerShell代码中包含此命令?

代码:

  Enable-PSRemoting -Force
        Set-Item wsman:\localhost\client\trustedhosts -Value * -Force
        Restart-Service WinRm
        Test-WSMan $line
        Invoke-Command -ComputerName $line -scriptblock {cmd.exe /c "ewfmgr d: -commit"} -credential $FTPCredential

当我在远程计算机上手动运行Enable-PSRemoting -Force时,它可以工作,但它很不舒服,需要很多时间。有没有另一种方法可以同时为许多主机执行此操作?

powershell cmd remote-access powershell-remoting
1个回答
1
投票

例如,代码:

$session = New-PSSession -ComputerName yourRemoteComputer
Invoke-Command -Session $session -Scriptblock {ewfmgr d: -commit}
Remove-PSSession -Session $session

您必须在主机上启用Powershell Remoting才能调用这样的命令(https://technet.microsoft.com/en-us/library/ff700227.aspx

如果需要将Credentials传输到远程主机,可以将-Credential-Parameter添加到New-PSSession。本文介绍如何将有效的凭据添加到您的脚本(https://technet.microsoft.com/en-us/library/ff700227.aspx

问候,罗尼

© www.soinside.com 2019 - 2024. All rights reserved.