Month: February 2012

Powershell ile IP Konfigürasyonunu Değiştirmek

Eğer yoğun bir temponuz varsa ve sürekli lokasyon değiştirmek durumundaysanız siz de Ip konfigürasyonunu sık sık değiştiriyorsunuz demektir. Bazen statik adres bazen de dynamic adres kullanmak zorunda kalırsınız. Bu işlemi çok hızlı bir şekilde yapabilmek için aşağıdaki Powershell script’i rahatlıkla kullanabilirsiniz.

Bu script içinde WMI bileşenlerinden faydalandım. Win32_networkadapter ve Win32_networkadapterconfiguration Class’ları sayesinde varolan network kartlarıma ait bilgileri çektim ve düzenledim.

Oldukça basit ve kullanışlı olan bu Script’in görünümü aşağıdaki gibi..

Script dosyasına aşağıdaki linkten ulaşabilirsiniz.

IP_degistir.zip

Teşekkürler,

BakiOnur

Powershell ile basit bir menü uygulaması

Powershell içerisinde bir menü aracılığıyla işlemlerinizi otomatize ederek kolaylaştırabilirsiniz. Bunun için oluşturduğum basit bir script’i sizlerle paylaşmak istiyorum. Aşağıdaki script kopyalanıp powershell içerisine yapıştırıldığında “menu” isimli fonksiyon sistem tarafından tanınmış olur. Bu aşamadan sonra “menu” komutu ile bu fonksiyon çağrılır ve uygulama çalışmış olur.

function menu{

write-host “1-IP Konfigürasyonu”

write-host “2-En son 20 Error Log Bilgisi (application,security,setup)”

write-host “3-Hostname”

write-host “4-BIOS bilgileri”

write-host “5-Disk bilgileri”

write-host “6-Paylaşım bilgileri”

write-host “7-Çıkış”

write-host “”

write-host “———————–”

write-host “”

$secim=Read-host “Lütfen seçiminizi yapınız”

if($secim -eq 1){

ipconfig

write-host “”

write-host “———————–”

write-host “”

menu

}elseif($secim -eq 2){

get-eventlog application -newest 20;get-eventlog system -newest 20;get-eventlog setup -newest 20

menu

write-host “”

write-host “———————–”

write-host “”

}elseif($secim -eq 3){

hostname

write-host “”

write-host “———————–”

write-host “”

menu

}elseif($secim -eq 4){

gwmi win32_BIOS

write-host “”

write-host “———————–”

write-host “”

menu

}elseif($secim -eq 5){

gwmi win32_logicaldisk

write-host “”

write-host “———————–”

write-host “”

menu

}elseif($secim -eq 6){

gwmi win32_share

write-host “”

write-host “———————–”

write-host “”

menu

}elseif($secim -eq 7){

EXIT

}else{

cls

menu

}

}

 

Script çıktısı aşağıdaki şekildedir.

Bu aşamadan sonra kullanıcının menü öğelerinden birini seçmesi beklenir. Eğer kullanıcı 1,2,3.. gibi bir seçim yapmalıdır. Bunlar dışında bir seçim yaptığında fonksiyon içerisindeki kontroller aracılığıyla menü yeniden kullanıcının karşısına getirilir ve yeniden seçim yapması istenir.

Bu basit menu script’i içerisindeki kısımları kendinize göre özelleştirerek en sık yaptığınız işlemleri çok daha hızlı bir şekilde yapabilirsiniz.

Daha sonraki yazılarımızda kullanıcının istediği bilgileri vererek script’i yönlendirmesini de ele alıyor olacağım.

Teşekkürler,

BakiOnur

Active Directory’de 90 gün boyunca oturum açılmamış bilgisayarların listelenmesi / silinmesi

Active Directory’de 90 gün boyunca oturum açılmamış bilgisayarların listelenmesi

Get-ADComputer -filter * -Properties * | where{$_.lastlogondate -lt (get-date).adddays(-90)}

Yukarıdaki komut ile AD üzerindeki bilgisayarların bütün attribute’leri hedef olarak alınır ve “|” işareti (pipe) sonrasında LASTLOGONDATE attribute değerine gore filtrelenir. Bu filtreleme yapılırken şu anki tarihin 90 gün öncesinden daha eski degree sahip olan bilgisayarlar listelenir. Bu aşamadan sonra istenirse bu bilgisayarların silinmesi sağlanabilir. Bunun için;

get-adcomputer | where{$_.lastlogondate -lt (get-date).adddays(-90)} | Remove-ADComputer

Teşekkürler,

BakiOnur

Powershell ile Active Directory İşlemleri – I

Powershell’in en işlevli alanlarından birisi elbette Active Directory’dir. AD üzerinde günlük olarak yaptığımız birçok işlemi Powershell ile rahatlıkla hızlı bir şekilde otomatize edebilirsiniz.

Aşağıda farklı farklı şekillerde AD içerisinde nasıl çalışmalar yapabileceğinize ilişkin örnekleri bulabilirsiniz.

AD içerisindeki bütün kullanıcıların listelenmesi

Spesifik bir kullanıcıya ait bilgilerin özet olarak ya da istenilen Attribute’lere göre listelenmesi

Spesifik bir kullanıcıya ait tüm bilgilerin listelenmesi

AD üzerinde “Disabled” olan kullanıcıların listelenmesi

Powershell içerisinde Active Directory ile birlikte kullanılabilecek bütün komutların listesinin alınması

Active Directory Forest ve Domain Fonksiyonel Seviyesi’nin (Functional Level) Listelenmesi

Administrators grubuna üye olan bütün kullanıcıların listelenmesi

Bütün Organizational Unit’lerin listelenmesi

 

Teşekkürler,

BakiOnur

Powershell içinden İngilizce-Türkçe Sözlük

Günlük hayatımızda, özellikle yazışmalarımızda sıklıkla kullandığımız Ingilizce-Türkçe sözlükleri bilirsiniz. Bazen gün içerisinde spesifik bir kelime için defalarca ziyaret ederiz bu siteleri.

Powershell hayatımızın her anında yanımızda malum. Küçük ama kullanışlı bir script ile Powershell’inize sözlük özelliği kazandırmak istemez misiniz?

Ben kendim için yazdığım ve oldukça faydasını gördüğüm bu script’i sizlerle de paylaşmak istiyorum. Günlük işlerinizi yaparken -hele bir de benim gibi çok sık Powershell kullanıyorsanız- dikkatinizi dağıtmadan çalıştığınız pencere içerisinde sözlüğünüzü kullanabilirsiniz. Nasıl mı?

Öncelikle ihtiyacımız olan script’in Powershell her açıldığında yüklenmesi gerekir. Bunun için profil yolunuzda (aşağıdaki resim) aşağıdaki gibi bir dosya oluşturmalısınız.


Eğer Documents klasörünüzün içinde WindowsPowershell adlı bir klasör yoksa kendiniz oluşturmalısınız. İçerisine de profile.ps1 isimli bir dosya oluşturulmalı.

Bundan sonra ise aşağıda gördüğünüz kodu profile.ps1 dosyasının içerisine kopyalamak gerekiyor.

function sozluk($kelime){

$ie = new-object -com “InternetExplorer.Application”

$ie.navigate(“http://www.zargan.com/sozluk.asp?sozcuk=$kelime”)

start-sleep -s 2

$sonuc=$ie.Document.body.innertext

$sonuc | set-content sonuc.txt

#####################################################

###### Suzme islemini yapalim ve ekranda ############

###### yalnizca sonuclarin gorunmesini saglayalim ###

#####################################################

$al=get-content sonuc.txt

$al -replace “fiil?DS”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al -replace “?DS”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al -replace “© 2001-2011, Zargan ingilizce sözlük | Kullanım Şartları | İletişim | Reklam | Yazan: Ugur | Çizen: Ahmet | Zargan Mağazası”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al -replace ” Ingilizce Kursu | Sitene ekle | Mesajlar | Son aradıklarım |”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al -replace “EnglishZargan Ingilizce Sözlük”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al -replace “Üye GirişiÜye Ol”,”” | SET-CONTENT sonuc.txt

$al=get-content sonuc.txt

$al=get-content sonuc.txt

$al -replace “TürkçeIngilizceTürKaynak”,”” | SET-CONTENT sonuc.txt

#####################################################

#####################################################

$sonuc=get-content sonuc.txt

$sonuc | foreach {write-host $_ -foregroundcolor “yellow”}

$ie.quit()

remove-item sonuc.txt

}

Artık sözlüğümüz emrinizde!

Powershell’i çalıştırıp aşağıdaki şekilde kelime aratabilirsiniz.

Sozluk onur


Internet bağlantınız oldugunu kontrol etmeniz gerektiğini söylemekte fayda var elbette! : )

zargan.com’a da Tesekkür edelim bu güzel site için. : )

Tesekkürler,

BakiOnur