28 Mart 2020 Cumartesi

Powershell Invoke-Command - Bir Komut veya Script Çalıştırır

Giriş
Başka bir powershell script'ini çalıştırmak için kullanılabilir.

ComputerName seçeneği
Uzak bilgisayarda bir komut çalıştırır. 

- Eğer tüm komutlarımızın uzak bilgisayarda çalışmasını istiyorsak sürekli Invoke-Command -ComputerName ... şeklide yazmak yerine Enter-PSSession kullanılabilir. Açıklaması şöyle
If you have several cmdlets you want to run on the remote PC, instead of repeatedly typing the Invoke-Command cmdlet and the remote IP address, you can start a remote session instead.
New-PSSession yazısına göz atabilirsiniz

Örnek
Şöyle yaparız.
$strings = Invoke-Command -FilePath C:\...\script1.ps1 
  -ComputerName localhost -Credential $credential
ScriptBlock seçeneği
Örnek
Şöyle yaparız. scriptBlock arka planda çalıştırılacak metodu temsil eder. Bu metod bir parametre ile çağrılır
$Param1 = "..."
$Computers =(Get-Content "computers.txt")

foreach ($computer in $Computers) {

  $scriptBlock = {

    param($ScriptParam1)

    ...

  }

  Invoke-Command ScriptBlock $scriptBlock -ArgumentList ($Param1)

}

Hiç yorum yok:

Yorum Gönder