Yardım için uzaktan destek PowerShell. Uzak Powershell oturumlarıyla çalışın. PowerShell'de Oturum Oluşturma

Golovna / Ana işlevsellik

Özet: tanışma iz uzakta keruvannyam Windows PowerShell'den.

Hafta Sonu Komut Dosyası: Windows uzak karakter aralığını etkinleştirir.

Microsoft Scripting Guy, Ed Wilson görev başında. Bugün, Microsoft Press'e benzeyen yeni Windows PowerShell 3.0 Adım Adım kitabımdan bir alıntı yayınlayacağım. Aynı zamanda, kitap önceden rezervasyon için kullanılabilir.

WinRM - Windows Çekirdeğini Kaldır

Windows Server 2012'de WinRM, uzak Windows PowerShell komutlarının kaldırılmasını desteklemek için perde arkasında çalışır. WinRM, Microsoft'un WS-Management Protocol endüstri standardı uygulamasıdır. Bu yüzden WinRM umuyor manuel yol bir bakışta uzak sistemlere erişim güvenlik duvarını kapatamadı. Yeni CIM komutlarını kazanan aynı mekanizma. Bu şekilde, komutları çalıştırmak veya etkileşimli bir Windows PowerShell konsolu açmak için çalışan bir Windows Server 2012 makinesine bağlanabilirsiniz. Windows 8'de diğer tarafta WinRM kilitlenir. Sırada ne olduğu, ne yapılması gerektiği anlamına gelmez, ardından cmdlet'i çalıştırın Enable-PSRemoting. Bu cmdlet'i çalıştırırken aşağıdaki satırlar görüntülenir:

1. WinRM hizmetini başlatın veya yeniden başlatın.

2. Hizmet başlatma türü WinRM otomatik olarak yüklenir.

3. Tüm IP adresleri için bağlantıları almak üzere bir dinleyici oluşturulur.

4. WS-Man trafiği için güvenlik duvarını kapatın.

5. Yüklenen Microsoft.powershell yapılandırması

6. Yüklenen Microsoft.powershell.workflow yapılandırması

7. Yüklenen Microsoft.powershell32 yapılandırması

Bu süreci esneterek, cildin durumunu iyileştirmeye enerji verme işlevi. Eğer fonksiyonun ne olduğunu biliyorsanız ve öncesinde değişiklik yapmak istemiyorsanız tuşu ile bu komutu çalıştırabilirsiniz. -Kuvvet ve bu şekilde, onay gösterilmez. Bu komutun sözdizimi aşağıda listelenmiştir.

Enable-PSRemoting –Force

Şimdi Enable-PSRemoting işlevini, görüntülenen tüm bilgiler dahil olmak üzere etkileşimli moda koyalım.

PS C:\> Etkinleştir-PSRemoting

WinRM Hızlı Yapılandırma

Windows Uzaktan Yönetim (WinRM) Hizmeti yardımı ile bu programın verimli bir şekilde yönetilmesini sağlamak için "Set-WSManQuickConfig" düğmesine basmak. Bu içerir:

1. WinRM hizmetini başlatma veya yeniden başlatma (önceden başlatılmışsa)

2. WinRM hizmeti başlatma türünü Otomatik olarak ayarlama

3. Herhangi bir IP adresindeki istekleri kabul etmek için bir dinleyici oluşturma

4. WS-Management trafiği için Windows Güvenlik Duvarı sıralı istisna kurallarını etkinleştirme (yalnızca http için).

Devam etmek istiyor musun?

WinRM, istekleri alacak şekilde güncellenebilir.

WinRM Hizmet türü başarıyla değiştirildi.

WinRM Hizmeti başladı.

WinRM, uzaktan yönetim için güncellenebilir.

Bu makinedeki herhangi bir IP'ye WS-Man istekleri için HTTP://* üzerinde bir WinRM dinleyicisi oluşturuldu.

WinRM Güvenlik Duvarı istisnası etkinleştirildi.

microsoft.powershell SDDL:

[Y] Evet [A] Tümüne Evet [N] Hayır [L] Tümüne Hayır [S] Askıya Al [?] Yardım (varsayılan "Y"'dir):y

Bu eylemi gerçekleştirmek istediğinizden emin misiniz?

Hedef "Ad" üzerinde "Set-PSSessionConfiguration" işleminin gerçekleştirilmesi:

microsoft.powershell.workflow SDDL:

O:NSG:KÖTÜ:P(A;;GA;;;BA)(A;;GA;;RM)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;; ;W.D.). Bu irade

seçili kullanıcıların bu bilgisayarda Windows PowerShell komutlarını uzaktan çalıştırmasına izin ver".

[Y] Evet [A] Tümüne Evet [N] Hayır [L] Tümüne Hayır [S] Askıya Al [?] Yardım (varsayılan "Y"'dir):y

Bu eylemi gerçekleştirmek istediğinizden emin misiniz?

Hedef "Ad" üzerinde "Set-PSSessionConfiguration" işleminin gerçekleştirilmesi:

microsoft.powershell32 SDDL:

O:NSG:KÖTÜ:P(A;;GA;;;BA)(A;;GA;;RM)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;; ;W.D.). Bu irade

seçili kullanıcıların bu bilgisayarda Windows PowerShell komutlarını uzaktan çalıştırmasına izin ver".

[Y] Evet [A] Tümüne Evet [N] Hayır [L] Tümüne Hayır [S] Askıya Al [?] Yardım (varsayılan "Y"'dir):y

Bundan sonra, yapılandırma bulundukça, ek bir cmdlet için WinRM önceliğini tersine çevirebilirsiniz. Test-WSMan. Sistem doğru kurulmuşsa, mevcut olana benzer bilgiler görüntülenecektir.

Not C:\>Test-WSMan -BilgisayarAdı w8c504

Ürün Sürümü: İşletim Sistemi: 0.0.0 SP: 0.0 Yığın: 3.0

Bu cmdlet, Windows PowerShell 2.0 bilgisayarlarda da çalışır. Windows Server 2008 z üzerinde bir etki alanı denetleyicisine kadar aşağıdaki ipuçları Windows'u yükle WinRM'nin çivilendiği PowerShell 2.0.

Not C:\>Test-WSMan -BilgisayarAdı dc1

wsmid: http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd

Protokol Sürümü: http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd

Ürün Satıcısı: Microsoft Corporation

Ürün Sürümü: İşletim Sistemi: 0.0.0 SP: 0.0 Yığın: 2.0

WinRM ayarlanmazsa, af ile ilgili bildirim açılır. zamanlarda işletim sistemi Windows 8, yakında geleceğiz.

Not C:\>Test-WSMan -BilgisayarAdı w8c10

Test-WSMan:

xmlns:f="http://schemas.microsoft.com/wbem/wsman/1/wsmanfault" Kodu="2150859046"

Machine="w8c504.iammred.net">WinRM'yi unutmayın. Doğrulayın

belirtilen bilgisayar adının geçerli olduğunu, bilgisayara şu adresten erişilebildiğini,

ağ ve WinRM hizmeti için bir güvenlik duvarı istisnasının etkinleştirildiğini ve

bu bilgisayardan erişin. Varsayılan olarak, genel kullanım için WinRM Güvenlik Duvarı istisnası

Profiller, aynı yerel alt ağ içindeki uzak bilgisayarlara erişimi sınırlar.

Satırda:1 karakter:1

Test-WSMan -BilgisayarAdı w8c10

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

KategoriBilgisi: InvalidOperation: (w8c10:String) , InvalidOperationException

FullyQualifiedErrorId: WsManError,Microsoft.WSMan.Management.TestWSManCommand

Enable-PSRemoting cmdlet'i ile Uzaktan Yönetim'i etkinleştirmenin Uzaktan Yönetim güvenlik duvarını devre dışı bırakmadığını, bu nedenle bir Windows 8 makinesine ping atmaya çalışmanın başarılı olmadığını unutmayın.

Not C:\> ping w8c504

32 bayt veri ile w8c504.iammred.net'e ping atmak:

İstek zaman aşımına uğradı.

İstek zaman aşımına uğradı.

İstek zaman aşımına uğradı.

İstek zaman aşımına uğradı.

192.168.0.56 için ping istatistikleri:

Paketler: Gönderilen = 4, Alınan = 0, Kayıp = 4 (%100 kayıp).

Her şey Windows Server 2012 için çalışıyor.

Not C:\> ping w8s504

32 bayt veri ile w8s504.iammred.net'e ping atmak:

<1ms TTL=128

192.168.0.57'den yanıt: bayt=32 zaman<1ms TTL=128

192.168.0.57'den yanıt: bayt=32 zaman<1ms TTL=128

192.168.0.57'den yanıt: bayt=32 zaman<1ms TTL=128

192.168.0.57 için ping istatistikleri:

Paketler: Gönderilen = 4, Alınan = 4, Kayıp = 0 (%0 kayıp),

Yaz saatinde yaklaşık gidiş-dönüş saatleri:

Minimum = 0ms, Maksimum = 0ms, Ortalama = 0ms

WinRM'yi geliştirmek için gereken tek şey bu.

Ed Wilson, Microsoft Komut Dosyası Sorumlusu

Orijinal:

Geçenlerde Powershell üzerinden uzaktan erişim sağlamak için üç saatimi boşa harcama şansım oldu. Böyle bir kılavuz, bazı durumlarda Uzak Masaüstü Hizmetlerine güçlü bir alternatif olarak verilmiştir (hizmeti uzak bir VDS barındırmada yeniden başlatın, bir yedek kopya oluşturun, sistem sistemine tekrar bakın).

Uzak Powershell oturumları oluşturma yeteneği sürüm 2'de tanıtıldı. Bunun için Enter-PSSession/Invoke-Command cmdlet'i kullanılır. Prote, muzaffer öğrencilerden önce ortasını hazırlayın.

robimo nedir sunucuda:

Krok 1: Powershell konsolunu açın ve Force tuşuyla Enable-PSRemoting cmdlet'ini kullanarak bir uzak oturuma izin verin.

Enable-PSRemoting -Force

Krok 2: WinRM hizmetinin çalıştığını yeniden düşünün.

Başlatma Hizmeti WinRM

Krok 3: Brandmauer'daki kuralları değiştirdik, böylece giriş bağlantısı mümkün.

Bilgisayarda müşteri tezh vikonati kіlka diy için gereklidir:

Krok 1: Uzak düğümlere bağlantıya izin verin. Herhangi bir düğüme erişim için saldırı yapısını hızlandırabilirsiniz:

Set-Item wsman:\localhost\client\trustedhosts * -Force

Krok 2: Brandmauer'in günün dışını engellemediğinden emin olun.

Şimdi, Powershell aracılığıyla uzak bir düğüme bağlanmak için bunu şu şekilde yapabilirsiniz:

Enter-PSSession 192.168.1.160 - Kimlik Bilgileri VMNAME\Kullanıcı

192.168.1.160 ve VMNAME\User değeri, uzak ana bilgisayarın adresi ve sunucudaki Windows ana bilgisayarının adıyla değiştirilmelidir.

Artık Powershell üzerinden uzaktan erişim uygulanabilir. Prote є bir nüans daha. Belki bazılarınız Powershell'de profillisiniz. Profiller, konsolun başlangıcında başlatılan özel komut dosyalarıdır. Burada, örneğin, önünüzdeki tüm gerekli takma adları ve vicon'ları belirleyebilirsiniz.

Sorun, seansların bitiminden sonra profillerin bir saat boyunca başlamaması gibi görünüyor. Farklı bağlantı yapılandırmalarıyla ilgili yardıma bakabilirsiniz. Hangisi için yapılandırmayı uzak bir sunucuya kaydetmek gerekir. Bunu Register-PSSessionConfiguration komutunu kopyalayarak yapabilirsiniz. Herhangi bir cilt konfigürasyonuyla, bunun için umut edebilirsiniz. Dış görünüm yapılandırması için, komut dosyasına oturumun başında kontrol edilecek bir yol ekleyebilirsiniz.

Register-PSSessionConfiguration -name Config1 -startupScript c:\scripts\Startup.ps1

Bundan sonra, uzak bir düğüme bağlanıldığında, Enter-PSSession komutu farklı olduğunda, yapılandırmanın adını belirtin.

Enter-PSSession 192.168.1.160 -ConfigurationName Config1 - Kimlik Bilgileri VMNAME\Kullanıcı

Artık Uzak Masaüstü Servisleri üzerinden bir bağlantı oturumu oluşturmak için sunucu kaynaklarını kullanmamak ve Powershell yardımıyla sunucudan uzakta kullanmak mümkün.

powershell uzaktan başlatma programları

Etkileşimli Oturum Başlatma

Bir uzak bilgisayardan etkileşimli bir oturum başlatmak için Enter-PSSession cmdlet'ini yazın. Örneğin, uzak bilgisayar Server01'den etkileşimli bir oturum başlatmak için şunu girin:
giriş-girişim Server01
Komut satırında, siz bağlanana kadar bilgisayarın adı görüntülenir. Komut satırına girilen tüm komutlar uzak bir bilgisayarda çalıştırılır ve sonuçlar yerel bilgisayarda görüntülenir.
Etkileşimli bir oturumu bitirmek için şunu girin:
çıkış oturumu

takımın dışında Vikonannya

Bir veya daha fazla uzaktaki bilgisayarda bir komutu yeniden kullanmak için Invoke-Command cmdlet'ini kazanın. Örneğin, Get-UICulture komutunu Server01 ve Server02 uzak bilgisayarlarında çalıştırmak için şunu girin:

Invoke-command -computername Server01, Server02 (get-UICulture)
Çıktı verileri bilgisayarınıza döndürülecektir.
Komut dosyasını bir veya daha fazla bilgisayarda çalıştırmak için Invoke-Command cmdlet'inin FilePath parametresini ekleyin. Komut dosyası, yerel bilgisayara not vermekten veya kullanılabilir olmaktan suçludur. Sonuçlar yerel bilgisayara döndürülecektir.
Örneğin, komut DiskCollect.ps1 komut dosyasını Server01 ve Server02 uzak bilgisayarlarında çalıştıracaktır.
çağırma komutu -bilgisayar adı Sunucu01, Sunucu02 -dosyayolu c:\Scripts\DiskCollect.ps1

Kalıcı bağlantı kurulumu
Yüksek verilerden bir dizi komutu doğrulamak için uzak bir bilgisayarda bir oturum oluşturun ve ardından oluşturulan oturumdan komutları doğrulamak için Invoke-Command cmdlet'ini doğrulayın. Silinmiş bir oturum oluşturmak için New-PSSession cmdlet'ini etiketleyin.
Örneğin, sonraki komut Sunucu01 bilgisayarında bir uzak oturum ve Sunucu02 bilgisayarında başka bir uzak oturum oluşturmaktır. Vaughn, nesneleri $s değişikliğinin oturumuna götürür.
$s = yeni giriş -bilgisayar adı Sunucu01, Sunucu02
Oturum kurulduktan sonra, komutu visconate edebilirsiniz. Seansların puanları sabittir, bir takımda veri toplayabilir ve onları hücumda kazanabilirsiniz.
Örneğin, bir sonraki komut $s'ı değiştirmek ve $h değişikliğinin sonuçlarını almak için oturumlarda Get-Hotfix komutunu geçersiz kılmak olacaktır. $h değişikliği, $s dış görünüm oturumunda oluşturulur, ancak yerel oturumda çalışmaz.
invoke-command -session $s ($h = get-hotfix)
Artık hücum gibi hücum takımlarında zaferi kazanabilirsiniz. Sonuçlar yerel bilgisayarda görünür.

Invoke-command -session $s ($h | burada ($_.installedby -ne "NTAUTHORITY\SYSTEM")

Tamamı https://technet.microsoft.com/en-us/library/dd819505.aspx adresinden alınmıştır.

Sistem yöneticileri için en popüler görevlerden biri, işinizden kalkmadan uzaktaki bir bilgisayarda herhangi bir komutu çalıştırmaktır. Programları veya yardımcı programları yüklemeniz, kurulu olup olmadığınızı değiştirmeniz veya başka bir şekilde gerekli olabilir. Ve çok nadiren birden fazla bilgisayar vardır, genellikle komutun farklı iş istasyonlarında veya sunucularda çalıştırılması gerekir.

Oskіlki zavdannya tsya popüler, vyrіshennya'nın bu yolları kişisel değil. Grup ilkeleriyle (komut dosyası oturum açma veya otomatik giriş amacıyla durdurulabilir) başlayarak ve örneğin System Center Essentials veya System Center Configuration Manager gibi zor yönetim sistemleriyle sona erer. Ve bu yazıda gözün görebildiği yöntemlere bakmak istiyorum. Komut satırı veya komut dosyalarındaki dosyalar ve bu şekilde aracıların ve diğer sorunların ileriye doğru yüklenmesini etkilemez. Vtіm, yakіs poperednі vimogi, zvichayno, є. Örneğin, komutu çalıştırmak istediğiniz bilgisayardaki yönetimsel geçersiz kılmalardan siz sorumlusunuz (proxy ile komut dosyası adına, ancak diğer şey hakkında).

Psexec.exe

Bu görevi yürütmenin en sevdiğim yollarından biri, Windows SysInternals web sitesinden ücretsiz olarak erişebileceğiniz Mark Russinovich tarafından yazılmış PsExec.exe komut satırı yardımcı programıdır. Üzerinde Possilannya makalede bilinebilir. Sisteme kurulmasına gerek yoktur, sadece değiştirilen %path% dizinine yerleştirilebilecek klasörlerden birine kopyalayabilir ve komut satırının kabuğuna tıklayabilirsiniz: Cmd veya PowerShell.

PsExec hack oldukça basittir. Örneğin, ana bilgisayarda ipconfig /flushdns'yi doğrulamak için aşağıdaki komutu çalıştırmanız yeterlidir:

psexec \\main ipconfig /flushdns

ipconfig komutu, dış görünümlerinizin altındaki ana bilgisayarda çalıştırılacaktır. ipconfig çalışması tamamlandığında, tüm metin dosyaları bilgisayarınıza aktarılacak ve komut çıkış kodu (hata kodu) da döndürülecektir. Aynı zamanda takım başarılı oldu, galibiyet süresi 0 oldu.

PsExec'in hangi olasılıkla bitmediği aklıma geldi. Yardımcı programa parametresiz tıklayarak, mevcut diğer seçeneklere bakabilirsiniz. Yaptıklarına daha az saygı duyuyorum.

Anahtar -d PsExec gibi görünüyor, komutu kontrol etmek gerekli değil, ancak sadece її'yi çalıştırmak ve unutmak yeterlidir. Bu şekilde, konsol yardımcı programından herhangi bir veri almayız veya diğerlerini çalıştırmak için ön komutun tamamlandığını kontrol etmeyebiliriz. Daha karmaşıktır, çünkü örneğin program yükleyicisini masaüstü bilgisayarlarda çalıştırmanız gerekir.

PsExec'i kilitledikten sonra, komutlar ekli modda devre dışı bırakılır, böylece komut devre dışı bırakıldığında sistem iki günde bir veya diyaloglar gösterilmez. Ancak, bu davranışı ek bir anahtar için değiştirmek mümkündür. -ben. Ardından oturum numarasını, hangi pencerede görüntüleneceğini belirleyebilirsiniz veya belirtemezsiniz, konsol oturumunda arayüz görüntülenecektir.

Bu sırayla, ana bilgisayardaki işletim sisteminin sürümü hakkında bilgi içeren bir pencere görüntülemek için PsExec'i şu sırayla çalıştırın:

psexec -i \\main winver.exe

Birkaç bilgisayarda arka arkaya bir komut yazmak istiyorsanız, bir metin dosyası listesinden adlarını okuyabilmeniz gerekir.

psexec @c:\comps.txt systeminfo.exe

Pekala, PsExec'in en iyi özelliklerinden biri, bilgisayarlar arasında girdi / çıktıyı etkileşimli olarak yeniden yönlendirme yeteneğidir, bu da örneğin cmd.exe'yi uzak bir sunucuda çalıştırmamıza ve komutlar vermemize ve sonuçları yerel bilgisayarda yakalamamıza olanak tanır. .

PsExec nasıl çalışır?

Her şey ustaca basittir. Kötü PsExec.exe dosyasının kaynakları başka bir kötü dosyaya sahiptir - bir Windows hizmeti olan PSEXESVC. Komutu kapatmadan önce, PsExec kaynağı uzak bilgisayardaki ekli yönetim klasörüne açar, dosya: \\Im'yaComputer\Admin$\system32\psexesvc.exe. Örneğin -c anahtarı yardımı için bu sisteme kopyalanan dosyaların kopyalanması gerektiğini, onların da bu klasöre kopyalanacağını belirtmişlerdir.

PsExec hazırlığı tamamlandıktan sonra, hizmetler tarafından iyileştirilecek Windows API işlevlerini kullanarak hizmeti yükler ve başlatır. PSEXESVC başlatıldıktan sonra, veri aktarımı (giriş komutları, sonuçlar vb.) için PsExec ile arasında birkaç kanal oluşturulur. Çalışmayı tamamlayan PsExec hizmeti başlatır ve hedef bilgisayardan görür.

Windows Yönetim Araçları (WMI)

Bilmek istediklerim hakkında popüler bir görevi uygulamanın bir sonraki yolu - Windows Yönetim Araçları. WMI, Windows 2000 ve Windows 9x ile başlayan tüm Microsoft işletim sistemlerinde mevcuttur ve ok paketinden yüklenebilir. WMI, kilitleme için ayrılmıştır ve ek ince ayar gerektirmez. Yoga için, güvenlik duvarında DCOM protokolüne izin verilen yeterli yönetici hakları vardır. WMI, sistemleri yönetmek için büyük bir potansiyele sahiptir, ancak her seferinde bunlardan yalnızca birine ihtiyacımız var.

İşlemleri başlatmak için Win32_Process sınıfının Create yöntemine ihtiyacımız var. Vikoristovuvati yoga yapmak kolaydır. PowerShell bunu şu şekilde yapmalıdır:

$Bilgisayar = "ana"
$Komut = "cmd.exe /c systeminfo.exe >
("\\$Bilgisayar\root\cimv2:Win32_Process").create($Komut)

Burada başlayan bir işlem olarak cmd.exe giriyorum ve siz bile argüman olarak komutu iletiyorsunuz. Uzak bilgisayarın keskinliğini değiştirmeniz veya " gibi cmd.exe operatörlerini kullanmanız gerektiğinden gerekli değildir. > » görünümü dosyaya yönlendirmek için. Create yöntemi, işlemin tamamlanıp tamamlanmadığını kontrol etmez ve sonuçları kontrol etmez, ardından bize kimliğini - ProcessID'yi söyler.

Henüz PowerShell yüklü olmayan bir bilgisayarınız varsa, bir VBScript komut dosyasından WMI yöntemini çağırabilirsiniz. Örneğin, eksen:

Liste 1 - WMI sürecini çalıştırma (VBScript)

Bilgisayar = "PC3"
Komut = "cmd.exe /c systeminfo.exe > \\sunucu\paylaşım\%bilgisayar adı%.txt"
set objWMIService = GetObject("winmgmts:\\" & Bilgisayar & "\root\cimv2:Win32_Process")
Sonuç = objWMIService.Create("calc.exe", Null, Null, intProcessID)

WMI robotunun manuel arabirimine erişmek ve Windows XP'den başlayarak işletim sistemi deposuna girmek için wmic.exe komut satırı yardımcı programını kullanmak da daha kolaydır. Örneğin, ana bilgisayarda bir hesap makinesini çalıştırmak için şu komuta basmanız yeterlidir:

wmic /node:ana işlem çağrısı calc.exe oluştur

Tahmin edebileceğiniz gibi, WMI'nin yetenekleri sadece çalışan işlemlerle sınırlı değildir. Sizi teknolojiden uzak tutmak için Kostyantin Leontiev'in makalelerini, WMI referanslarını tanımanızı ve örneğin makaleleri bilmenizi tavsiye ederim.

WSH Uzaktan Komut Dosyası

Bu nedenle, Windows Komut Dosyası Ana Bilgisayarının diğer bilgisayarlarda da komut dosyaları çalıştırabilmesine şaşmamalı. Doğru, bu işlev büyük bir popülerlik kazanmadı ve çok fazla hazırlık yaklaşımı olan ve milliyetçiliğin çok fazla fırsatı olmayanlar aracılığıyla her şey için daha iyiydi. Ama size bu yöntem hakkında aynı şeyi söyleyeyim, böylece buna değebilir.

Ayrıca scripti WSH yardımıyla başka bir bilgisayarda çalıştırmak için aşağıdakileri yapmamız gerekiyor:

    Uzak bilgisayardaki yönetici hakları. Mantıklı ve makaledeki listeleri başlatmak için diğer tüm yöntemleri kullanmak gerekiyor.

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings kayıt defteri anahtarında Uzak kayıt defteri girdisini "1"e eşit olarak ayarlayarak WSH Uzaktan Komut Dosyası Çalıştırmayı etkinleştirin

    Özür dilerim, Microsoft bilgi tabanı numarası 311269 makalesinde açıklanmıştır, Windows XP'li sistemlerde wscript –regserver komutunu kullanmanız gerekebilir.

    Bilgisayarlarda bir güvenlik duvarı bozuksa, DCOM bağlantısını etkinleştirmek gerekir. Üstelik sadece seramik bir bilgisayarda değil, senaryoyu çalıştırmak istediğiniz bilgisayarda da çalışmanız gerekiyor.

    Service Pack 2 içeren Windows XP sistemleri için DCOM güvenlik ayarlarını da değiştirmeniz gerekebilir. Yardım için zrobiti olabilir Grup ilkesi. Bilgisayar Yapılandırması \ Windows Ayarları \ Güvenlik Ayarları \ Yerel İlkeler \ Güvenlik Seçenekleri düğümünün aşağıdaki sırayla yüklenmesine izin verilmelidir:

    1. DCOM: Güvenlik Tanımlayıcı Tanımlama Dili (SDDL) sözdiziminde Makine Erişim Kısıtlamaları
      Gruplara bakın Anonim Oturum Açma ve Herkes Yerel İzine İzin Ver ve Uzaktan Erişime İzin Ver

      DCOM: Güvenlik Tanımlayıcı Tanımlama Dili (SDDL) sözdiziminde Makine Başlatma Kısıtlamaları
      Yöneticiler grubuna Yerel Başlatmaya İzin Ver, Uzaktan Başlatmaya İzin Ver, Yerel Etkinleştirmeye İzin Ver, Uzaktan Etkinleştirmeye İzin Ver izinlerini görün
      Herkesi Gruplandır - Yerel Başlatmaya İzin Ver, Yerel Etkinleştirmeye İzin Ver

Peki, tüm bu işlemlerden sonra betiğinizi başka bir bilgisayarda çalıştırmayı deneyebilirsiniz.

Bir senaryo örneği, bir tür muzaffer teknoloji:

Liste #2 - WSH uzaktan komut dosyası oluşturma (VBScript)

set objController = CreateObject("WshController")
set objRemoteScript = objController.CreateScript("C:\test.vbs", "PC5")WScript.ConnectObject objRemoteScript, "remote_"
objRemoteScript.Execute
ObjRemoteScript.Status iken yapın<> 1
WScript.Sleep 1000
döngü
MsgBox "Komut dosyası tamamlandı"
Alt remote_Error
loş nesneHatası
objError = objRemoteScript.Error olarak ayarlayın
WScript.Echo "Hata - Satır: " & objError.Line & _
", Karakter: " & objError.Character & vbCrLf & _
"Açıklama: " & objError.Description
WScript.Çıkış -1
son alt

Diğer satırda, CreateScript işlevi için bir parametre olarak, uzaktaki bir bilgisayarda ve bu bilgisayarın ışığında yürütülecek olan komut dosyasının yolu belirtilir.

Bu teknoloji hakkındaki rapor makalede okunabilir. için gelişmiş VBScript Microsoft Windows Yöneticiler - Bölüm 6: Uzaktan Komut Dosyası Çalıştırma(Div. Posilannya).

Görev Zamanlayıcısı

Planlayıcı, iki yardımcı program kullanılarak komut satırından kontrol edilebilir – at.exe ve schtasks.exe. Yardımcı programdan gelen suçlar, görevin uzak bilgisayarının adını göstermenize ve ayrıca görevimizi değiştirmenize izin verir. Ale, sadece schtasks.exe'ye bakabiliriz, dışarıdaki parçalar daha fazla fırsat var.

Diğer bilgisayarlardaki komutlar, planlayıcının ana özelliği olmasa da birkaç farklı senaryonun uygulanmasına izin verir. Örneğin, yoga için yüklemeyi artırabilirsiniz. yazılım günlük kesinti döneminde. Aksi takdirde, koristuvach'larınız farklı bir saatte buluştuğu için, bilgisayarın aktif olmadığı şarkı söyleme süresinden sonra lansman ertelenebilir.

schtasks /create /s server6.td.local /tn install /tr \\main\data\install.cmd /sc bir kez /st 13:00 /ru sistem

Randevunun bir tür oblіkovogo kaydı adına anlamak önemlidir. Bu uygulama için, parametre / ru için değer sistemini belirledim, bu nedenle bilgisayarın bir bulut kaydının kurulumu için, okumak için erişime ihtiyacınız olacak. merezhu klasörü yazılım dağıtımı ile

En iyi kararlar için, bunun bir gün mü, iyi bir zamanda mı olduğunu planlamama izin veriliyor ve görevi yalnızca başarımın teyidi için göreceğim. Böylece program yükleyiciyi başlatan, tamamlanıp tamamlanmadığını ve programın başarıyla yüklenip yüklenmediğini kontrol eden basit bir toplu iş dosyası oluşturabilirsiniz. Sanki bilgisayarınızdaki planlayıcıdan görevi gördünüz. Böyle bir dosyanın bir örneği:

Liste #3 - Uzak işlerden program yükleme (Windows Batch)

msiexec /qn /paket\sunucu\paylaşım\subinacl.msi
"c:\program files\Windows Resource Kits\Tools\subinacl.exe" varsa (
subinacl /tn Install_Subinacl /f

WinRM (WS Yönetimi)

WinRM, sistemlerin diğer web hizmetlerini kullanmasına izin veren Microsoft'un DMTF (Dağıtılmış Yönetim Görev Gücü) standardının bir uygulamasıdır. Teknolojinin ekine girmeyeceğim, sadece arayışım için neyin gerekli olduğunu kısaca anlatacağım.

Sürüm WinRM 1 ve daha fazlası, Windows Vista ve Windows Server 2008'den başlayarak işletim sistemleri stoğuna dahildir. Windows XP ve Windows Server 2003 için WinRM'yi bir okremy paketi (div. paketi) olarak kurabilirsiniz.

Bilgisayarı yeni vicorist standart bağlantı noktasına bağlanacak şekilde hızlı bir şekilde yapılandırmak ve yönetimsel bulut kayıtlarına bağlantıya izin vermek için şu komutu kullanmak yeterlidir:

winrm hızlı yapılandırma

Onay istemeden kazanmak için -quiet tuşunu aramaya ekleyebilirsiniz. İnce ayar hakkında daha fazla bilgi için winrm ince ayarına bakabilirsiniz:

winrm yardım yapılandırması

Seramik bir bilgisayarda bir web sunucusu çalışıyormuş gibi, standart HTTP bağlantı noktası olmasına rağmen WinRM kurulamaz. Vіn perekhoplyuvatime daha az bağlantı, özellikle yeni için tanınan.

Açıkçası, kontrol etmek istediğiniz her neyse, komutu cilt bilgisayarına manuel olarak yazmak kolay değil. Bize yardım grubu politikaları için kolayca zrobiti nebkhіdnі nalashtuvannya. Kimin ihtiyacı var:

  1. WinRM hizmetini ayarlayın (Windows Uzaktan Yönetim) otomatik başlatma
  2. Bilgisayar Yapılandırması \ Yönetim Şablonları \ Windows Bileşenleri \ Windows Uzaktan Yönetim (WinRM) \ WinRM Hizmeti \ Dinleyici grubu ilkesi öğesinin otomatik yapılandırılmasına izin ver öğesini yapılandırın. Burada, bağlantılara izin verilen IP adresi aralığını belirtmek gerekir.
  3. Tahmin ettim, yine de boş bağlantı noktasına bağlantıya izin vermeniz gerekecek (80'i kilitlemek için) Windows Güvenlik Duvarı.

HTTP bağlantı noktasının (80) geçersiz kılınmış veya HTTPS (443) olup olmadığına bakılmaksızın, WinRM iletim trafiği şifrelenir (böylece bu seçeneği etkinleştirmezsiniz). Standart kimlik doğrulama için Kerberos protokolü geçersiz kılınır.

Ale bağcıklardan bahsedecek olursak, daha ziyade ortası olmadan kötülüklere geçelim. Winrm yardımcı programı, örneğin WMI'yi etkinleştirmenin yanı sıra WinRM hizmetini yapılandırmanıza izin veriyorsa, winr'lara ihtiyacımız var. Buradaki RS harfleri Uzak Kabuk anlamına gelir. WinRS, PsExec veya WinRM teknolojisine çok benzer şekilde çalışır. Bilgisayarın adı -r tuşu ile ayarlanır ve yeni bir sonraki komuttan sonra vikonate yapmak gerekir. Mızrak popo ekseni:

winrs -r: Core ver.exe

Shards of winrs ve böylece winrs uzak kabuk olarak cmd.exe, komutlarda kolayca uzak değişikliklere gidebilir veya diğer cmd.exe komutlarını kullanabilirsiniz:

winrs -r:Core "dir c:\temp > c:\temp\list.txt"

PsExec gibi, winrs yardımcı programı da uzak bir bilgisayarda etkileşimli bir oturum açmanıza olanak tanır:

winrs -r: ana cmd.exe

Bu işlev telnet oturumuna benzer, ancak winrs kesinlikle telnet'ten daha iyidir ve güvenlik açısından PsExec'te gezinir. HTTP bağlantı noktasının (80) veya HTTPS (443) geçersiz kılınmış olmasına bakılmaksızın, WinRM iletim trafiği şifrelenir (böylece bu seçeneği etkinleştirmezsiniz). Standart kimlik doğrulama için Kerberos protokolü geçersiz kılınır.

Windows PowerShell 2.0 Uzaktan İletişim

arkadaş istiyorum Windows sürümü Makaleyi yazarken PowerShell hala beta testinde, її hakkında uzak komutlar alanındaki olasılık şimdi oldukça farklı. Kendiniz deneyin, eski sürümü (div. possilannya) veya Windows 7 veya Windows Server 2008 R2'nin beta sürümünün deposundan alabilirsiniz.

PowerShell Remoting altyapısı WinRM sürüm 2.0'a dayanmaktadır ve bu nedenle iletilen verilerin şifrelenmesi ve standart HTTP/HTTPS bağlantı noktalarının arkasında çalışabilme gibi teknolojinin tüm avantajları azalmaktadır. Ancak Windows PowerShell'i taşıma olanaklarıyla daha da zenginleşelim ve nesnelerle çalışmamızı daha da mümkün kılalım. Şu anda, WinRM2.0 paketi hala beta testindedir ve yalnızca Windows Vista ve Windows 2008 için indirilebilir. Windows sistemleri 7 ve Windows Server 2008R2, PowerShell 2.0 ile birlikte en kısa sürede yeniden başlayacaktır.

Güncelleme: Makalenin sitede yayınlanmasına kadar nihai PowerShell sürümleri 2.0 ve WinRM 2.0, tüm destekleyici platformlar için zaten mevcuttur. Windows Server 2008R2 ve Windows 7 stoklarından önce, koku zaten görünmez bir sistem bileşeni olarak dahil edilmiştir ve Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 için gerekli bileşenler Windows Management Framework adlı bir pakete bakabilirsiniz.

Tüm ilerlemeleri puanlamadan önce, PowerShell Remoting'in hem sabit hem de sabit bilgisayarlarda etkinleştirilmesi gerekir. Bunu cmdlet'i çalıştırarak yapmak kolaydır ( Windows komutu PowerShell) Enable-PSRemoting. Ayrıca -Force tuşunu eklerseniz bir sonraki onay istenmeyecektir. Bu cmdlet, gerekirse, winrs quickconfig'i çağırır ve Windows güvenlik duvarında suçlama oluşturur, böylece ek güvenlik duvarı eklemenize gerek kalmaz.

Alternatif olarak, Invoke-Command cmdlet'ini (veya diğer adı icm) kullanarak komutları diğer bilgisayarlara kolayca yazabilirsiniz:

Invoke-Command -ComputerName Main -ScriptBlock (netsh arabirim dökümü > c:\ipconfig.txt)

Gördüğünüz gibi, komut daha sonra listeye eklenebilir ve -ComputerName parametresi için sadece bir değil birkaç bilgisayarın adını belirtin. Sonraki sıra, Explorer.exe dosyasının sürümünü üç bilgisayardan girmenizi sağlar.

$Command = ((get-item c:\Windows\explorer.exe).VersionInfo.FileVersion)
Invoke-Command -ComputerName Main, Server7, Replica -ScriptBlock $Command

Gördüğünüz gibi, Windows PowerShell'in nesnelerle çalışma yeteneğini kullanarak, bir grup komutu bir blokta aktarmak, sonuçlarını değişiklikte masaüstü bilgisayarlara yerleştirmek ve ardından bir iş istasyonunda işlemek mümkündür.

Vtіm, tіlki pochinayutsya'da PowerShell Remoting olasılığı. Enter-PSSession cmdlet'i ile ilgili yardım için etkileşimli Windows oturumu Uzak bir bilgisayarda PowerShell. Exit-PSSession cmdlet'ini kullanarak böyle bir oturumdan çıkabilir veya basitçe çıkabilirsiniz.

New-PSSession cmdlet'i, üzerinde oturumlar oluşturur. uzak bilgisayarlar, yakі göstergeleri bir değişikliğe tabi tutulabilir ve ardından bunu Invoke-Command için bir argüman olarak ileterek, komutu mümkün olduğunca çok sayıda bilgisayarda arka arkaya değiştirebilirsiniz. Popo, c:\computers.txt listesinden çıkartma bilgisayarlarında arka arkaya komut dizisini görebildiğim ekran görüntüsünde görülebilir.

Proksuvannya

Bu yöntem, mevcut listeler ışığında tekrar gözden geçirilir ve diğer görevler için bir çağrı görevi görür, ancak daha az alakalı değildir. Yenileme delegasyonu mümkün değilse, aksi takdirde bize büyük fırsatlar verilir, sanki yönetici ayrıcalıklarına ihtiyacınız varmış gibi yüce coristuvachev'in komutu kazanmasına izin vermenize izin veriyoruz ve yöneticinin şifresini vermiyoruz.

Çoğu zaman, insanlar tek bir programı çalıştırmanıza izin veren parolayla şifrelenmiş bir yönetim kaydından bir dosya oluşturmak için cpau.exe (böl. güç) gibi ek yardımcı programlar için bu sorunları çözmeye çalışırlar. Ancak sorun, yardımcı programı çalıştırmadan önce şifrenin ve şifrelemenin şifresinin çözülmesini isteyenler içindir. Parola şifre çözme algoritmasını tekrarlayan yardımcı programı zafere ulaştırabilir ve onu tanıyabilirsiniz, böylece diğer programları başlatmak veya ek ayrıcalıkları ortadan kaldırmak için onu zafere ulaştırabiliriz. Pratik olağanüstü coristuvachiv, Scho spetіalnymi znannannym vodіyut değil, ama, tim mümkün olduğunca az değil. Bir kez daha, bunun belirli bir yardımcı program olmadığını açıklayacağım, ancak böyle bir yaklaşımın sorunu ortadan kalktı.

Başka bir seçenek de görevi tamamlamak için runas yardımcı programının /savecred parametresini kullanmaktır. Ama burada iki sorun var. İlk olarak, yukarıda açıklandığı gibi, şifre koristuvach'ın bilgisayarına kaydedilir ve daha sonra, bu runas için yerel yönetici hakkına sahip olmak istiyorsanız, şifre çözme olabilir. Başka bir şekilde, runas, görünüm verilerini belirli bir komutla göstermeden kaydeder, bu nedenle, bu komut gibi haklarla çalıştırabilir, size vermek istediğiniz her şeye erişebilirsiniz, ancak yaku іnsh.

Bu sorunlardan kaçınmak, belirli bir komutun yazılmasına izin vermek için, "proxing" olarak adlandırılan tekniği yenebilirsiniz.

Bu şekilde çalışın. Bilgisayarda, komut dosyası yüksek ayrıcalıklarla kalıcı olarak işlenir. Örneğin, bizim şarap türümüz, dosya sunucusunda yönetici haklarına sahip olabilecek bir genel kaydın lansmanlarına sahip olacaktır. Koristuvach'ın işaretinden sonra, vikonuvatime bir, önceden bir ekip atayacağım. Her popo için - tüm dosyaları kapatın, hattan açın.

Sistemi düzenlemek için, onu sunucuya, örneğin c:\scripts\ komut dosyaları Server.cmd ve Action.cmd klasörüne yerleştiririz.

Liste #4 - Server.cmd (Windows Batch)

tetikleyiciyi ayarla=c:\commandShare\trigger.txt
action=c:\scripts\action.cmd ayarla
log=c:\scripts\log.txt olarak ayarla
:Başlat
varsa %trigger% start %action% & echo %time% %date%>>%log% & del %trigger%
uyku.exe 5
başla

Liste #5 - Action.cmd (Windows Batch)

/f için "atla=4 belirteç=1" %%a y ('net dosyaları') net dosyaları yap %%a /close
çıkış

Server.cmd, şarkı alanındaki dosyanın işaretini kontrol edin ve atladıktan sonra dosyayı şu komutlarla çalıştırın - Action.cmd. Babalarımın doğru erişimden suçlu olmadığını anladım. Bilgisayar başlangıcında Server.cmd'nin otomatik olarak başlatılması, zamanlayıcıda ikinci bir görev oluşturularak düzenlenebilir:

schtasks /create /ru domain\administrator /rp /sc onstart /tn ProxyScript /tr c:\scripts\server.cmd

/ru parametresi belirtildikten sonra fiziksel kayıt, eğer betik değiştirilecekse (kullanıcımız sunucu üzerinde yönetici haklarına sahip değil), o zaman /rp parametresinden sonra şifre belirtilmez - görev oluşturulduğunda size güç verilir. /sc seçeneği, komut dosyasının ne zaman başlatılacağını, bizim durumumuzda bilgisayar adını belirlemenizi sağlar. Peki, /tn ve /tr, görevin adını ve kopyalanacak dosyayı belirtmenize izin verir.

Şimdi, betiklerin anında sinyal göndermesini sağlamak için c:\commandShare klasörünü oluşturacağız ve gerektiğinde kullanılabilir hale getireceğiz. Bu klasördeki kayda erişim, komutu çalıştırmak için yalnızca coristuvachi'nin annesinin sorumluluğundadır.

Yeterli olur olmaz coristuvachev'i Run.cmd çalışma stili dosyasına yerleştireceksiniz.

Liste #6 - Run.cmd (Windows Batch)

yankı testi > \\server\commandShare\trigger.txt

Bunu yaptığınızda, coristuvach adına \\server\commandShare\trigger.txt dosyası oluşturulacaktır. Server.cmd betiği, onu işaretledikten sonra, ayrıcalıklarınızla vicconnary'de Action.cmd dosyasını çalıştırın, c:\scripts\log.txt dosyasına geçerli saat hakkında bir giriş ekleyin ve ardından trigger.txt dosyasını silin. komut, coristuvach'ın hücum sinyaline kadar tekrar beklemez.

Server.cmd komut dosyası, komut dosyasının görevler üzerinde bir saat duraklamasına izin veren Sleep.exe yardımcı programını kullanır. İşletim sisteminin deposuna girmek zorunda değilsiniz, ancak onu Kaynak Kiti Araçlarından alıp herhangi bir bilgisayara kopyalayabilirsiniz.

  • öğretici

Minimum teori vardır, en önemli kısım pratiktir. WinRM'nin nasıl kurulacağını, bir profilin nasıl değiştirileceğini açıklayın dimi adaptörü, filtreleme ile TrustedHosts'a eklemek için komut dosyası verilir, güvenilir ana bilgisayarların ihtiyaçlarını açıklar ve bağlantılara uzaktan uzaktan bakılır, böylece sistem ve makineyi uzaktan görmek mümkün olur.

Vikonati yönetimi uzaktan nalashtuvati için en basit yolu Enable-PSRemoting bir yöneticinin haklarıyla yaşayan obolontsi'de. Bu hale geldiğinde:

  • WinRM hizmetini başlatın (yeniden başlatmaya başladığında)
  • WinRM hizmeti kampa gidiyor - başlangıçta otomatik başlatma
  • için WinRM'nin gizlice dinlenmesi ile oluşturulacaktır. http liman trafiği 5985 tüm yerel IP adresleri için
  • WinRM dinleyicisi için bir güvenlik duvarı kuralı oluşturulacaktır. Saygılar, bu öğe en kısa sürede tamamlanacak, sadece birleştirme kartlarından olsa bile, birleştirme türü “genel”dir, çünkü Böyle bir kartta port açmak iyi değil. Konfigürasyon yaparken böyle bir affınız varsa, ağ profilini bir cmdlet ile değiştirin. Set-NetConnectionProfile ve ardından Enable-PSRemoting'i yeniden çalıştırın. "Kamu hazinesi" profiline sahip bağlı bir karta ihtiyacınız varsa, Enable-PSRemoting parametresini çalıştırın -SkipNetworkProfileKontrol hangisi daha az güvenlik duvarı kurallarına sahip olacak? yerel hatlar.
Gerekirse o makineden kontrolün gerekli olduğu uzaktaki makineye bağlanmak mümkündür. Zrobleno tse z metoyu güvenliği, uzak keruvannya'nın kötü oturumu riskini değiştirmek veya uzak makineyi değiştirmek için kendini kanıtlayan DNS ve sizin gibi makinelerde zapobigti vykonannya skriptiv, sizin gibi primusovo izin verilmez.

vikoristovuemo'yu nereye bağlayabileceğinizi yeniden doğrulamak için:
get-item wsman:\localhost\Client\TrustedHosts
hepsine bağlanmanıza izin vermek için
set-item wsman:localhost\client\trustedhosts -değer *
Tüm belirtilenler için erişimi etkinleştirirseniz * WinRM, yeniden kablolama yapmadan TÜM makinelere bağlanacaktır. Yerel boyutun potansiyel kötülüğü için kendinize ne söylediğinizi hatırlayın. Kısacası, bağlanmanız gereken ana bilgisayar adreslerini belirtin, ardından WinRM diğer tüm adreslere veya adlara izin verecektir. Bir makine yönetiliyorsa, o etki alanındaki tüm makinelere güvendiği bir etki alanında olmalıdır. Etki alanında veya başka bir etki alanında değilse, adresi TrustedHosts'a girmek gerekir, aksi takdirde makine ona bağlanır. Bağlantımız kesilene kadar araba ile kendinize ekleyin.

Yardım komutları verildi, birkaçını komut dosyasından yeniden oluşturdum
################################################# ################################### # NewHost'u filtreleme ile TrustedHost listesine ekleyin, böylece bu satır zaten olabilir # # .\Add-TrustedHost.ps1 192.168.2.1 ################################## ## ############################################# ### # ## param ($NewHost = "192.168.2.89") Write-Host "host ekleme: $NewHost" $prev = (get-item WSMan:\localhost\Client\TrustedHosts).value if (($prev .Contains( $ NewHost)) -eq $yanlış) ( if ($prev -eq "") ( set-item WSMan:\localhost\Client\TrustedHosts -Value "(!LANG:(!LANG:$NewHost)" } else { set-item WSMan:\localhost\Client\TrustedHosts -Value "$önceki, $YeniAna Bilgisayar" } } Write-Host "" Write-Host "Now TrustedHosts contains:" (get-item WSMan:\localhost\Client\TrustedHosts).value !} !}
vіn revіryає chi є böyle bir rekor, sanki listeye hiçbir şey eklemiyormuş gibi. Adres veya isim girilerek komut satırından arama yapılabilir.

Є ryznitsya kazuvati im'ya chi adresi. Yalnızca TrustedHosts'ta adresler varsa, oturumu ada göre açın, görünmez ve navpaki - im'ya belirtirseniz, görünmez adrese ekleyin. Arayın.

neden farklı

Enable-PSRemoting daha fazla diy, daha düşük "winrm quickconfig" soyar. Set-WSManQuickConfig cmdlet'i "winrm quickconfig" ile aynı şekilde çalışır. Sistemi yapılandırdıysanız Enable-PSRemoting Set-WSManQuickConfig'i çalıştırır

Uzak bağlantı
1. Oturumlar 1'e 1
ekip tarafından bağırdı
Enter-PSSession -BilgisayarAdı Testi
Kasayı uzak bir makinede çıkarıyorsunuz. localhost girerek kendinize bağlanabilirsiniz. Alternatif krediler parametre ile atanır -Kimlik, cmdlet tarafından çıkıldı çıkış-PSSession

Bunun gibi değiş tokuş yapın:

  • başka bir saç kesimi yapmak mümkün değil - 1 seanstan az, seansın ortasında daha fazla bağlanmak mümkün değil
  • komutları kazanamazsın, yakі mayut grafik arayüzü. Kabuğu asılı yapmak istiyorsanız, asmak için Ctrl + C tuşlarına basın
  • kendi komutlarınızı çalıştırabilen komutları çalıştıramazsınız, örneğin nslookup, netsh
  • politika, uzak bir makinede çalıştırılmalarına izin verdiği için komut dosyalarını çalıştırabilirsiniz
  • etkileşimli oturuma katılamıyor, "ağ oturum açma" gibi gidiyorsun birleştirilmiş diske eklenen nibi Tom, oturum açma komut dosyasını çalıştırmaz ve uzak makinedeki ana klasörü alamazsınız (argüman ana klasörü ve oturum açma komut dosyalarını eşlemek değildir)
  • Orada aynı şarapları bulmak için uzak makinedeki muhabirle etkileşime giremezsiniz. Sonunda size göstermek veya sizinle arkadaş olmak için acele etmeyin.
Bu yöntem, sunucuyu alıp bağladıktan sonra basit işlemler için en iyisidir, zaishov. Kalabalıktaki değişiklikleri ortadan kaldırmanız gerekiyorsa, üçlü bir operasyona ihtiyacınız var (birçok yıl veya daha fazla gün), uygulama için daha fazla fırsata ihtiyacınız var, o zaman tekniği sorarak kazanmanız gerekiyor.
Yorum.
ağdan geçen nesneler oluşur ve canlılığı sona erer. Yöntemlere göre pis kokular görülüyor, yetkililer terk ediliyor. Arabanızda Vityagti ob'єkt, pochakluvat ve geri itmeyin. Daha fazla yazmak gerekirse, hemen ekleyeceğim.

2. Oturumlar 1'den çoğa
Invoke-Komut
görebildiğimizi şu şekilde ifade ederiz:
$sb = (koma ile ayrılmış uzak makine komutları)
uzak makinelere aktarıldı Test1 ve Test2
Invoke-Command -BilgisayarAdı Test1, Test2 -ScriptBlock $sb
Bir seferde 32 arabaya atabilirsiniz. Alternatif bir kredi olarak, -Credential parametresi galip gelir

-ScriptBlock parametresini değiştirmek üzere betiği tekrar aktarmak için -FilePath yazın, uzak makinede dosyaya erişim gerekli DEĞİLDİR, yedek parça düzenlemesi, HTTP üzerinden aktarımlar ve bu taraftan kapatma olacaktır.

O tarafta yeni bir osprey olacağını unutmayın, bu nedenle komut dosyanız konsolunuzdaki değeri geçersiz kılmaz ve değiştirilen komut dosyaları o boş teknede görünebilir. Bunun için hazır talimatlar ve parametrelerle komut dosyaları gönderin.

Invoke-Command'ın tamamen yeniden yazılması için satırları komut dosyası bloklarına değiştirmeniz gerekir. Örneğin, böyle bir listede yer alacak komutlarınız var, bir satır oluşturmanız, onu ScriptBlock'a dönüştürmeniz ve düzenlemeniz gerekiyor. uzak bilgisayar:
$sb = ::Oluştur($SomeString)
kuda78
Makalede bir yay eksik önemli an- Parametrelerin komut dosyasından uzak makineye aktarılması.

$deployRemote = (
param(
$targetEnvName,
$hedefKullanıcı adı)
$Global:ErrorActionPreference = "Dur"
#…
}

Invoke-Command -Session $session -ScriptBlock $deployRemote -ArgumentList($targetEnvName, $targetUsername)


Yani gerçek ihmaller. Zrobiv svidomo, parametreler ve açıklamalarla bir bakışta rahatsız etmemek için. Teşekkür ederim. -ArgumentList parametresi hem komut dosyası bloklarıyla hem de komut dosyalarıyla çalışır

3. Oturumlar
Bu taraftan, bellekte kalıcı olarak asmak için bir vishik kopyası oluşturulur ve ona komutlar gönderilir. Sonuç olarak, ona yeniden bağlanmak, bir vikonannya için cenity'yi çalıştırmak, farklı senaryolarla veya farklı koristuvach'larla uyum sağlamak mümkündür. Örneğin, bir seferde bir görev çalışan bir dizi betikiniz var, bunları bir uzak oturuma bağlayabilir, ileri komutların çalışmasının sonuçlarını çalıştırabilirsiniz, modüllerden biri ana, son değişiklik, son durak , sonuna kadar.

Oturum, New-PSSession cmdlet'i tarafından oluşturulur, değişiklikle sonuç kaydedilebilir
$DC01 = Yeni-PSSession -BilgisayarAdı DC01 $Denetleyiciler = Yeni-PSSession DC01, DC02, DC03
Invoke-Command ile aynı bağlantı parametrelerini kullanabilirsiniz.

Yak vikoristovuvati:
Yakscho 1'e 1
Enter-PSSession -Session $DC01
Yakscho 1-çok
Invoke-Command -Sessions $Controllers -ScriptBlock (get-eventlog -logname security -en yeni 50)
Yardım Get-PSSession için oturumu görüp görmediğinizi görebilirsiniz, Remove-PSSession'ı kapatın
tüm oturumları kapat
Get-PSSession | Kaldır-PSSession
oturuma Connect-PSSession yardımı ile bağlanabilirsiniz, Disconnect-PSSession ile bağlanabilirsiniz

Invoke-Command bağlantısı kesilmiş bir oturumu hemen oluşturabilir, uyanmak ve bağlanmak için komutları çalıştırabilir, daha sonra yeniden bağlanabilir ve çalışmanın sonuçlarını alabilirsiniz. -Disconnected parametresiyle savaşın. Sonuçları Recieve-PSSession cmdlet'i aracılığıyla alma.

Oturumlar zengin bir şekilde özelleştirilebilir, bir dizi komut, modül vb. ile oturumlar oluşturmak mümkündür. Özel uç noktalar olarak adlandırılır

© 2022 androidas.ru - Android hakkında her şey