Bilginin anahtarı bir TIK ötede 
Sitemizden tam olarak faydalanmak için Üye Olunuz!

Windows Server

<<IIS BACKUP VE RESTORESBS Premium Üzerinde Exchange Yönetimi ? Bölüm 1>>
Windows PowerShell

Windows PowerShell için sadece bir komut kabuğu dememiz doğru olmaz. PowerShell kendi başına yönetimsel işlerin otomasyonu kolaylaştıran ve yöneticinin üretkenliğini arttıracak bir betik(scripting) teknolojisinide beraberinde getirir. Konsol basit bir komut yorumlayıcısından çok bir programlama dili derleyicisi gibi davranır. .NET programlama dili ile kendi komutlarımızı dahi yazıp kabuk içine entegre edebiliriz.

 

Microsoft PowerShell?i Longhorn Server?ın içinde dağıtacağını duyurdu. Fakat hali hazırda kullandığınız Windows versiyonları için alttaki linkten 1.0 versiyonunu bilgisayarınıza indirip yükleyebilirsiniz.

http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx

PowerShell 1.0 kurulumu yapmak için gereksinimler;

  • .NET Framework 2.0
  • Windows XP Service Pack 2, Windows 2003 Service Pack 1 veya daha yeni bir Windows sürümü

 

PowerShell ?i başlatmak için;

  • ?Start > All Programs > Windows PowerShell 1.0 > Windows PowerShell? tıklanabilir.
  • ?Start > Run ? a ?PowerShell? yazılıp çalıştırılabilir.

 

 

Ekran görüntüsü standart ?cmd? konsoluna benzemektedir. Fakat işlevselliğindeki farkları birazdan göreceğiz.

 

Cmdlets Nedir?

Cmdlets en basit anlamda PowerShell?in yeni komut setidir diyebiliriz. Fakat bu komutlar standart çalıştırılabilir (executable) dosyalar şeklinde değilde .NET fonksiyonları şeklinde çalışmaktadır. .NET programlama dillerinin namespace mantığı da burda kullanılmıştır. Her komut VERB-NOUN yani Fiil-İsim şeklinde tanımlanmıştır. Bi örnekle açıklamak gerekirse ?Get-Process? komutu (cmdlets) çalışan uygulamaların bir listesini vermektedir. ?Stop-Process? komutu çalışan bir uygulamayı durdurmak için kullanılır. Aynı şekilde tanımlanmış ?Get-Service? ve ?Stop-Service? komutları servisleri listeler ve durdurur. Komutlar bu şekilde benzer yapılarda tanımlanmış olması komut öğrenmeyi kolaylaştırmak adına gerçekten önemlidir.

 

?Get-Command? komutuyla kullanılabilir cmdlets listesini alabilirsiniz.

?Get-Command ?Verb Get? komutuyla ise Fiil?i Get olan ( yani get ile başlayan) komutların bir listesini alabilirsiniz.

 

Yardım Almak

PowerShell konsolunda yardım almak ve komutların yazım düzenlerini görmek için kullanabileceğimiz birkaç metod var. Bize tarihi gösteren ?Get-Date? komutu ile ilgili yardım almaya çalışalım.

  • Get-Help Get-Date >> Get-Help komutunu kullanabiliriz
  • Get-Date -? >> -? Argümanını kullanabiliriz
  • man Get-Date >> unix tarzı ?man? komutunu kullanabiliriz
  • help Get-Date >> geleneksel ?help? komutunu kullanabiliriz

 

 

Alias

Alışkanlıklardan vazgeçmemek adına PowerShell önceden kullandığımız cmd ve unix komutlarına karşılık gelen cmdlets komutları için aliaslar tanımlamıştır. Bunların bir listesini ?Get-Alias? komutuyla görebilirsiniz. Örneğin cmd?deki copy veya unix sistemlerdeki cp komutu için ?Copy-Item? cmdlets komutu için alias tanımlanmıştır. Yani PowerShell içinde ?Copy-Item? , ?copy? yada ?cp? yazmak aynı komutu çalıştırır.

 

Yeni alias tanımlaması yapmak için Set-Alias komutu kullanılır. Örneğin ;

Set-Alias -Name gi -Value Get-Item

Bu komutla Get-Item komutunu gi şeklinde çalıştıracak alias ı tanımlamaış olduk.

 

Tanımlı alias?lar , karşılık geldikleri cmdlets komutu ve görevleri ile ilgili bikaç örnek;

 

Windows PowerShell

Windows PowerShell

cmd.exe ve COMMAND.COM

bash

Görevi

(Cmdlet)

(Alias)

(MS-DOS, Windows, OS/2, etc.)

(Unix, BSD, Linux, etc.)

Set-Location

sl, cd, chdir

cd, chdir

cd

Dizin Değiştirir

Clear-Host

cls, clear

cls

clear

Ekranı Temizler

Copy-Item

cpi, copy, cp

copy

cp

Dosya ve Dizin Kopyalar

Get-Help

help, man

help

man

Yardım Görüntüler

Remove-Item

ri, del, rmdir, rd, rm

del, rmdir, rd

rm, rmdir

Dosya ve Dizin Siler

Rename-Item

rni, ren

ren

mv

Dosya ve Dizin Taşır - Adını Değiştirir

Get-ChildItem

gci, dir, ls

dir

ls

Dizin İçeriğini Görüntüler

Write-Output

echo, write

echo

echo

Bir Yazıyı yada Değişkenin Değerini Yazdırır

Set-Variable

sv, set

set

set

Değişkenlere Değer Atar

Get-Content

gc, type, cat

type

cat

Dosyaların İçeriğini Görüntüler

 

 

Otomatik Tamamlama

PowerShell in sunduğu kullanım kolaylıklarından biride otomatik tamamlama. Tab tuşuna basmak suretiyle sadece yazdığımız komutları değil bunların argümanlarını da tamamlayabilmektedir. Argüman tamamlama olayı belliki komutların birer .NET komutu olmasından ve daha önceden tanımlanmış olmasından kaynaklanmaktadır. Ama bu konuda geliştirmesi gereken yerler olduğunu söylemeden geçmeyelim. PowerShell hala unix?in bash kabukğunun sağladığı otomatik tamamlama özelliklerinin tamamını barındırmamaktadır fakat eminimki ilerleyen versiyonlarda bunlar da eklenecektir.

Pipeline

Pipe ( boru ?|? ) karakteri sayesinde bir komutun çıktısını bir diğerine argüman olarak aktarabiliriz. Bu cmd konsolunda da olan bi özellikti. Örneğin tek seferde ekrana sığmayacak bir ?dir? komutu sonucunu ?dir | more? diyerek sayfalar halinde görmemiz mümkün oluyordu. Fakat PowerShell de bu komut çok daha efektif bir şekilde kullanılır hale gelmiştir.

Örneğin 10 MB dan fazla ram kullanan processleri listelemek için;

 

 

ve hatta bunları kapatmak istersek şu komutu uygulayabiliriz.

 

PS C: Get-Process | where { $_.PM -gt 10MB } | Stop-Process

 

 

Bilgisayarımızdaki açık portların bir listesini ve bunları dinleyen programların process numaralarını (pid) bir dosyaya kaydetmek için şu komut uygulanabilir.

 

 

 

Programlama Ortamı Olarak PowerShell

Cmd konsolunun aksine PowerShell tam bir programlama ortamı gibi hizmet verebilir. .NET Framework?ün birçok özelliğini içinde barındıran PowerShell?i kullanırken dikkat etmek gereken bir husus da boşluk karakteridir. Eski konsoldan alışkanlıklarımızla örn; ?cd..? gibi bir komut yazarsak PowerShell bize hata üretecektir. Çünkü sizin cd olarak çalıştırdığınız komut aslında ?Set-Location? cmdlets komutuna atanmış bir aliasdır. ( ?Get-Alias cd? yazarak görebilirsiniz ) Komutların ve argümanlarının arasında boşluk bırakmak zorunludur ve doğru kullanım şekli ?cd ..? şeklinde olmalıdır. Bu küçük hatırlatmayı da yaptıktan sonra PowerShell?in birkaç küçük özelliğine göz atalım.

 

Siz cmd konsoluna ?1+1? ifadesini girmiş olsanız konsol size böyle bir komut olmadığına dair hata verecektir. Fakat PowerShell bir programlama ortamı olduğundan bunu hesaplayacak ve sonucu bize gösterecektir. Bu tarz matematiksel işlemleri direk PowerShell konsoluna girerek hesaplatabiliriz.

 

 

 

 

Bu örnekte de görüldüğü gibi ister direk sayılar girerek ya da istersek değişkenler tanımlayarak bunları hesaplatabiliyoruz.

 

Bir küçük örnek de standart olarak gelen ?PS C:>? promptunu değiştirmekle ilgili verelim.

 

 

 

Prompt fonksiyonu ile kullandığımız promptu değiştirebilir ve ihtiyaçlarımıza göre özelleştirebiliriz.

 

Bu kez de -lt (less then) ve ?gt (greater then) ifadeleriyle bir if koşullu ifadesi oluşturmaya çalışalım.

 

 

 

 

Şimdi programlama tarafında ne kadar ileri gidebileceğimizi göstermek adına biraz abartalım J

Öncelikle .NET System.Windows.Forms namespace?ini yüklemek için şu komutu çalıştıralım.

PS C:> [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

Daha sonrada resimdeki komutlarla bir önce bir Windows formu sonra bir buton oluşturup bunu ekranda göstermeyi deneyelim.

 

 

 

 

 

PowerShell ve Registry

PowerShell in standart sürücüleri arasından registry düğümleri de vardır. ?Get-PSDrive? komutuyla sürücülere bir bakalım.

 

 

 

Görüldüğü üzere PowerShell registry?deki HKEY_CURRENT_USER ve HKEY_LOCAL_MACHINE düğümleri için birer sürücü tanımlaması yapmıştır. Bir sürücüdeki klasör ve dosyalarda dolaşırcasına bu düğümlerde dolaşabilirsiniz. Şimdi bilgisayarımızda Remote Desktop açık durumda mı bir bakalım ve kapalı olan Remote Desktop u registry?deki değerini değiştirerek açalım. Registry?de bir değeri görüntülemek için Get-ItemProperty ve bunu değiştirmek için de Set-ItemProperty komutları kullanılır.

 

 

PowerShell ve WMI Scripting

PowerShell?in kendi scriptlerinin dışında WMI scriptlerini de çalıştırabiliriz. WMI (Windows Management Iinstrumentation) sorguları sayesinde local bilgisayar veya network kaynakları için sorgulamalar yapabiliriz. Şimdi PowerShell ile WMI uygulamalarına birkaç örnek verelim.

 

Öncelikle WMI kullanarak bilgisayarmızdaki printerları listelemeye çalışalım. Bunun için Get-WmiObject komutunu kullanabiliriz. Ayrıca Select komutuna pipe yaparak sadece yazıcı adlarının listelenmesini sağlayalım.

 

 

Şimdi yine biraz abartıp WMI komutlarıyla ping request?i gönderelim fakat PowerShell?in scripting özelliklerinden faydalanarak 1 den 254 e kadar bir döngü oluşturalım ve networkümüzdeki tüm makinaları tarayalım. Ayrıca sadece istediğimiz kolonların görüntülenmesi içinde Select komutunu kullanalım. Bakalım neler olacak.
  

 

 

Gerçekten yapılabilecekler sınırsız gibi görünüyor. Bu makale PowerShell için bir kullanım klavuzu olmaktan çok onun getirdiği yenilikler ve onunla ne kadar kompleks görevleri birkaç satırlık kodla gerçekleştirebileceğimizi göstermek amacıyla yazılmıştır. Daha sonra PowerShell?in spesifik özellikleri ile ilgili daha ayrıntılı makaleler yazmayı düşünüyorum. Şimdilik bu kadar. Bir sonraki makalede görüşmek üzere...

Kaynaklar
Windows PowerShell Getting Started Guide and Quick Reference
Windows PowerShell Team Blog



<<IIS BACKUP VE RESTORESBS Premium Üzerinde Exchange Yönetimi ? Bölüm 1>>
Bu kategorinin dökümü

Windows ServerWindows Server
Network de Help dosyalarını paylaşın..
Windows Server 2003?de Dfs (Distributed File System)
Group Policy Management Console
SUS Server Kurulum ve Konfigürasyonu
NETWORK LOAD BALANCING SERVICES
Windows System Resource Manager (WSRM)
Windows Servisleri
ROUND ROBIN İLE PERFORMANS
SLIPSTREAMING WINDOWS XP
Windows Server 2003 de DNS Stub Zone Kavramı
Volume Shadow Copy (VSC)
Sistem Felaketlerine Çözümler
Administrative Template Kullanarak Domain Bazlı Registry Değişiklikleri
Printer Location Tracking
RIS (Remote Installation Service)
Otomatik MAP
WİNDOWS AÇIKLARINI KAPATACAK VE YEPYENİ ÖNLEMLERLER
INTERNET INFORMATION SERVICES 6.0?DA WEB SAYFASI YAYINLAMAK
Windows Installer nedir? MSI Paketleri Nasıl Hazırlanır?
Yeni SUS!! Adım Adım Windows Update Services (WUS) Kurulumu
Directory Service Command-Line Tools
RECOVERY CONSOLE RESTRICTIONS
Operations Master?lar ve Seizing İşlemi
SUS SERVER?DAN WUS SERVER?A MIGRATION
Sistem Felaketlerine Çözümler-II (CLUSTER on Virtual Server 2005)
Windows Server 2003 R2
SP 2?li Bootable Windows XP CD?si Hazırlamak
OFFLINE FILES
ACTİVE DİRECTORY TASARIMINDA DİKKAT EDİLECEK KONULAR VAR.
BOOT PROCESS
GROUP POLICY EDITOR KULLANARAK VARSAYILAN SISTEM AYARLARI NASIL DEGİSTİRİLİR..
Sharing Design
DOMAIN RENAME
Active Directory Schema Extend
Enine Boyuna Terminal Service Teknolojisi-I
WINDOWS SERVER 2003 SERVICES PACK 1 KURULUMU ve SCW
Windows Clientlerının Netware Sunucularına Erişme Configürasyonu
Active Directory de Kilitli Kullanıcıları Otomatik Açmak
?RUN AS? NEDİR, NASIL KULLANILIR?
Windows Server 2003 R2 Yenilikleri-I
Sysprep Aracı ile Yapılabilecekler
NtdsUtil ile Authoritative Restore
Enine Boyuna Terminal Service Teknolojisi-2 (Session Directory ve NLB)
Active Directory Veritabanı Off-line Defragmentasyonu
DNS Veritabanının Optimize Edilmesi ve Temizlenmesi
İstemciye Özel DHCP Yapılandırması (DHCP Classes)
Backup kullanarak Domain Controller Yapılandırılması (Advanced DC Promotion)
Group Policy ile Office 2003 Programlarının Kısıtlanması
Routing and Remote Access ile L2TP VPN
Active Directory © Dizin Hizmeti Veritabanının Çalışma Prensipleri
Lisanslama ve Microsoft Software Inventory Analyzer
Active Directory Backup , Schedule , Restore Job and Repair
Windows Server 2003 R2 üzerinde GPO ile Yazıcı dağıtımı
Domain Controller Decommissioning
Access-based Enumeration User Interface - Erişim izni bulunmayan klasorleri görüntüyelememe
Small Business Server (SBS ) 2003
Longhorn Release Öncesi
ASR (Automated System Recovery)
SITE YAPISI KULLANILARAK ADDITIONAL DOMAIN CONTROLLER KURULUMU
WINDOWS LONGHORN ACTIVE DIRECTORY KURULUMU
WINDOWS SERVER 2003 SUPPORT TOOLS
IIS BACKUP VE RESTORE
Windows PowerShell
SBS Premium Üzerinde Exchange Yönetimi ? Bölüm 1
SBS Premium Üzerinde Exchange Yönetimi ? Bölüm 2
Global Catalog ve Infrastructure Master
MOM 2005 Bölüm-1
ADAM - Active Directory Application Mode
Microsoft Network Monitor 3.1
Windows Server 2008 üzerinde tümleşik firewall
Unutulan Administrator Sifresinin resetlenmesi
EFS ? Encrypting File System Bölüm -1
Additional Domain Controller Nedir Ve Neden İhtiyaç Duyarız
Windows Server 2008 Üzerinde Core Kurulumu
Windows Server 2008 ? Server Core ? Temel Yapılandırma
Ulaşılmayan Additional Domain Controller? in Active Directory? den Kaldırılması (NTDSUTIL Tools With Metadata Cleanup )
SSL ile Güvenli Web Sitesi Yayınlamak
Group Policy Management Console
NtdsUtil ile Authoritative Restore
Software Restriction Policy
Windows Server 2003?de Fax Servisi
Windows Server 2008 Print Management ? Genel Bakış
Windows Server 2008 üzerinde GPO ile Aygıt Yönetimi
Windows Server 2008 Üzerinde Active Directory Kurulumu Nasıl Yapılır
Windows 2000 ve Windows 2003'de Domain Admin Şifresinin Resetlenmesi
Windows SharePoint Services (WSS)
Windows Server 2008 Print Management
Windows Server 2008 üzerinde Windows System Resource Manager
Windows Server 2008 üzerinde Offline File Caching
Windows Server 2003?de Network Load Balancing
SBS 2003 R2 Premium Edition ( Active Directory )
Adim Adim Windows XP Kurulumu
Windows Deployment Services Nedir? - Bölüm 1
-Windows Server 2008 üzerinde Offline File CachingWindows Server 2008 üzerinde Offline File Caching.
SBS 2003 R2 Premium Edition ( Active Directory )
Konu İndeksini görüntüleİçeriğe katkıda bulun

Kullanıcı Adı:

Şifreniz

[Kayıt] [Kayıp Şifre]

Kitaplar

Windows Server
Network de Help dosyalarını paylaşın..
Windows Server 2003?de Dfs (Distributed File System)
Group Policy Management Console
SUS Server Kurulum ve Konfigürasyonu
NETWORK LOAD BALANCING SERVICES
Windows System Resource Manager (WSRM)
Windows Servisleri
ROUND ROBIN İLE PERFORMANS
SLIPSTREAMING WINDOWS XP
Windows Server 2003 de DNS Stub Zone Kavramı
Volume Shadow Copy (VSC)
Sistem Felaketlerine Çözümler
Administrative Template Kullanarak Domain Bazlı Registry Değişiklikleri
Printer Location Tracking
RIS (Remote Installation Service)
Otomatik MAP
WİNDOWS AÇIKLARINI KAPATACAK VE YEPYENİ ÖNLEMLERLER
INTERNET INFORMATION SERVICES 6.0?DA WEB SAYFASI YAYINLAMAK
Windows Installer nedir? MSI Paketleri Nasıl Hazırlanır?
Yeni SUS!! Adım Adım Windows Update Services (WUS) Kurulumu
Directory Service Command-Line Tools
RECOVERY CONSOLE RESTRICTIONS
Operations Master?lar ve Seizing İşlemi
SUS SERVER?DAN WUS SERVER?A MIGRATION
Sistem Felaketlerine Çözümler-II (CLUSTER on Virtual Server 2005)
Windows Server 2003 R2
SP 2?li Bootable Windows XP CD?si Hazırlamak
OFFLINE FILES
ACTİVE DİRECTORY TASARIMINDA DİKKAT EDİLECEK KONULAR VAR.
BOOT PROCESS
GROUP POLICY EDITOR KULLANARAK VARSAYILAN SISTEM AYARLARI NASIL DEGİSTİRİLİR..
Sharing Design
DOMAIN RENAME
Active Directory Schema Extend
Enine Boyuna Terminal Service Teknolojisi-I
WINDOWS SERVER 2003 SERVICES PACK 1 KURULUMU ve SCW
Windows Clientlerının Netware Sunucularına Erişme Configürasyonu
Active Directory de Kilitli Kullanıcıları Otomatik Açmak
?RUN AS? NEDİR, NASIL KULLANILIR?
Windows Server 2003 R2 Yenilikleri-I
Sysprep Aracı ile Yapılabilecekler
NtdsUtil ile Authoritative Restore
Enine Boyuna Terminal Service Teknolojisi-2 (Session Directory ve NLB)
Active Directory Veritabanı Off-line Defragmentasyonu
DNS Veritabanının Optimize Edilmesi ve Temizlenmesi
İstemciye Özel DHCP Yapılandırması (DHCP Classes)
Backup kullanarak Domain Controller Yapılandırılması (Advanced DC Promotion)
Group Policy ile Office 2003 Programlarının Kısıtlanması
Routing and Remote Access ile L2TP VPN
Active Directory © Dizin Hizmeti Veritabanının Çalışma Prensipleri
Lisanslama ve Microsoft Software Inventory Analyzer
Active Directory Backup , Schedule , Restore Job and Repair
Windows Server 2003 R2 üzerinde GPO ile Yazıcı dağıtımı
Domain Controller Decommissioning
Access-based Enumeration User Interface - Erişim izni bulunmayan klasorleri görüntüyelememe
Small Business Server (SBS ) 2003
Longhorn Release Öncesi
ASR (Automated System Recovery)
SITE YAPISI KULLANILARAK ADDITIONAL DOMAIN CONTROLLER KURULUMU
WINDOWS LONGHORN ACTIVE DIRECTORY KURULUMU
WINDOWS SERVER 2003 SUPPORT TOOLS
IIS BACKUP VE RESTORE
Windows PowerShell
SBS Premium Üzerinde Exchange Yönetimi ? Bölüm 1
SBS Premium Üzerinde Exchange Yönetimi ? Bölüm 2
Global Catalog ve Infrastructure Master
MOM 2005 Bölüm-1
ADAM - Active Directory Application Mode
Microsoft Network Monitor 3.1
Windows Server 2008 üzerinde tümleşik firewall
Unutulan Administrator Sifresinin resetlenmesi
EFS ? Encrypting File System Bölüm -1
Additional Domain Controller Nedir Ve Neden İhtiyaç Duyarız
Windows Server 2008 Üzerinde Core Kurulumu
Windows Server 2008 ? Server Core ? Temel Yapılandırma
Ulaşılmayan Additional Domain Controller? in Active Directory? den Kaldırılması (NTDSUTIL Tools With Metadata Cleanup )
SSL ile Güvenli Web Sitesi Yayınlamak
Group Policy Management Console
NtdsUtil ile Authoritative Restore
Software Restriction Policy
Windows Server 2003?de Fax Servisi
Windows Server 2008 Print Management ? Genel Bakış
Windows Server 2008 üzerinde GPO ile Aygıt Yönetimi
Windows Server 2008 Üzerinde Active Directory Kurulumu Nasıl Yapılır
Windows 2000 ve Windows 2003'de Domain Admin Şifresinin Resetlenmesi
Windows SharePoint Services (WSS)
Windows Server 2008 Print Management
Windows Server 2008 üzerinde Windows System Resource Manager
Windows Server 2008 üzerinde Offline File Caching
Windows Server 2003?de Network Load Balancing
SBS 2003 R2 Premium Edition ( Active Directory )
Adim Adim Windows XP Kurulumu
Windows Deployment Services Nedir? - Bölüm 1
-Windows Server 2008 üzerinde Offline File Caching
SBS 2003 R2 Premium Edition ( Active Directory )

istatistik

Son Kullanıcı: sukran
Toplam :522


Ziyaretçiler
Online Misafirler: 7
Online Kullanıcılar: 0

Designed and coded by mukaanyes