Я понятия не имею, что такое mediaget или что он делает (на самом деле я никогда о нем не слышал), поэтому я не буду это комментировать.
Однако запуск внешних команд через PowerShell очень распространен и хорошо документирован. Смотрите эти:
PowerShell: запуск исполняемых файлов
Выполнение внешних команд в PowerShell выполнено правильно
Все это, как говорится ...
Если вы используете консольный сервер powershell.exe, это одно, а все, что вы делаете, это вызываете элементы VBScript и cmd.exe. Так как это так, то почему бы просто не использовать cmd.exe?
Тем не менее, PowerShell может делать это напрямую, поэтому зачем делать дополнительные шаги к .bat и .vbs?
Пример: грубый и непроверенный, потому что мне не нужно загружать и тестировать медиагеет
Start-Process -FilePath 'telnet.exe' -ArgumentList '162.100.10.10'
[system.reflection.assembly]::loadwithpartialname("System.Windows.Forms")
$SendKeys = [System.Windows.Forms.SendKeys]
$sendkeys::SendWait('mediaGet gei,1')
Start-Sleep -Seconds .5
$sendkeys::SendWait("{ENTER}")
Start-Sleep -Seconds .5
$sendkeys::SendWait("exit{ENTER}")
Вы даже можете заменить Telnet своим собственным кодом, используя пространство имен .Net.
New-Object System.Net.Sockets.TcpClient
Называя это так ...
New-Object System.Net.Sockets.TcpClient ('162.100.10.10', 80)
Вы можете использовать это, чтобы написать свой собственный модуль или использовать его с MS powershellgallery.com .
Быстрый поиск на YouTube показывает, что mediaget - это инструмент для загрузки через Интернет.
Если все, что вы делаете, это заходите на сайт / ftp-сайт, чтобы загрузить файл, вы можете сделать это прямо в PowerShell. Смотрите это:
3 способа загрузки файлов с помощью PowerShell