2017-05-05 218 views
0

我使用PowerShell将远程主机的一些文件通过FTP上载。在这台主机上运行Windows 7 Embeded。原来有EWF(增强型写入过滤器)。所以重新启动后上传的文件就没了。为了保存更改,它需要在cmd(在远程主机)提交它们:ewfmgr d:-commit如何在PowerShell代码中包含此命令? 好的。我附加代码在PowerShell中运行远程cmd命令

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运行,它的工作原理,但它是unconfortable,并采取大量的时间。还有其他方法可以同时为多个主机执行一次这样的操作吗?

回答

1

例码:

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

你有你的主机上启用PowerShell远程调用这样的命令(https://technet.microsoft.com/en-us/library/ff700227.aspx

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

问候,罗尼

+0

OK,但在远程主机(嵌入式Win 7的)没有PowerShell中,只有DOS CMD。 – TraPS

+0

然后,我没有解决方案..对不起... –