Windows Yönetici Becerilerinizi Geliştirecek Powershell Cmdlet'leri

Windows Yönetici Becerilerinizi Geliştirecek Powershell Cmdlet'leri

Powershell, yeni bir kodlayıcının Windows'a başlaması için mükemmel bir yoldur. Powershell, eşit parça komut satırı aracı ve komut dosyası dilidir. Size bilgisayarınızı otomatikleştirme yeteneği verir yönetmek için kullandığınız komutlarla aynı . Modern bir Windows sisteminiz varsa, zaten Powershell'e sahipsiniz. Kullanımlarının çoğu Windows merkezlidir, ancak Powershell'i bir Mac veya Linux makinesine de yükleyebilirsiniz.





Powershell ile Çalışmak

Powershell'i kullanmanın iki yolu vardır. Komutları çalıştırmak veya önceden yazılmış komut dosyalarını çağırmak için kullanılan temel komut satırı penceresi vardır. Ardından, CLI penceresini temel bir geliştirme ortamıyla birleştiren ISE vardır. Bunu kullanarak, komut dosyalarınızı yazabilir ve test edebilirsiniz.





ISE'nin aranabilir bir komut listesi vardır ve Terminal Penceresini bir dosya açmadan kullanabilirsiniz. Komut listesi, komutunuzu oluşturmanıza ve eklemenize izin verir. Daha gelişmiş bir geliştirme yapıyorsanız, Microsoft'un Visual Studio Code'unu yükleyin. Kod, Git sürüm denetimi ve diğer diller için destek içerir.





Powershell, tamamen komutlardan oluşması bakımından benzersizdir, Microsoft bunları Cmdlet'ler olarak adlandırır. Komut satırı üzerinden çalışıyorsanız veya karmaşık komut dosyaları yazıyorsanız bu komutlar aynıdır. Bu komutları kullanırken, ilk komut dosyalarınızı oluşturmak için bunları nasıl bir araya getireceğinizi düşünebilirsiniz.

Temel Bilgiler: Komut Al, Yardım Al, Üye Al

Tüm Powershell komutları Fiil-İsim biçimini alır. Fiiller genellikle: Al, Ayarla ve Yeni .



Get-Komut mevcut her komutu görmenizi sağlar. Get-Command'ı çalıştırırken, bunlarla başlayan tonlarca komut olduğunu görürsünüz.

Sadece cmdlet'lerin adlarından daha derine inerek hepsinin benzer bir yapıya sahip olduğunu görmeye başlarsınız. Get-Command ile yaptığınız gibi, onları isimleriyle çağırırsınız. Parametreleri kullanmak, aldığınız bilgileri değiştirir. Ancak, komutu yalnızca varsayılan seçeneklerle kullandıysanız, gelişmiş parametreleri nasıl kullanacağınızı nasıl öğrenirsiniz?





Kullanmak Yardım almak Get-Command ile cmdlet, cmdlet hakkında daha fazla bilgi gösterir. Cmdlet'i aşağıdaki sözdizimi ile kullanırız:

Get-Help Get-Command

Ardından parametrelerle ilgili temel bilgileri görürsünüz. Parametre ayrıntılarını ve bazı kullanım örneklerini görmek istiyorsanız -Full parametresini ekleyin.





Yalnızca Örnekleri görmek istiyorsanız, şunları çalıştırabilirsiniz:

Get-Help Get-Command -Examples

Bu cmdlet, yalnızca yardım dosyasındaki örnekleri döndürür. Bu örnekler açıklamalar içerdiğinden oldukça faydalıdır. Bu yardım metni, çalıştırıldığında cmdlet'in ve parametrelerin ne yaptığını açıklar.

Yardım dosyasını ayrı bir pencerede açmak isterseniz, kullanabilirsiniz. -Pencere göster . Yani çalıştırırsanız:

Get-Help Get-Command -ShowWindow

Powershell, tam yardım dosyasının bulunduğu bir pencere açar. Pencere makalenin tamamını çektiği için burada Full parametresini kullanmanıza gerek yoktur.

Powershell ile ilerledikçe, Get-Member'ı daha sık kullandığınızı göreceksiniz. Çalıştırabileceğiniz diğer yöntemlerin yanı sıra döndürülen verilerden hangi alanların kullanılabilir olduğunu görmenin kolay bir yoludur. Genellikle, cmdlet'lerin bir -Mülk bunları aramanıza izin veren parametre.

Dosyalarla Çalışma: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

Artık cmdlet'lerin nasıl çalıştığına ve nasıl yardım alacağınıza dair bir fikriniz olduğuna göre, şimdi değişiklik yapalım. kullanarak herhangi bir klasörün içeriğini alabilirsiniz. Get-ChildItem emretmek. Örneğin, sürücü harfini kullanarak tüm sürücünün dosyalarını alabilirsiniz. Girmek:

Get-ChildItem E:

Hangisi için kısa:

Get-ChildItem -Path E:

Bu komutu çalıştırdığınızda, Uzunluk özelliği, Adı ve Modu altındaki Son Yazma Süresi, boyutu ile dosyaların bir listesini alırsınız. Mod, bir dosya veya klasörün öznitelikleridir. Olası girişler şunlardır:

  • Sadece oku
  • Gizlenmiş
  • sistem
  • dizin
  • Arşiv
  • Cihaz
  • Normal
  • Geçici
  • SeyrekDosya
  • Yeniden Ayrıştırma Noktası
  • Sıkıştırılmış
  • Çevrimdışı
  • NotContentIndexed
  • şifreli

Bir yoldaki tüm alt dizinlerin içeriğini almak istiyorsanız, -Tekrar parametre. Öyleyse çalıştırın:

Get-ChildItem -Path E: -Recurse

Dosyalarınız daha sonra yoldaki her klasör için ayrı listeler olarak çıkar.

Döndürülen verileri sınırlamak için birkaç farklı parametre kullanabilirsiniz: -Dosya , -Gizlenmiş , ve -Sadece oku . Dosya adlarını filtrelemek istiyorsanız, Path parametresinde joker karakterler kullanabilirsiniz. Bir dizindeki tüm .doc dosyalarını döndürmek için şunu girin:

Get-ChildItem -Path E:*.doc

tekrar ekle -tekrar her şeyi alt klasörlerden de istediyseniz.

Bir dosyayı silmek istiyorsanız şunu kullanın:

Remove-Item -Path E:OldFile.txt

Her dosyayı onaylamayı atlamak için parametreyi ekleyin -$false'ı onaylayın (Powershell'in boole değerleri için iki sabiti vardır: $true ve $false). Salt okunur veya gizli dosyaların kaldırılmasını zorlamak için -Kuvvet parametre.

Dosyaları taşımak da bir o kadar kolay. Flash sürücünüzdeki her şeyi bir klasördeki yerel sürücüye taşımak için şunu kullanın:

Move-Item -Path E:* -Destination C:FlashDriveArchive

Ayrıca -Path içinde tek bir dosyayı yalnızca o dosyayı taşımak için adlandırabilirsiniz. Dosyayı taşımak yerine kopyalamak için, dosyayla aynı sözdizimini kullanırsınız. Kopya-Öğe cmdlet'i.

Süreçleri ve Hizmetleri İzleme ve Çalışma

Her Windows kullanıcısı Görev Yöneticisini biliyor . Ancak, Powershell'den şu anda çalışan işlemleri görmenin daha hızlı bir yolu vardır, Al-İşlemi . Bu tablodaki tüm girişlerin ne anlama geldiğini bilmek istiyorsanız, komutu iletin. Üye Ol . cmdlet'i girin:

Get-Process | Get-Member

Get-member, Get-Process ile ilişkili yöntemlerin ve özelliklerin bir listesini verir. En üstteki bilgi ilgilendiğiniz şeydir. Çeşitli bellek türlerinin takma adları olduğunu görüyorsunuz.

Bu çıktıdan şunu da elde edebileceğimizi görebiliriz. Ürün işlemlere daha dostça bir ad almak için özellik. Çıktıyı değiştirelim, böylece çalışmamız için daha iyi bilgilere sahip olur:

macbook pro'da belleği yükseltebilir miyim
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(Bir sonraki bölümde Select-Object ve Sort-Object hakkında daha fazla bilgi var.)

Artık Get-Process komutunuzun kimliğine sahip olduğunuza göre, Stop-Process cmdlet'ini kullanarak onu durdurabilirsiniz. Bu nedenle, bir Chrome işleminin tüm kaynaklarınızı tükettiğini fark ederseniz, önceki komutta kimliği bulun. O zaman koş:

Stop-Process -ID 45960

Yer değiştirmek 49560 kaynak domuzunuzun kimliğiyle.

Dosya yolunu kullanarak Powershell kullanarak bir işlem başlatabilirsiniz. Chrome'u başlatmak için aşağıdaki komutu çalıştırın:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(Boşluklar nedeniyle dosya yolunun etrafında tırnak işaretleri olması gerekir.) -Argüman Listesi parametresi, komut satırı seçeneklerini uygulamaya geçirmenizi sağlar. Chrome söz konusu olduğunda, aşağıdakileri kullanarak onu Gizli Modda başlatmaya zorlayabilirsiniz. --gizli bayrak. Cmdlet'in tamamı:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

Aynı şeylerin çoğunu servislerle de yapabilirsiniz. Hizmet Al bilgisayarınızda çalışan tüm hizmetlerin bir listesini gösterir. Başlatma ve Durdurma servisleri ile aynı, kullanabilirsiniz Başlangıç-Hizmet ve Hizmeti durdur .

Verilerle Çalışma: Nesneyi Sırala, Nesne Seç, Nesne Yeri

Bir cmdlet'ten gelen verilerle çalışırken, her zaman istediğiniz sıra olmayabilir. Bu durumlarda, kullanmak istediğiniz Sıralama Nesnesi . Sort-Object'i oluşturduğunuz bir değişken üzerinde çağırabilirsiniz, ancak öncelikle başka bir cmdlet'i borulayarak kullanılır. Yukarıdaki örnekte olduğu gibi, bir nesnenin çıktısını diğerine aktarır ve sıralarız. Üç rastgele sayıdan oluşan bir dizi oluşturalım ve bunu Sort-Object'e aktaralım.

Parantez içindeki her şey önce çalışır. Aşağıdakilerle basit bir dizi oluşturun:

$(Get-Random), $(Get-Random), $(Get-Random)

Değerleri ayıran virgüllere dikkat ettiğinizden emin olun. Yani rastgele sayıların sıralanmış çalışmasını görmek için:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

Cmdlet sayıları küçükten büyüğe doğru verir, eğer ters çevirmek isterseniz -Azalan .

Get-Member'a cmdlet'leri yönlendirdiğinizde, varsayılan çıktıdan daha fazla özellik vardır. kullanarak belirli özellikleri seçersiniz. Select-Object .

Tıpkı Sort-Object gibi, Select-Object'i borulu bir cmdlet aracılığıyla kullanırsınız. Örneğin, bir hizmet tablosu oluşturmak ve bunların durumlarını kullanmak için:

Get-Service | Select-Object DisplayName, Status

Tüm bu verilerin çıktısı güzel olsa da, sadece belirli verileri görmek istiyorsanız ne olur? Get-ChildItem bazı yerleşik filtrelemeye sahiptir, ancak çoğu komutta yoktur. Bu durumlarda kullanırsın Nerede-Nesne .

Tekrar servislere dönersek, bu sefer sadece çalışan servisleri alacaksınız. cmdlet'i girin:

Get-Service | Where-Object Status -eq 'Running'

o -eq karşılaştırmada Powershell için = . Powershell'de harf kombinasyonları ile karşılaştırmalar yaparsınız:

  • eq: eşittir
  • ne: eşit değil
  • lt: daha az
  • gt: daha büyük
  • ge: büyüktür veya eşittir
  • le: küçük veya eşit
  • like: joker karakter karşılaştırmalarında like kullanın

Formatlama Yardımı: Format-Tablo ve Format-Listesi.

Bu çeşitli cmdlet'ler için çıktıların çoğu tablo biçimindeydi. Bu, verileri başlıklarla birlikte satırlar ve sütunlar halinde görüntüler. Özellikleriyle birlikte listelenen girdileri tek tek görüntülemek için cmdlet'i Format-Listesi .

Bazen Powershell penceresi için fazla genişleyen bir çıktınız olur. Bu olduğunda, Powershell onu bir liste çıktısına zorlar. Tablo biçiminde tuttuğunuzdan emin olmak için çıktınızı Format-Tablo .

Komut Satırından Komut Dosyasına: Sonraki Adımlar

Rahat olduğunuzda, komut dosyası oluşturma, cmdlet'leri bir metin dosyasına girip kaydetme meselesidir. Senaryo yazmayı denemek konusunda gerginseniz, olmayın. Microsoft, her cmdlet'te çok büyük miktarda belgeye sahiptir. Bu, zaten uzun olan yardım belgelerinin ötesindedir, bu nedenle Technet'i [Artık Mevcut Değil] kontrol ettiğinizden emin olun.

Powershell'i öğreniyorsanız, yapmaktan en çok heyecan duyduğunuz şeyi yorumlarda bize bildirin. Biraz daha fazla deneyiminiz varsa, ele alınmasını istediğiniz daha gelişmiş konuları duymak isteriz.

Paylaş Paylaş Cıvıldamak E-posta Disk Alanını Boşaltmak için Bu Windows Dosyalarını ve Klasörlerini Silin

Windows bilgisayarınızdaki disk alanını temizlemeniz mi gerekiyor? İşte disk alanını boşaltmak için güvenle silinebilecek Windows dosya ve klasörleri.

Sonrakini Oku
İlgili konular
  • pencereler
  • Programlama
  • Güç kalkanı
  • komut dosyası
Yazar hakkında Michael McConnell(44 Makale Yayımlandı)

Michael, mahkum olduklarında Mac kullanmadı, ancak Applescript'te kod yazabilir. Bilgisayar Bilimleri ve İngilizce dereceleri vardır; bir süredir Mac, iOS ve video oyunları hakkında yazıyor; ve on yıldan fazla bir süredir komut dosyası oluşturma ve sanallaştırma konusunda uzmanlaşmış bir gündüz BT maymunu.

Michael McConnell'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın