【发布时间】:2023-03-20 04:59:01
【问题描述】:
我有一个用于在其他机器上远程执行命令的脚本,但是......当使用 windows cmd.exe 命令时,它不会写入远程服务器上的文件。这是代码。
$server = 'serverName'
$Username = 'userName'
$Password = 'passWord'
$cmd = "cmd /c ipconfig"
########################
########################
$ph = "C:\mPcO.txt"
$rph = "\\$server\C$\mPcO.txt"
$cmde = "$cmd > $ph"
$pass = ConvertTo-SecureString -AsPlainText $Password -Force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist "$Username",$pass
Invoke-WmiMethod win32_process -name create -ComputerName $server -ArgumentList $cmde Credential $mycred
cmd /c net use \\$server\C$ $password /USER:$username
Get-Content $rph
Remove-Item $rph
cmd /c net use \\$server\C$ /delete
如你所见,我们只写了
$cmde = "$cmd > $ph"
如果我使用 PowerShell 命令,我会使用
$cmde = "$cmd | Out-File $ph"
而且效果很好。任何建议表示赞赏
【问题讨论】:
标签: powershell cmd