PowerShell Ms-Dos benzeri bir komut sistemidir ve Ms-Dos’tan çok daha gelişmiş bir platformdur , Ms-Dos yeterli esnekliğe sahip olmadığından üst düzey kullanıcılari memnun etmiyordu
Arama bosluguna windows power yazıp calistiralim ve Power shell imiz acilsin
win power
bütün mevcut Cmdletsleri verir (230 adet):
get-command
Komut hakkinda yardim /detayli bilgi verir
get-help get-command get-help get-command –detailed
En iyi Cmdlets
islemciniz hakkinda ayrintili bilgi
get-wmiobject win32_processor
sadece islemci ismini alalim
get-wmiobject win32_processor name
Grafik islemcimiz hakkinda bilgi alalim
get-wmiobject win32_videocontroller
Bios versionumuzu ögrenelim
get-wmiobject win32_bios
RAM hakkinda bilgi alalim
get-wmiobject win32_physicalmemory
RAm slotlarimiz ve üzerindeki RAm ler hakkinda bilgi
get-wmiobject win32_physicalmemory | format-table tag, banklabel, devicelocator, capacity
Hotfixleri görelim
get-hotfix
KB972270 kurulmusmu sorgulayalim
get-hotfix –id kb972270
Bütün güvenlik güncellemelerini döksün
get-hotfix –description security*
Bütün Updateleri html formatinda döktürelim
get-hotfix | select-object description, hotfixid | where-object {$_.description -ne ''} | convertto-html >hotfixliste.html
C:\Users\velociraptor (velociraptor yerine sizin kulanici adiniz gelecek) gidip hotfixliste.html ye gözatabilirsiniz
Windows Processes lere bir gözatalim
get-process | group-object {$_.name} | where-object {$_.count -gt 1}| foreach-object {get-process $_.name} | format-list name, path
Geri dönüsüm noktalarini görelim
get-computerrestorepoint
Temp datalarini silelim
get-childitem –recurse c:\*.tmp | remove-item
C deki deneme.txt i D:\yedek içine kopyalayalim
copy-item c:\deneme.txt D:\yedek
Dosya kopyalayalim c:\deneme klasörünü D:\yedek içine kopyalayalim
copy-item c:\deneme D:\yedek –recurse
c:\deneme.txt i D:\yedek içine Kes yapistir yapalim
move-item c:\deneme.txt D:\yedek
Dosya silelim
remove-item c:\test.txt
Klasör icerigini silelim
remove-item c:\texte\* -recurse
D:\history_en.txt de yeralan 5. satiri görüntületelim
(get-content d:\history_en.txt –totalcount 5)[-1]
D:\dns_jumper\deneme.txt icerisinde yeralan ilk 8 satiri D:\top100.txt diye export edelim
get-content D:\dns_jumper\deneme.txt -totalcount 8 | set-content D:\top100.txt
Baslangicta calisan programlarımizi görelim
get-itemproperty hklm:\software\microsoft\windows\currentversion\run
Kendi power shell scriptlerimizi olusturalim (mesela Notepad i kapatan bir script olusturalim)
aramaya aşağıdakini yazalim
windows powershell ise
sonrasinda aşağıdaki komutu verelim
get-process –name "notepad" | stop-process
ve kill_notepad.ps1 olarak kaydedelim , şimdi bunu calistirma yetkimizi sinayalim , aşağıdaki komutu verelim
get-executionpolicy
Sonuc restricted ise bu scripti calistirma yetkniz yok demektir , şimdi aşağıdaki komutu verin
set-executionpolicy unrestricted
ve Y yazarak onaylayin ve notepad i acip Powershelld de aşağıdaki komutu verin
& "C:\kill_notepad.ps1"
not: üstteki notepad i kapatma , örnek olarak verilmistir , calismayabilir
Velociraptor
Teşekürler serdar.
powershell sürümünü yükseltmek isteyenler "windows management framework" yazılımının son sürümünü yüklesin.
Doğrudur Powershell biraz sıkınıtılıdır
tamam hocam bulursan paylaş herkez faydalanır, tahminime göre bazı regedit anahtarlarına kısıtlama yapmış olabilirler veya bu anahtarlara veri yazdıran kodlar başka orada paylaşmamışlar,sadece basit genel olarak eklemeyi göstermişler. şu linkte Web Link ...
Roger Zander adlı bir arkadaş registryi powershelle çevirici bir sayfa yapmış ama orada çevirilen powershell scriptleride tam randımanlı olarak çalışmıyor 🙂 , bu Powershell işi çok karmaşık ve sorunlu anlaşıldı.
Ben Vbs kodlamaya ilk başladığımda Microsofttan kaynak olarak faydalanmaya kalktım ve aynen dediklerini yaşadım , VBs bunlara ait bir dil ve verdikleri örneklerin %70 i çalışmıyor veya hatalı - REZALET Microsoft böyle bir Şirket işte , yeni kaynak bulursam paylaşırım
hocam verdiğiniz sayfadaki yazılarda çok karmaşık anlatmışlar ne olduğu belli değil,kodlar bazen çalışıyor bazen çalışmıyor,mesela ilk önce orada verilen bir örnekten yola çıkarak HKEY_CURRENT_USER\Software konumuna deneme adında yeni bir anahtar ekledim o oldu,yani aşağıdaki script çalıştı.
Push-Location
Set-Location HKCU:
Test-Path .\Software\deneme
New-Item -Path .\Software -Name deneme
Pop-Location
ondan sonra şu HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies konumuna deneme adında yeni bir anahtar eklemeye çalıştım eklenmiyor,script çalışırken kırmızı renkte hatalı çalışıyor eklenmiyor ne garip iş anlamadım,scripti yönetici olarakta çalıştırıp denedim yine eklenmiyor.
Push-Location
Set-Location HKCU:
Test-Path .\Software\Microsoft\Windows\CurrentVersion\Policies\deneme
New-Item -Path .\Software\Microsoft\Windows\CurrentVersion\Policies -Name deneme
Pop-Location
Registry ye veri yazılır , aşağıda birkaç örnek mevcut
Web Link ...
yada
Web Link ...
çok önemli bilgiler teşekkürler. hocam powershell script'i ile regedite veri yazılıyormu. bununla alakalı bir yazı yazarmısınız,birde powershell hakkında daha fazla yazılar yazarsanız seviniriz çünkü internette çok az bilgi var.