Birden çok uzak bilgisayarda PowerShell scripti nasıl çalıştırılır?

Kendi bilgisayarınızda çalışan bir scriptiniz var. Şimdi 20 bilgisayarda daha çalışması gerekiyor. İşte en yaygın dört yöntem, her birinin neye ihtiyaç duyduğu ve nerede tıkandığı.

Güncellendi: · 7 dk okuma

Kısa cevap: tek bir ofis ağında ve domain ortamında Invoke-Command (PowerShell Remoting) Windows'ta hazır gelir ve ücretsizdir. Bilgisayarlar farklı ağlarda, evde veya NAT arkasında olduğunda, buluttaki bir panele dışarı doğru bağlanan bir ajan, VPN ve port açmadan çalışmaya devam eden seçenektir.

1. Invoke-Command ile PowerShell Remoting (WinRM)

PowerShell Remoting Windows'un bir parçasıdır. Her hedef bilgisayarda bir kez etkinleştirirsiniz, ardından kendi bilgisayarınızdan bir script bloğunu birçok makinede paralel çalıştırırsınız:

# Her hedef bilgisayarda bir kez, yönetici PowerShell'de
Enable-PSRemoting -Force

# Yönetici bilgisayarınızdan
Invoke-Command -ComputerName PC-01, PC-02, PC-03 -ScriptBlock {
    Get-Service Spooler | Select-Object Status, Name
}

Blok yerine bir script dosyası çalıştırmak için -FilePath C:\Scripts\cleanup.ps1 kullanın. Sonuçlar, her biri PSComputerName ile etiketlenmiş nesneler olarak döner.

Gereksinimler

Nerede tıkanır: evdeki dizüstüler, VPN'i olmayan şubeler, domain'de olmayan bilgisayarlar.

2. PsExec

Microsoft Sysinternals'ın PsExec aracı, SMB üzerinden uzak bilgisayarda bir işlem başlatır:

psexec \\PC-01 -s powershell -NoProfile -Command "Get-Volume"

3. Uzak masaüstü, bilgisayar bilgisayar

RDP, TeamViewer, AnyDesk veya benzeriyle bağlanın, PowerShell'i açın, scripti yapıştırın. Tek makine için olur. 20 makine için bir öğleden sonranızı alır, kullanıcıyı böler ve neyin nerede çalıştığının kaydı tutulmaz.

4. Her bilgisayarda bir ajan (RMM)

Her bilgisayardaki küçük bir servis, merkezi bir panele dışarı doğru sürekli bağlı kalır. Bağlantıyı bilgisayar başlattığı için açılacak gelen port ve bakımı yapılacak VPN yoktur; ofiste, evde veya otel Wi-Fi'ında aynı şekilde çalışır. CtrlSoft dahil RMM (uzaktan izleme ve yönetim) araçları böyle çalışır.

CtrlSoft ile script çalıştırma

  1. Ajanı her bilgisayara kurun — elle ya da tek komutla çok sayıda bilgisayara sessizce.
  2. Scripts bölümünü açın, PowerShell veya CMD scriptinizi bir kez kaydedin.
  3. Bir cihazda hemen çalıştırın ya da tek cihaz veya tüm grup için bir zamanlama oluşturun.
  4. Her çalışmanın çıktısını ve çıkış kodunu scriptin geçmişinde görün. Hızlı tek seferlik komutlar için cihaz sayfasındaki komut konsolunu kullanın.
Scriptler oturum açmış kullanıcı olarak değil, ajanın Windows servis hesabıyla (Local System) çalışır. $env:USERPROFILE veya HKCU: yerine $env:ProgramData ya da HKLM: gibi makine genelindeki yolları kullanın.

Karşılaştırma

YöntemGereksinimOfis ağı dışındaAynı anda çok bilgisayar
Invoke-CommandWinRM, 5985/5986 portları, domain veya TrustedHostsSadece VPN ileEvet
PsExecSMB 445, ADMIN$ paylaşımı, yönetici hesabıSadece VPN ileKendi döngünüzle
Uzak masaüstüUzak masaüstü aracı ve kullanıcının zamanıAraca bağlıHayır
Ajan / RMMBir kez kurulan ajan, dışarı doğru HTTPSEvetEvet, çıktı geçmişiyle

Geri almaktan kurtaran ipuçları

Kendi bilgisayarlarınızda deneyin

5 cihaza kadar 30 gün ücretsiz. Kart yok, sunucu yok, VPN yok.

30 gün ücretsiz deneyin