我有一个用于在其他计算机上远程执行命令的脚本,但是...当使用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
Run Code Online (Sandbox Code Playgroud)
如你所见,我们只是写
$cmde = "$cmd > $ph"
Run Code Online (Sandbox Code Playgroud)
如果我使用PowerShell命令我使用
$cmde = "$cmd | Out-File $ph"
Run Code Online (Sandbox Code Playgroud)
它工作正常.任何建议赞赏
你为什么这么做?您可以使用WMI获取远程计算机的IP详细信息.
Get-WMIObject -ComputerName "RemoteServer" Win32_NetworkAdapterConfiguration -Filter "IPEnabled=$true" | Out-File $env:TEMP\ipdetails.txt
Run Code Online (Sandbox Code Playgroud)
现在,一旦拥有该文件,就可以使用脚本中的命令移动它.
| 归档时间: |
|
| 查看次数: |
1707 次 |
| 最近记录: |