Powershell Uygulamaları

'Black Warrior

Yaşayan Forum Efsanesi
8 Ocak 2013
12,132
5
E5
Powershell’in çıkmasıyla beraber artık günümüzde command prompt yerine shell çekirdeğini kullanır olduk. Powershell’in 5.0 versiyonuyla beraber bir çok yenilik beraberinde geldi.
Bu makalemizde powershell uygulamaları yaparak, örnekler göreceğiz.
“uGUR”.toupper() : Tümünü büyük yazacaktır. ( UGUR )
“uGUR”.tolower() : Tümünü küçük yazacaktır. ( ugur )
Get-WmiObject win32_bios –computername UGURHOST : Wmi filter kullanarak, localde çalışmış olduğumuz pc ile alakalı bios bilgisini alabiliriz.
Get-WmiObject –Class win32_computersystem : Bilgisayarın bağlı olduğu domain, ram miktarı, üretici firma hakkında bilgi verir.
Import-Module ServerManager : Rol, Feature listesini ve durumları hakkında bilgileri getirir.
Get-WindowsFeature : Rol, Feature listesini ve durumları hakkında bilgileri getirir.
Add-WindowsFeature RSAT-AD-Tools : Feature ya da Rol ekleme yapar. (RSAT ekledik)
Add-WindowsFeature RSAT-ADCS,RSAT-AD-Tools,PowerShell-ISE: Aynı anda birden fazla feature ya da rol eklemek.
Remove-WindowsFeature RSAT-AD-Tools: Bir rol ya da feature kaldırmak.
Get-WindowsFeature | Where {$_.installed –eq $true} : Sadece yüklü olan feature ya da rolleri listeler.
Get-WindowsFeature *AD* | Where {$_.installed –eq $true} : İçerisinde AD geçen ve yüklü olan rol ya da feature’ları listeler.
get-service :Tüm servislerin durumunu gösterir.
get-service M* : M ile başlayan tüm servisleri listeler.
Get-Service M* | Format-List
Get-Service M* | Format-Custom

(M ile başlayan servisleri geniş özetli listeler.)
Get-Service | Get-Member : Servisin üyeliklerini gösterir.
Get-Process | Get-Member : Proseslerin üyeliklerini gösterir.
Değişkene atanan karakterin uzunluğunu görmek.
PS C:\Users\ugurdemi> $z=”Ugur Demir”
PS C:\Users\ugurdemi> $z.Length
10
Değişken içindeki karakter için True/False değerini Almak
PS C:\Users\ugurdemi> $z.Contains(“U”)
True
PS C:\Users\ugurdemi> $z.Contains(“N”)
False
Değişkenle hesaplama işlemleri
PS C:\Users\ugurdemi> $sonuc = (100/2)*3
PS C:\Users\ugurdemi> $sonuc
150
Write-Host ile işlem yapmak.
PS C:\Users\ugurdemi> $a=”Ne iş yapıyorsun? ”
PS C:\Users\ugurdemi> Write-Host $a
Ne iş yapıyorsun?
Değişken ile Network İşlemleri
PS C:\Users\ugurdemi> $ipim=ipconfig
PS C:\Users\ugurdemi> $ipim
Decimal Kavramını Anlamak
[decimal]
Read-Host metodu, bir değişken tanımından sonra kullanıldığı takdirde, ekrana tırnak içerisindeki metini vererek kullanıcıdan bilgi girilmesini ister. Girilen bu bilgi satır başında tanımlanan değişkene atanacaktır.
PS C:\Users\ugurdemi> [decimal]$yaz = Read-Host ” Yasini Gir ”
Yasini Gir : 30
PS C:\Users\ugurdemi> $yaz
30
get-command *komut*: Komut ile ilgili içerikleri,aliasları,diğer komutları vb. çıktısını verir…
get-alias *rmdir* : Cmd'deki komutun karşılığını powershell için verir.
update-help -force : Yeni scriptleri alır. Güncelleme yapar.
get-help *service* :Service komutları hakkında yardım eder.
get-help *process* :process komutları hakkında yardım eder.
get-help *computer* : Computer komutları hakkında yardım eder.
get-help get-get-service : Get-Service hakkında help verir. Komutlar hakkında get-help komut şeklinde yardım alabiliriz.
get-help get-service -detailed : Get-Service hakkında detaylı help verir. Yukarıdaki gibi komutlar hakkında get-help komut şeklinde yardım alabiliriz. Ancak bu yardım detaylı yardım almamızı sağlar.
get-service : Tüm servisleri listeler.
get-services vds : vds servisini listeler. Sadece bir servisi listeletebiliriz.
get-service -computername WEB2 : Web2 makinesindeki servisleri listeler. Diğer makinadaki servisi listeletmek için kullanırız.
Pipeline ( | )
-Whatif : Displayname’e göre windows isimli servisleri listeler. | işaretinden sonrası servisleri stop eder. Peki bu yazdığım komutun ne işe yaradığını görebilmek adına –whatif’i kullanırım. Çıktısı nedir? Windows ile ilgili olan servisleri stop eder.
-confirm : Displayname’e göre windows isimli servisleri listeler. | işaretinden sonrası servisleri stop eder. Bunların hepsini değilde adım adım görüp kapatmak istersem confirm komutunu kullanırım.
Servis Stop Edip / Start Etmek : İlk komut ile Get-Service stop yada start edilecek servisin adı | işareti sonraıs Stop-Service stop eder, start-Service ise start eder. Ardından aşağıdaki komutla içinde windows geçen servisileri displayname’e göre listeler.
Pipeline ile ilk 5 servisi listelemek, isterseniz aşağıdaki komuttaki 5’i değiştirip 10 yapın.10 servisi listelesin.
CSV olark Export Etmek:
Aşağıdaki komutta servisleri csv olarak export ettim.
Out File ile Dosya Çıktısı Almak:
Aşağıdaki komutta convert ile htmlye çevirip outfile alıyoruz.
Nesneleri Sıralamak:
Aşağıdaki komut ile nesneleri sıralama yapabiliyoruz. İlk 5i sıralıyoruz. –first 5 yerine –skip5 yazarsam ilk 5 servis hariç diğerlerini listeler.
Switch yapısı:
$value= 1 switch ($value) { 1 { “Number 1” } 2 { “Number 2” } 3 { “Number 3” } }
Do While Döngüsü:
Örnek:
do { $Input = Read-Host “Web sayfan” } while (!($Input -like “www.*.*”)) $input
For Döngüsü
Kullanım Biçimi: For (baslangic; kıstas; tekrar) {kod bloğu}
Örnek:
PS C:\Users\ugurdemi> for ($i=1; $i -le 10; $i++) {write-host $i}
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.