Powershell передать переменную в start-job
в powershell я хотел бы узнать лучший способ вызова переменной в начальное задание, поэтому мне не нужно редактировать сценарий для каждого сервера, поскольку он будет конкретным на основе клиента, на котором я разместил свой скрипт.
$Servername = 'Server1'
$pingblock = {
pathping $servername | Out-File C:clientPSServerPing.TXT
}
start-job $pingblock
когда я запускаю свой код выше, я просто получаю файл с помощью, как будто я забыл указать $servername.
1 ответов
использовать -ArgumentList
параметр on Start-Job
например:
Start-Job -Scriptblock {param($p) "`$p is $p"} -Arg 'Server1'
в вашем случае:
$pingblock = {param($servername) pathping $servername | Out-File C:\...\ServerPing.txt}
Start-Job $pingblock -Arg Server1