2017-05-05 271 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

然後,我沒有解決方案..對不起... –