PowerShell İle Eğlenceli İşlemler

Murat Yıldırımoğlu 13 Mayıs 2018 0
PowerShell İle Eğlenceli İşlemler
  • Sumo

 

PowerShell ile sunucularımızı, istemcilerimizi, uygulamalarımızı yönetebiliyoruz. Son sürümü olan 6.0 ile Windows dışındaki ortamlara (Linux, MacOS) da yükleyip onları da yönetebiliyoruz. Raspberry Pi’ye bile yüklemek mümkün.

Görünen o ki ileride PowerShell ile her şeyi yönetebileceğiz.

Öte yandan PowerShell yapısı itibariyle biraz korkutucu. Komutları uzun. Yardım bilgisi bile ek yardıma gerek duyabiliyor. Bu yüzden de sistem yöneticilerinin çoğu için halen uzak durulan bir alan durumunda.

PowerShell’e ısınmak için korkutucu yanlarından uzaklaşıp biraz eğlenceli işler yapabiliriz.

 

Birinci işlemimiz Powershell’i konuşturmak. Aşağıdaki iki satırla istediğimiz metnin seslendirilmesini sağlayabiliyoruz:

$voice = New-Object -ComObject “sapi.spvoice”

$voice.Speak(“Graphic ourtum gouzeldir. Uma komut ourtumi du gouzeldir”)

Yukarıdaki iki satırı doğrudan kopyalayıp Powershell ortamında birbiri ardına verebilirsiniz. Normalde seslendirme İngilizce yapıldığı için Türkçe doğruya yakın bir ifade çıksın diye metni biraz bozdum.

Aşağıdaki kod da bilgisayardaki DVD sürücüyü açıyor:

$Disk = New-Object -ComObject IMAPI2.MsftDiscMaster2

$DiskKaydedici = New-Object -ComObject IMAPI2.MsftDiscRecorder2

$DiskKaydedici.InitializeDiscRecorder($Disk)

$diskkaydedici.ejectmedia()

Aşağıdaki kod kullanıcıdan gelen bilgiye dayanarak onun karşısına bir mesaj kutusu çıkartıyor:

$isim=read-host -prompt “Lütfen adınızı giriniz”

$mesaj=”Sen ne iyi bir insansın “+$isim

$wshell = New-Object -ComObject Wscript.Shell

$wshell.Popup($Mesaj,0,”Günün Mesaji”,0x1)

Mesaj kutusu komutlarını ve çıktısını aşağıdaki şekilde görebilirsiniz:

Şimdi de üç satırlık bir kodla Youtube’dan bir videonun çalınmasını sağlayalım:

$Video=new-object -com internetexplorer.application

$Video.navigate2(“https://www.youtube.com/watch?v=GUT0gem7W0Y “)

$Video.visible=$true

Son olarak da, eğlenceli olduğu kadar yararlı bir komut görelim: test-computersecurechannel.

Test-computersecurechannel komutu, çalıştırıldığı makine ile etki alanı arasındaki güven ilişkisini (trust) denetler. Sonucu da True (Güven ilişkisi var) ya da False (Güven ilişkisi yok) şeklinde döndürür. Burayı biraz açalım: Bir etki alanında (domain), etki alanını denetleyen Domain Controller (DC) ile üye makineler arasında güven ilişkisi kurulur. Bu ilişki haftada bir kez tazelenir. Üye makinenin DC ile güven ilişkisi bozulmuşsa üye makineye etki alanı kullanıcısıyla oturum açmak istediğimizde bu makinenin etki alanıyla güven ilişkisi bozlulmuştur şeklinde bir hata mesajı alırız ve oturum açamayız. Böyle bir durumda yaptığımız şey genelde makineye yerel administrator olarak girip makineyi etki alanından çıkarmak, sonra da tekrar üye olarak eklemektir. Bunları yaparken üye makine iki kez yeniden başlatılır.

Ama test-computersecurechannel komutunun –repair ve –credential parametrelerini kullanıp aradaki güven ilişkisini kolayca yenilememiz mümkün. Bunu yapmak için söz konusu makineye yine yerel administrator olarak girip Powershell içinden şöyle bir komutu vermemiz gerekiyor:

Test-computersecurechannel –repair –credential anadolu\administrator

Komut içindeki –credential parametresinde etki alanının yöneticilerinden birisini verebiliriz. Bu komutu verdiğimizde bizden o kullanıcının parolasını girmemiz istenecektir. Parolayı girince güven ilişkisi tazelenmiş olur. Makineyi etki alanından çıkarmak, yeniden üye yapmak, bu sırada iki kez yeniden başlatmaktan da kurtulmuş oluruz.

Yorum Bırak »