PowerShell Integrated Scripting Environment -ISE-

 

 

PowerShell 2.0 ISE ; komutları çalıştırmak için , düzenlemek ve debugging için grafik arayüzüne sahip bir ortam sunuyor ( daha fazla kullanıcı dostu da diyebilirsiniz ) Varsayılanda Windows Server 2008 R2 ile kurulu gelmiyor ama isterseniz ki muhmetelen istersiniz , Server Manager konsolundan aşağıdaki ismi geçen feature’ı ekleyip kullanabilirsiniz.

 

Kurulum sonrasında görünümü aşağıdaki gibidir.

Herkese iyi çalışmalar sorunsuz ve neşeli günler ,

barisca

mstsc.exe ile RDP bağlantısı problemine dair….

Yakın bir zamanda domain’e üye iki adet member server kurmuştum. (Windows server 2008 R2 SP1 Ent.)

Her nedense sunucular, netstat -an ile baktığımda remote destop portunu yani tcp 3389 ‘u dinlemiyordu. Tabi bu aşamada acaba remote dektop açıkmıydı yada firewall uygunmuydu diye düşünen varsa yazının devamını okumasın …

Bu neden kaynaklandı bilmiyorum doğrusu ,

Ama şu şekilde bir çözüm ile düzeldi.

İlgili sunucunun kayıt defterinde , terminal server altındaki RCM subkey’inin permission’larına Network Service hesabını ekleyip tam erişim verince ve ardından sunucuyu yeniden başlatınca düzeldi. Artık sunucularım rdp portlarını dinlemeye başladı. İlginç. …

Power Shell V2 ve Active Directory Modülüne dair…

Son bir kaç yılda izlenebileceği üzere Windows 7 ve Windows Server 2008 R2 devri bağladığından beri PowerShell V2 ile beraber shell yapısının kullanım oranı da artmaya başladı . Özelikle Remoting ve scripting tarafındaki yenilikler yeni shell’I daha da cazip hale getirmeye başladı. Daha önce de PowerShell V2 ile ilgili bir yazı yazmıştım.Şimdi ki yazımızda bunun devamı niteliğindendedir ve Power Shell V2 ile Active Directory objelerinin yönetiminden bahsedeceğiz.

Test için Windows Server 2008 R2 Hyper-V platformunu kullandım.

Lab ortamımızda bulunan makinemiz;

Domain : nwtraders.msft

DC makine adı: testdc.nwtraders.msft

DC ip adresi : 10.11.27.245 /24

Active Directory Module for Windows Power Shell i açıyoruz. Burası AD modülü için ayrıca tasarlanmıştır. Tabi ki power shell’i de açarak AD modülünü import edip aynı alana ulaşabilirsiniz.

Öncelikle Get-Command komutu ile AD de yani AD modülünde neler yapabiliriz bir bakalım:

Output’dan gördüğümüz gibi çalıştırabileceğimiz komutlar “Name” kolonunda ve tanımıda da “Definition” kolonunda açıklanmıştır.

Bir kaç örnek kullanımı inceleyelim.

Nwtraders.msft domainimize yeni bir computer objesi ekleyelim.

Komut tamamlandıktan sonar GUI’den bakacak olursak hesabın açıkdığını görebiliriz.

Şimdi de bir pre-staging uygulaması yapalım.

Daha önceden bir notepad’e yazılmış computer isimlerini alıp AD içerisine objeleri oluşturalım. Amaç isimleri notepad’den almak olacaktır.

Test.txt dosyamız c:\ altında kök dizindedir ve içeriği aşağıdaki gibidir.

 

Şimdi de power shell de dosya içeriğini bir görüntüleyelim

Import işleminden önce content’i gözlemek olası bir sorunu öncesinden çözmek açısından iyi olabilir.

Ve dosya içerisinde isimleri yazan computer accountlarını AD içerisine oluşturalım.

Komut tamamlandı. GUI’den gözlersek sonuç aşağıdaki gibidir.

 

Şimdi de txt dosyasından bilgilerini alarak oluşturduğumuz computer accountları için “location” attribute’u bilgisinin “Main Office” şeklinde doldurulmasını sağlayalım.

İkinci komut sorunsuz çalışmıştır. GUI’den de sonuçlarına bakabiliriz.

Önce ilk oluşturduğumuz computer için bakalım. Bu computer hesabını txt dosyasındaki content’i kullanarak açmamıştık! .

 

Nw-cli-5 için location bilgisi boş iken nw-cli-6 ‘nın yani dosya içerisinden ismi çekilerek oluşturulan computer’un location bilgisinin dolu olduğunu görüyoruz.

 

Computers container’ında bulunan computer accountlarını listelemek için ise;

Genel olarak computer’lar için daha ayrıntılı bilgi almak istersek,

 

Listelediğimiz computer’ları computers container’i içerisinden “client computers” ou’su içerisine taşıyalım.

Ve yine GUI’den gözlemek istersek ,

sonuç resimdeki gibidir.

Computers container’ına da bakacak olursak taşındığını görebiliyoruz.

Herhangi bir komut yada AD modülündeki komutlar hakkında bilgi icin;

Yazı dizimizi okumaya devam edin bir sonraki powershell yazısında görüşmek dileğiyle….

Kaynak : Microsoft TechNet

 

 

 

 

 

 

 

 

 

Power Shell 2.0 ‘ın yenilikleri

Remoting

Uzak sistemleride script çalıştırabilmesi özelliği PS 2.0 ‘ın en gözde yeniliklerinden bir tanesidir. Böylelikle ağınıza bağlı uzak sunucularda scriptlerinizi çalıştırabilirsiniz. Remoting ‘den faydalanabilmek için hem kullandığınız bilgisayarda yada sunucuda hemde uzak bilgisayarda yada sunucuda PS 2.0 yüklü olmalıdır.

İlerleyen yazılarımızda bu özelliğin yapılandırılmasını ve kullanımı inceleyeceğiz.

ScriptCmdlets

PS 2.0 , sistem yöneticilerine yani administrator’lara PS’in kendisini kullanarak ScriptCmdlet ‘ler oluşturma imkanını sağlamıştır. (PS 1.0 ‘da bu işlem genelde developer’ların yapabildiği bir işti)

Yine get-help komutu ile about_scriptcmdletmethods yada paramaters komutları kullanılabilir.

Yenilikleri elbette üstte yazdıklarımla sınırlı değil. Saymak istersek ; background job , script debugging , hosted APIs , yeni değişkenler , cmdlet’ler , operatorler ve dahası ….

Kaynak : Technet

Active Directory Sertifika Servisleri – 2

Bir önceki yazmızda sertifika servisleri , sertifikalar ve genel kullanımlarını örneklerle açıklamıştık. Bu yazımızda , sertifikaların kullanımları ile devam edeceğiz ve farklı kullanım alanlarını inceleyeceğiz.

Yazıda örneklekdireceğimiz uygulamalar ,

–          Cisco router’a , windows server 2008 R2 enterprise üzerine kurulu bir sertifika otoritesinden sertifika alınması

–          Kullanıcının , pdf dökümanını sertifikası ile şifrelemesi

konularını inceleyeceğiz.Öncelikle lab ortamımız hakkında bilgi verelim.

Domain : nwtraders.msft

CA : NW-CA

CA’in kurulu olduğu sunucu : bs-dc.nwtraders.msft

Router :  IOS versiyonu , 7200 Software (C7200-ADVENTERPRISEK9-M), Version 12.4(4)T1

DC’in ip adresi : 172.26.1.1 / 16

Router’ın ip adresi :  gigabitethernet 1/0 ‘a 172.26.100.100 /16

Kullanacağım kısaltmalar :

NDE : Network Device Enrollment

Öncelikle , NW-CA otoritesine  Network Device Enrollment rol servisini ekleyelim. Server manager’da add role service link’inden bunu yapabiliriz.

Sonrakı ekranda, bu rol servisinin kullanacağı hesabı belirlememizi istiyor. Nwtraders\nde isimli hesabı kullanıyorum.NDE isimli hesabın herhangi bir özelliği yoktur. IUSRS grubuna üyedir.

Üstteki kullanıcı , IIS_IUSRS grubunada üyedir.Sonraki menümüzde ,

NDE servisinin sertifika yönetiminde kullanacağı  otoriteyi yapılandırıyoruz. Optional bilgileri yazmıyorum. Otorite ismi olarak’ta BS-RA seçtim.

Ardından , kullanılacak olan tedarikçileri ve key uzunluklarını belirliyoruz. Resmetmeye gerek duymadım. Varsayılan tedarikçiyi kullanıyorum. Sihirbazın son kısmında , özet mevcut.

Özet kısmında altını taradığım URL’yi ileride kullanacağız. Bu sırada router’ı yapılandıralım. Router’ın yapılandırılması;

–          Domain Suffix’i

–          DNS adresi

–          NW-CA tanımı

–          Router’a sertifika alımı

şeklinde olacaktır. Router’ın ilgili interface’ine IP ataması yapılmıştır.

DNS suffix’i ve DNS ip’sinin belirlenmesi üstteki gibidir.Router’ın ismininde çözülmesini istersek DC üzerinde kurulu olan DNS server’da router adına bir kayıt açabiliriz.

Üstte görüleceği üzere , router’ın isminide çözümledik. Router’ı komut arayüzünden yapılandırıyoruz (console). Security Device Manager ile rotuer’a bağlanmak istersek , bazı aşamalarda bizden yetkili bir kulalnıcı ve SSH ile güvenli bir bağlantı isteyecektir. Bu duruma karşılık , router’ı ssh ile bağlantı kabul edecek şekilde yapılandıralım. SSH için router’a bir adet sertifika üretelim.

Üstte gürüldüğü gibi , genel amaçlı bir sertifika ürettik. Şimdi SSH için bir kullanıcı oluşturalım ve SSH’i yapılandıralım.

SSH hazırlandı.Aşağıdaki resimden görüleceği üzere ,

yetkili kullanıcıyıda hazırladık. Bu işlemler birer zorunluluk değildir , SDM kullanmak isterseniz ihtiyacınız olacağından yazıya ekliyorum.

Router’a sertifika alımı ile devam edebiliriz. Öncelikle , router’ın NW-CA’ya güvenmesini sağlayalım. Bunun için router’da trustpoint belirliyoruz ve enrollment için kullanacağı URL’yi tanıtıyoruz.

Komutları tab tuşu ile tamamladığımdan , komutun tam halini farklı renkte tarıyorum. Burada yaşadığım bir problemi yazıya eklemek istiyorum. NW-CA otoritesi kurulurken , private key uzunluğunu , 4096 bit seçilmişti. Henüz resmetmediğim router’a otoriteyi tanıtma sırasında , router 4096 bit’lik NW-CA’nın sertifikasını okuyamadı(IOS versiyonundan olduğunu düşünüyorum). Ondan dolayı NW-CA otoritesini kaldırdım (remove role). Yeniden bir otorite kurdum. Private Key uzunluğu 2048 bit’liktir. Yeni otoritenin ismide CA-BS ’dir. Üstteki resimde görüldüğü gibi , trustpoint belirlerken , NW-CA’yı seçmiştim şimdi trustpoint’i CA-BS şeklinde değiştiriyorum.

Enrollment URL’sinde bir değişim yoktur. Şimdi , eklediğimiz trustpoint’i router tarafında yetkilendirelim (authenticate, sonrasında router’a sertifika alacağız). Bu arada , router’da hata denetimi için , debugging’i de açtığımdan ondan dolayı aralarda farklı mesajlar görülüyor. BS-CA ‘yi yetklilendirme yöntemimiz  alttaki resminde görüldüğü gibidir.

Şimdi router ‘a sertifikasını alabiliriz. Yine gerekli komut aşağıdaki resimde görüldüğü gibidir. Router’a sertifika talebinde bulunduğumuzda , talebin tamamlanması için bizden bir password isteyecek. Gerekli olan password’e http://ca.nwtraders.msft/certsrv/mscep_admin link’inden ulaşabiliriz. Her talep için yeni bir parola üretilecektir!!

Üstte görüldüğü gibi , talebimizi gerçekleştirdik.Bizden istediği bilgileri doğru şekilde doldurmaya dikkat etmeliyiz ki , ileride sertifika ismi yada kullanım amacı konularında sorun yaşamayalım.

CA-BS yönetim konsolundaki , onaylanmış ve alınmış sertifikalara bakarsak , r1-nw isimli router’a alınmış belgeyi görebiliriz.

Üstte görüldüğü gibi router , istediğimiz isimde ve kriterlerde sertifikasını almıştır. Router’in running-config ‘iği açıp yine aldığı belgeyi oradan da görebiliriz. Bunun için ; show running-config komutunu çalıştırmak yeterlidir. Yada router üzerindeki sertifikaları görmek isterseniz,

üstteki gibi show crypto ca certificates verbose komutu da kullanılabilir.

 

Şimdi de , Adobe Acrobat 9 Pro ile pdf dökümanı hazırlayalım ve  dökümanı , bir user sertifikası ile şifreleyelim. Burada , administrator kullanıcısına alınmış bir user sertifikasını kullanacağım. Domain Controller üzerine Adobe Acrobat yazılımını kurdum. Administrator kullanıcısının DC üzerinde yüklü olan sertifikalarına bakacak olursak ,

sahip olduğu user belgesini görebiliriz (personel isimli klasöre bakmayı da unutmayınız!). Bu belge ile oluşturacağımız pdf’i şifreleyelim. Acrobat 9 Pro yazılımı açıyorum.

PDF dökümanını kaydetmeden önce , sertifika ile şifreleme opsiyonunu seçiyorum. İlk ekranı next ile geçtiğimde , Acrobat 9 , şifreleme için kullanılabilecek olan sertifikaları gösteriyor.

Seçili olan , sertifika ile pdf’i şifreliyorum. PDF dökümanını , masaüstüne kaydedebiliriz. Deneme amacıyla , pdf dökümanını başka bir pc’ye alıp açmaya çalışırsak ,

resimde görüldüğü gibi hata alıyoruz , çünkü , pdf’i şifrelemek için kullandığımız belge test için kullandığım pc’de  kurulu değil. Şifrelemek için kullandığımız sertifikayı test için kullandığımız pc’ye de kurarsak , pdf açılmaktadır.

Bu yazımızda da yine sertifikaların kullanımına dair örnekler verdik. Sonraki yazılarımızda yine otoritelerin yönetimi ve sertifikaların kullanımına dair uygulamalara devam edeceğiz.

Kaynak : Technet Library , Cisco Offical Web Site