Ev - Hizmet
Bir program uzaktan nasıl çalıştırılır. Ağ üzerinden uzak bilgisayarlarda konsol komutlarını yürütme

PsExec - komutları uzaktan yürütmek için bir yardımcı program

Uzak bir bilgisayarda komutları yürütmek oldukça yaygın bir iştir. Bu, sistem ayarlarını değiştirmek, programları yüklemek veya kaldırmak ve çok daha fazlası için gerekli olabilir. Bu tür sorunları çözmek için ciddi olanlardan başlayarak pek çok farklı araç vardır. yazılım sistemleri System Center Configuration Manager gibi ve mütevazı yardımcı programlarla biten Komut satırı. Bu yardımcı programlardan biri bu makalede ele alınacaktır.

PsExec yardımcı programı, Sysinternals'ın PsTools paketinin bir parçasıdır. Komutları çalıştırmanıza izin verir uzak bilgisayarlar ve sisteme kurulum gerektirmez. Yardımcı programı kullanmak için, onu yürütülebilir dosyaların bulunduğu klasöre kopyalamanız (örneğin, C:\Windows\system32) ve herhangi bir komut satırı kabuğundan çalıştırmanız yeterlidir: Cmd veya PowerShell.
Programın çalışma prensibi şu şekildedir: PsExec.exe yürütülebilir dosyasının kaynaklarında başka bir yürütülebilir dosya vardır - bir Windows hizmeti olan PSEXESVC. Komutu çalıştırmadan önce, PsExec bu kaynağı uzaktaki bilgisayarın Admin$ (C:\Windows) gizli yönetim klasörüne, C:\Windows\system32\psexesvc.exe dosyasına açar.

Not. Anahtarı kullanıyorsanız -C Yürütülebilir dosyaların bu sisteme kopyalanması gerektiğini programa belirtin, bunlar da bu klasöre kopyalanacaktır.

Kopyalama tamamlandıktan sonra PsExec, API'yi kullanarak hizmeti yükler ve başlatır. pencere özellikleri Hizmetleri yönetmek için. Ardından, PSEXESVC'yi başlattıktan sonra, verileri aktarmak (komutları girmek ve sonuçları almak) için PSEXESVC ile PsExec arasında bir bağlantı kurulur. Tamamlandığında PsExec hizmeti durdurur ve hizmeti hedef bilgisayardan kaldırır.

PsExec'in sözdizimi aşağıdaki gibidir:

psexec \\bilgisayar [-u kullanıcı [-p şifre]] program [argümanlar]

Bir kullanıcı adı ve şifre belirtmenize gerek yoktur, ardından uzaktan işlem aynı yerden başlatılır. hesap, PsExec programı olarak. Ancak uzak işlemin kimliğine bürünüldüğü için uzak sistemin ağ kaynaklarına erişimi olmayacaktır. Bir kullanıcı adı belirtirseniz, uzak işlem belirtilen hesap altında çalışacak ve bu hesapla uzak sistemin aynı ağ kaynaklarına erişim kazanacaktır. Ancak şifrenin uzaktaki sisteme açık metin olarak gönderildiğini unutmayın.

Örnek olarak uzak bilgisayar SRV1'deki dns önbelleğini temizleyelim:

psexec\\SRV1 ipconfig /flushdns

Komut, kimlik bilgileriniz kullanılarak SRV1 bilgisayarında çalıştırılacaktır. İpconfig tamamlandıktan sonra tüm metin çıktısı bilgisayarınıza gönderilecek ve ayrıca komut yürütme kodu (hata kodu) döndürülecektir. Komut başarıyla yürütüldüyse 0'a eşit olacaktır.

Birkaç komut çalıştırmanız gerekiyorsa, uzaktaki bilgisayarla etkileşimli bir oturum oluşturmak daha iyidir. Bunu yapmak için komutu girin psexec\\SRV1 cmd. Artık yerel bilgisayara girilen komutlar uzak bilgisayar SRV1'de yürütülecektir.


PsExec, bir komutu aynı anda birden fazla bilgisayarda çalıştırmanıza olanak tanır. Bunu yapmak için bilgisayar adlarını virgülle ayırarak girebilirsiniz: psexec\\SRV1, SRV2 veya bunları bir metin dosyasına kaydedin ve ardından adresini belirtin: psexec @c:\comp.txt. Bilgisayar adı yerine yıldız işareti koyarsanız şu şekilde: psexec\\*, ardından komut etki alanındaki tüm bilgisayarlarda yürütülecektir.


Ve bir tane daha ilginç yol PsExec yardımcı programını kullanarak. Bir bilgisayar adı belirtmezseniz komut varsayılan olarak yerel sistemde çalışır. Anahtarı kullanma -S Programları sistem hesabı altında çalıştırabilirsiniz. Örneğin, bir komut satırı oturumu başlatalım: psexec -s cmd ve ardından komutla ben kimimŞu anda hangi kullanıcı altında çalıştığımızı kontrol edelim. Bu özellik, programlarda hata ayıklamak veya gizli SAM ve SECURITY kayıt defteri anahtarlarına erişmek için yararlı olabilir.


Program tuşları hakkında birkaç söz. Her şeyi açıklamayacağım, size en ilginç olanları anlatacağım:

Belirtilen program yürütülmek üzere uzak sisteme kopyalanır. Örneğin:

psexec \\SRV1 -c test.exe

Bu parametre belirtilmezse uygulamanın uzak bilgisayarın sistem klasöründe bulunması gerekir. Uzak bilgisayarda böyle bir program zaten mevcutsa ve sistem dizininde bulunmuyorsa, tam yolunu belirtmeniz gerekir (program adı boşluk içeriyorsa tırnak içine alınmalıdır):

psexec \\SRV1 "c:\program dosyaları\test.exe"

Anahtarla birlikte ise -C anahtarı kullan -F daha sonra program zaten uzaktaki sistemde olsa bile üzerine yazılacaktır. Ve bir anahtarla -v yalnızca programın kopyalanan sürümü sistemde yüklü olandan daha yeniyse üzerine yazılacaktır.

Program etkileşimli modda çalışır. Varsayılan olarak, PsExec komutları gizli modda yürütür; yani komutun yürütüldüğü sistemde hiçbir pencere veya iletişim kutusu görüntülenmez. Ancak tuşunu kullanarak bunu değiştirmek mümkündür. -Ben. Bundan sonra, pencerelerin görüntüleneceği oturumun sayısını belirtebilirsiniz veya belirtemezsiniz, ardından arayüz konsol oturumunda görüntülenecektir.

Başvurunun tamamlanmasını beklemeye gerek olmadığını belirtir. Bu durumda konsol yardımcı programından çıktı verilerini almayacağız ancak önceki komutun tamamlanmasını beklemeden sonrakileri başlatabileceğiz. Bu seçenek yalnızca etkileşimli olmayan uygulamaları çalıştırırken kullanılmalıdır.

Programı modunda çalıştırmak için kullanılır. Gerekli olabilir işletim sistemleri Windows Vista ve daha yüksek değerler, sistem ayarlarında değişiklik yapan bazı programları (örneğin, regedit) çalıştırmak için kullanılır.

Ve bu anahtarın yardımıyla tam tersine güçlerinizi azaltabilirsiniz. Bir işlem başladığında kullanıcıya, yöneticiler grubundaki üyeliğine bakılmaksızın, sınırlı haklar(Yönetici grubunun hakları iptal edilir ve kullanıcıya yalnızca Kullanıcılar grubuna atanan haklar verilir).

Tam dolu arkaplan bilgisi Sadece komutu girerek tüm program tuşları hakkında bilgi alabilirsiniz. psexec komut satırında parametresiz.

Bu makalede nasıl gerçekleştirileceği anlatılmaktadır konsol komutları ağdaki uzak bilgisayarlarda, bazı çok yararlı örnekler verilmiştir. sistem yöneticileri takımlar.

Konsol komutlarının uzaktan yürütülmesi için 2 araç kullanıyorum: PsExec ve WinRM, her birinin kendine göre avantajları var.

PsExec

Başlıkta ortaya çıkan soruna mükemmel çözümlerden biri, büyük Mark Russinovich'in PsExec programını kullanmaktır.

Program istemci-sunucu ilkesine göre çalışır: bir istemci, uzak bilgisayardaki bir sunucuya komutlar gönderen yerel makinede çalışır. Bu programın özel bir özelliği, sunucu bölümünün komut yürütülmeden hemen önce otomatik olarak kurulması ve ardından kaldırılmasıdır. Bu nedenle, uzak makinelerde komutları yürütmek için onlara yönetici haklarına sahip olmak yeterlidir.

PsExec, uzak bilgisayarla aynı etki alanının parçası olan bir yönetici olarak çalıştırılıyorsa herhangi bir kimlik bilgisi girmenize bile gerek kalmaz. Aksi takdirde bunları komut satırında belirtebilirsiniz veya PsExec sizden bunları isteyecektir. PsExec, Windows 2000'den 64 bit Windows Server 2008 R2'ye kadar değişen işletim sistemlerinde çalışır.

Aşağıdaki özellikler PsExec'te çok kullanışlıdır:

  • Bir grup bilgisayarda bir komutun yürütülmesi. Örnek: Aşağıdaki komut en son sürümü zorlar grup politikaları:
    psexec @group.txt gpupdate /force
  • Komutları sistem hesabı olarak çalıştırma. Örnek: Aşağıdaki komut uzak sistemi güncellemeleri kontrol etmeye zorlayacaktır:
    psexec \\computer -s wuauclt /detectnow
  • Çalışan bir programı çalıştırmadan önce uzaktaki bir bilgisayara kopyalama. Örnek: Aşağıdaki komut üyeliğinizi güncelleyecektir bu bilgisayarın güvenlik grubunda Aktif Dizin(erişim belirteci) yeniden başlatmadan:
    psexec \\bilgisayar -c -s klist.exe temizleme

Komut dosyalarını ve Windows'ta yerleşik konsol komutlarının yeteneklerini kullanıyorsanız, bu programın kullanışlılığını abartmak zordur.

Windows Uzaktan Yönetim

Başlangıçta bir sunucu teknolojisiydi uzaktan kumanda Donanım Yönetimi özelliğinin bir parçası olarak Windows Server 2003 R2'de tanıtılan ancak Microsoft yakın zamanda piyasaya sürülen donanım Windows paketi PowerShell 2.0 ve WinRM 2.0'ı içeren ve istemci işletim sistemlerine güncelleme olarak yüklenen Yönetim Çerçevesi. Ayrıntılar KB968929 makalesinde bulunabilir.

WinRM'nin güzelliği, isteğe bağlı işletim sistemi yükseltmesi olarak WSUS aracılığıyla etki alanı ortamında dağıtım kolaylığı ve PowerShell ile birlikte kullanıldığında sağladığı güçtür.

WinRM kullanımı 2 komutla gerçekleşir.

winrm.cmd ayarları yapılandırmaya ve WinRM istemcisi ve sunucusunu teşhis etmeye yarar.

WinRM sunucusunun komutları kabul etmeye başlaması için Windows hizmeti Uzaktan Yönetim ve ilk konfigürasyonu tamamlandı. Komutu kullanın

yerel makinede winrm quickconfig veya kulaklarınızla bir numara
psexec -s \\sunucuadı winrm quickconfig'i sistem hesabı olarak PsExec kullanarak ağ üzerinden yapın.

WinRM hizmetini otomatik olarak başlatmanız ve uzak bağlantılara izin vermeniz istenecektir, kabul edin;)

İstemci bilgisayarınızla aynı etki alanının parçası olmayan bir WinRM sunucusuna (yani komutları alan sunucu kısmı) başarılı bir şekilde bağlanmak için, bu hedef sunucuyu aşağıdaki komutla istemcideki "güvenilenler listesine" eklemeniz gerekir:

winrm set winrm/config/client @(TrustedHosts="sunucuadı") , burada sunucu adı yerine bir IP adresi veya * (yıldız işareti) belirleyebilirsiniz.

İçin Windows kullanıcıları Vista ve Windows 7, yerleşik yönetici olarak çalışmıyor (bu genellikle böyledir), aşağıdaki komutu çalıştırmanız gerekir

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Varsayılan olarak, istemciden eşzamanlı 5 WinRM bağlantısı sınırı vardır; bu sayıyı artırmak için şu komutu çalıştırın:

winrm'nin winrm/config/winrs @(MaxShellsPerUser="X")

winrs.exe— sunucu kısmına istek göndermek için bir istemci. Örnek: Aşağıdaki komut uzaktaki sistemin yeniden başlatılmasını zorlayacaktır...

winrs -r:sunucu adı kapatma /r /t 0

Etki alanı ortamında, komutlar gönderilirken çalışan kullanıcının kimlik bilgileri kullanılır. Başka bir kullanıcı adına komut göndermek için -u:user -p:pass anahtarlarını kullanın. Örnek: Aşağıdaki komut uzak sistemdeki yerel DNS adı önbelleğini temizleyecektir.

winrs -r:sunucuadı -u:kullanıcı -p:geçiş ipconfig /flushdns

Telnet gibi yardımcı programlar ve Symantec'in PC Anywhere'i gibi uzaktan yönetim programları, programları uzak sistemlerde çalıştırmanıza olanak tanır, ancak bunların kurulumu kolay değildir çünkü aynı zamanda bir istemci yüklemeniz de gerekir. yazılım Erişilmesi gereken uzak sistemlerde. PsExec, Telnet'in hafif bir sürümüdür. İstemci yazılımını manuel olarak yüklemenize gerek kalmadan, konsol uygulamalarının tüm etkileşimli özelliklerini kullanarak uzaktaki sistemlerde işlemleri çalıştırmanıza olanak tanır. PsExec'in temel avantajı, uzak sistemlerdeki komut satırı arayüzünü etkileşimli olarak çağırma ve IpConfig gibi araçları uzaktan çalıştırma yeteneğidir. Bu tek yol görüntülemek yerel bilgisayar Uzak sistem hakkındaki veriler.

Not. Bazı antivirüs tarayıcıları bu programlardan bir veya daha fazlasının “uzaktan yönetici” virüsüne bulaştığını bildirin. PsTools paketindeki programların hiçbiri virüs içermemektedir ancak virüsler tarafından kullanılmış olduğundan bu uyarılar ortaya çıkmaktadır.

Kurulum

PsExec programını yürütülebilir klasörünüze kopyalamanız yeterlidir. psexec komutunu girdiğinizde, komut sözdizimiyle ilgili yardım görüntülenir.

PsExec ameliyathanelerde çalışıyor Windows sistemleri Vista, NT 4.0, Win2000, Windows XP ve Server 2003, 64 bit işletim sistemi sürümleri dahil

Kullanım

Mark Russinovich'in Windows IT Pro Magazine'in Temmuz 2004 sayısındaki makalesi, programla çalışmanın ek yöntemlerini açıklıyor PsExec.

kullanım: psexec [\\bilgisayar[,bilgisayar2[,...] | @file][-u kullanıcı [-p şifre]][-n s][-l][-s|-e][-x][-i [oturum]][-c [-f|-v]] [-w dizin][-d][-<приоритет>][-a n,n,... ] program [argümanlar]

bilgisayar

PsExec'e uygulamayı belirtilen bilgisayar veya bilgisayarlarda çalıştırmasını söyler. Bilgisayar adı belirtilmezse PsExec programı uygulamayı yerel sistemde başlatır, ancak bilgisayar adı yerine yıldız işareti (\\*) belirtilirse PsExec programı uygulamayı tüm bilgisayarlarda başlatır. geçerli etki alanının.

@dosya

PsExec'e, uygulamayı belirtilen metin dosyasında listelenen tüm bilgisayarlarda çalıştırmasını söyler.

Uygulamanın çalışabileceği işlemciler virgülle ayrılmış olup, işlemciler 1'den başlayarak numaralandırılır. Örneğin uygulamayı ikinci ve dördüncü işlemcilerde çalıştırmak için “-a 2,4” girin.

Belirtilen program yürütülmek üzere uzak sisteme kopyalanır. Bu parametre belirtilmezse uygulamanın uzak sistemin sistem klasöründe bulunması gerekir.

Başvurunun tamamlanmasını beklemeye gerek olmadığını belirtir. Bu seçenek yalnızca etkileşimli olmayan uygulamaları çalıştırırken kullanılmalıdır.

Belirtilen hesap profili yüklenmedi.

Belirtilen program, uzak sistemde böyle bir dosya zaten mevcut olsa bile uzak sisteme kopyalanır.

Başlatılan program, uzak sistemdeki belirtilen oturumun masaüstüne erişim sağlar. Herhangi bir oturum belirtilmezse işlem bir konsol oturumunda çalışır.

İşlem başladığında kullanıcıya sınırlı haklar verilir (Administrators grubunun hakları geçersiz kılınır ve kullanıcıya yalnızca Users grubuna atanan haklar verilir). Windows Vista'da süreç düşük düzeyde güvenilirlikle başlar.

Uzak bilgisayarlara bağlantı gecikmesini (saniye cinsinden) ayarlamanıza olanak tanır.

Kullanıcı adı için isteğe bağlı bir şifre belirlemenizi sağlar. Bu parametre atlanırsa şifre girmeniz istenecek ve şifre ekranda görüntülenmeyecektir.

Uzaktan işlem sistem hesabından başlatılır.

Uzak sistemde oturum açmak için isteğe bağlı bir kullanıcı adı belirlemenizi sağlar.

Belirtilen dosya, yalnızca sürüm numarası daha yüksek veya daha yeniyse, mevcut dosya yerine uzak sisteme kopyalanır.

İşlem için çalışma dizinini (uzak sistem içindeki yol) belirtmenizi sağlar.

Kullanıcı arayüzünü Winlogon masaüstünde görüntüler (yalnızca yerel sistem).

-bir öncelik(bir öncelik)

Bir süreç için farklı öncelikler belirlemenize olanak tanır: -düşük (düşük), -normalin altında (ortalamanın altında), -normalin üstünde (ortalamanın üstünde), -yüksek (yüksek) veya -gerçek zamanlı (gerçek zamanlı).

programı

Başlatılacak programın adı.

argümanlar

Aktarılacak bağımsız değişkenler (dosya yollarının hedef sistemde yerel yollar olarak belirtilmesi gerektiğini unutmayın).

Boşluk içeren bir uygulama adı belirtmek için tırnak işaretleri kullanın; örneğin psexec \\marklap "c:\uzunad\app.exe". Girilen veriler "Enter" tuşuna bastığınızda uzak sisteme aktarılır, uzaktan işlemi sonlandırmak için Ctrl-C tuş kombinasyonuna basmanız gerekir.

Kullanıcı adı belirtilmezse uzak işlem PsExec ile aynı hesaptan çalıştırılır. Ancak uzak işlemin kimliğine bürünüldüğü için uzak sistemin ağ kaynaklarına erişimi olmayacaktır. Bir kullanıcı adı belirtilirse, uzak işlem belirtilen hesap altında çalışır ve uzak sistemdeki hesapla aynı ağ kaynaklarına erişim kazanır. Şifrenin uzaktaki sisteme açık metin olarak gönderildiğini lütfen unutmayın.

Yerel bir sisteme erişirken, PsExec yönetici hakları gerektirmediğinden Runas yerine PsExec'in bu sürümü kullanılabilir.

Örnekler

Bu komut, \\marklap sistemindeki etkileşimli komut satırı arayüzünü getirir:

psexec\\marklap cmd

Bu komut uzak sistemdeki IpConfig programını /all parametresiyle çalıştırır ve elde edilen verileri yerel sistem ekranında görüntüler:

psexec \\marklap ipconfig /tümü

Bu komut test.exe'yi uzaktaki sisteme kopyalar ve etkileşimli olarak çalıştırır.

psexec \\marklap -c test.exe

Böyle bir program uzak sistemde zaten yüklüyse ve sistem dizininde bulunmuyorsa, bu programın tam yolunu belirtin

psexec \\marklap c:\bin\test.exe

Bu komut, SAM ve SECURITY kayıt defteri anahtarlarına ilişkin verileri görüntülemek için Regedit'i sistem hesabından etkileşimli olarak çalıştırır:

psexec -i -d -s c:\windows\regedit.exe

Bu komut programı çağırmak için kullanılır. İnternet Explorer Sınırlı haklara sahip bir kullanıcı adına:

psexec -l -d "c:\program dosyaları\internet explorer\iexplore.exe"



 


Okumak:



Tüm Android akıllı telefonlarda bulunan gizli bir ayar, karanlık bir temayı etkinleştirmenize olanak tanır

Tüm Android akıllı telefonlarda bulunan gizli bir ayar, karanlık bir temayı etkinleştirmenize olanak tanır

Telefon ekranı siyah beyaza döndü ve ekrandaki her şey negatif gibi mi görünüyor? Bu sayfada Xiaomi Mi A2 Lite'ın Android 8.1 ve Android 8.1 ile nasıl kullanılacağına ilişkin talimatları bulacaksınız.

DVD sürücüsü neden diskleri okumak istemiyor?

DVD sürücüsü neden diskleri okumak istemiyor?

En yaygın bilgisayar arızalarından biri, bilgisayar sürücüsündeki disklerin okunması (tanınması) ile ilgili bir sorundur. Birçok...

Gizli bir bölüm oluşturma "PQService" Acer 5220 gizli bir bölümün nasıl silineceği

Gizli bir bölüm oluşturma

Bugünkü yazımızda Acer, eMachines ve Packard Bell dizüstü bilgisayarların fabrika ayarlarına döndürülmesinden bahsedeceğiz. Başlangıçta yazmayı planlamıştım.

Dizüstü bilgisayar soğutma sistemi Bir dizüstü bilgisayarda soğutucu nasıl kontrol edilir

Dizüstü bilgisayar soğutma sistemi Bir dizüstü bilgisayarda soğutucu nasıl kontrol edilir

String(10) "hata durumu" Herhangi bir içten yanmalı motorun etkili bir soğutma sistemine sahip olması gerekir. Bu olmadan motor aşırı ısınır ve hepsi bu...

besleme resmi RSS