PowerShell içerisinde SAPI.SpVoice nesnesini oluşturarak çok rahatlıkla istediğiniz metni sesli olarak işitebilirsiniz. Örneğin sabahları RSS feedlerinizi powershell ile dinleyebilir ya da indirdiğiniz bir dokumanı PowerShell’e okutabilirsiniz. Aşağıda hazırladığım ufak örnekte powershell makine üzerindeki spooler servisini dinliyor ve durduğunu fark ettiği anda sizi sesli uyarıyor. $Status = 0 $sunucuismi = hostname Do { $Servis [...]
ShareHerhangi bir fiziksel sunucu birden fazla CPU barındırsa dahi rahatlıkla bir virtualization host görevi görebilir. Bu sunucu üzerinde Hyper-V rolünü sıkıntı olmadan aktif edebilmeniz gerekmektedir. Ancak gerçekleştirdiğim bir Hyper-V kurulumunda Hyper-v’nin bir hassasiyetini öğrenmiş bulundum. Bir sunucu üzerinde iki farklı Intel işlemciniz var olduğunda, bunların Ghz’lerine kadar tüm değerleri esiş olsa dahi Hyper-V rolünün kurulumundan [...]
ShareSCOM üzerindeki unseal management packlerinizi, üzerlerinde customization gerçekleştirmek için export etmek isteyebilirsiniz. Bu durumda Operations Manager Shell yani PowerShell cmdletlerini kullanarak tüm export işlemini tek bir script ile gerçekleştirme imkanınız bulunuyor. Aşağıdakine benzer bir script işimizi görecektir. $all = Get-ManagementPack | where-object {$._Sealed –eq $false} foreach ($mp in $all) { Export-ManagementPack –managementpack $mp –path “c:\MyMps” [...]
ShareGeçen hafta ilkini gerçekleştirdiğimiz Sistem Yöneticileri için PowerShell konulu webcastimizin ikinci bölümü 15.04.2011 Cuma akşama 21:00’da! https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032484728&Culture=TR-TR Share
ShareLync 2010 içerisinde GUI tabanlı gerçekleştirilen neredeyse tüm aksiyonlar, PowerShell scriptleri ile de otomatize edilerek gerçekleştirilebilir. Kısaca Lync 2010 olan bir organizasyonda sıklıkla kullanılabilecek PowerShell komutlarını inceleyelim; Lync 2010 için var olan PowerShell cmdlet lerini içeren konsolumuz Lync Server Management Shell’dir. PowerShell konsolunda yardım amaçlı kullanılan Get-Help komutunu aynı şekilde kullanabilirsiniz. Get-Help <cmdlet> –full Get-Help [...]
ShareMshowto.org bünyesinde Nisan ayı webcastleri içerisinde bende konuşmacı olarak 3 webcast sunuyor olacağım. 08.04.2011 ve 15.04.2011 tarihlerinde Sistem Yöneticileri için PowerShell konulu webcastimiz ile başlangıcı yapıyoruz. Bu Web seminer serisinde, PowerShell bileşenleri ayrıntılı incelenerek, sistem yöneticilerinin günlük operasyonel süreçlerde gerçekleştirebilecekleri senaryolar ayrıntılı incelenecektir. https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032484725&Culture=TR-TR Mutlaka takvimlerinize kaydedin. Share
ShareSCOM Gateway sunucu ile untrusted domainlerde yada workgroup ortamında bulunan istemcilerden de sağlık bilgilerinin toplanabildiğini daha önceki postlarımda belirttim. Gateway Server rolü ile ilgili bir diğer senaryo ise yüksek erişebilirlik mimarisidir.Eğer DMZ’de bulunan ve yönetmek istediğiniz sunucu sayısı yada workgroup ortamında çalışan sunucu sayısı, tek bir Gateway sunucusunun karşılayabileceğinden fazla ise, yada varolan Gateway sunucusu [...]
ShareBir dostumdan gelen istek üzerine aşağıdaki gibi bir script hazırladım. Sizden istediği gün sayısını verdikten sonra o kadar gündür logon olmamış kullanıcıları excel’e export ediyor. Add-PSSnapin Quest.ActiveRoles.ADManagement $gun = read-host “Kaç gündür logon olmamış kullanıcıları export etmek istersin? Rakam olarak girin” Get-QADUser |?{ $_.LastLogonTimestamp -gt (get-date).AddDays(-$gun)} | Select UserPrincipalName | export-Csv “C:\ExportLogons.csv” [...]
SharePowerShell scriptlerini kullanarak bir çok noktada çıktılar oluşturuyoruz.Fakat oluşturduğumuz çıktılar eğer text bazlı ise satır aralığı vermek istediğimizde klasik space tuşu işimizi pek görmüyor. Örneğin aşağıdaki komutu inceleyelim; $metin = “Bu bir deneme metnidir” $metin Şimdi değişkene atadığımız bu metin içerisinde satır aralığı vermek isteyelim; Gördüğünüz gibi klasik space tuşunu kullanarak böyle bir aksiyon almak [...]
ShareRavikanth Chaganti PowerShell üzerinde WMI Query lerini ayrıntılı inceleyen bir ebook’u download’a sundu. Aşağıdaki adresten download edebilirsiniz. Bende okunacaklar listesinin başına koydum. http://www.ravichaganti.com/blog/?p=1979 Share
SharePowerShell sayesinde bir System admini olmanıza rağmen içinizdeki yazılımcı ruhunu ortaya çıkarabilirsiniz.Bende Infrastructure üzerinde uzmanlaşmış bir IT Pro olmama rağmen , powershell ile küçüklü büyüklü birçok script geliştirdim.Bunların kimisi , gerçekten işe yarayan uygulamalardı, kimisi ise sadece “PowerShell bunu da yapabilirmi?” sorusuna aradığım cevapların neticesinde ortaya çıkan , belkide hiç kullanmayacağım ufak scriptlerdi. [...]
SharePowerShell ile Windows 7 işletim sistemi altında varolan Internet Explorer versiyonunu öğrenmek için aşağıdaki regedit sorgusunu çalıştırmanız yeterli. </p> <p>reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer" /v Version</p> <p> Share
SharePowerShell scriptleri ile operasyonel gerçekleştirilen aksiyonları otomize ederek gün sonunda oldukça kazançlı çıkabiliyorsunuz. Örneğin hergün çalıştırmak zorunda olduğunuz bir query yada GUI tabanlı 15 next 1 finishlik aksiyonlar var ise, bunları powershell ile script haline getirip, içeriğinde istediğiniz gibi taklalar atabilir ve Scheduled Task opsiyonunu kullanarak vakti geldiğinde çalışmasını sağlayabilirsiniz. Burada önemli nokta Scheduled Task [...]
SharePowerShell içerisinde belli aksiyonlar alınırken, scriptinizin tamamlanması belirli süreçler alacaksa , size yada scripti çalıştıran kullanıcıya bu durumu bir progress var aracılığı ile bildirmeniz hoş olacaktır. PowerShell içerisinde hem GUI tabanlı hemde konsol tabanlı progress bar kullanma şansınız mümkün. Bu noktada ilk bilmemiz gereken PowerShell progress bar oluşturmak için kullanmanız gereken cmdlet. Write-Progress Write-Progress için [...]
Share$computername = Read-Host “Makine ismini yada ipsini girin” Get-WmiObject Win32_ComputerSystem -ComputerName $computername | Select username Üstteki gibi bir scripti çalıştırdığınızda sizden uzak makine ip yada ismini isteyecek ve bunu $computername değişkenine atayacaktır. Ardından wmi objeleri kullanılarak o makine üzerindeki local oturum açmış kullanıcı bilgisi listelenecektir. Share
SharePowerShell V2 ile birlikte gelen en önemli yeniliklerden biriside remote yönetim anlamındaki geliştirmelerdi. Artık gerekli ön hazırlıkları gerçekleştirerek uzak bir makine üzerinde powershell sessionlarımızı başlatabilir ve merkezi yönetimi arttırabiliriz. PowerShell V2 içerisindeki remote session yapısı tamamiyle WinRM’e dayanmaktadır.Bildiğiniz gibi WinRM ile çalışmak istediğinizde arka planda bazı exceptionlar belirlemeniz gerekiyor.Özellikle firewall tarafında Winrm ayrıcalıklarını belirlemezseniz, remote [...]
SharePowerShell denemelerim sırasında yapımda bulunan Vmware Sanal makinalara remote session açmak istedim.Böylece lokal makinemdeki tek bir PowerShell konsolundan V2 nimetlerinden faydalanarak remote oturumlar ile komutları çalıştırabilecektim. Bunun için ilk gereksinim Enable-PSRemoting komutuydu. Ancak komutu çalıştırır çalıştırmaz bir hata aldım.Hata içeriğinde bana Windows 7 üzerinde Public bir network olduğunu , bunun PsRemoting için güvensiz olduğunu ve [...]
ShareEğer hali hazırda Windows 7 terfisini gerçekleştirmediniz ve kendi bilgisayarınızda Windows XP kullanıyorsanız aşağıdaki download linkinden PowerShell for XP indirebilirsiniz. This is the download page for Windows PowerShell 2.0 Yalnız bu bir Support Article olduğundan sayfanın alt taraflarında PowerShell için download linkini bulabilirsiniz. Share
SharePowerShell ile yapılabileceklerin ne kadar geniş bir yelpazeye sahip olduğunun kanıtı sanırım en son yazdığım bu script. Tamamen bir an için aklıma gelmesiyle birlikte uğraştığım ve başarılı bir şekilde hayata geçirdiğim GUI tabanlı bu script ile bir PowerShell Alarm programına sahip oluyorsunuz. Standart bir geri sayım scripti yapmaktansa invoke-item komutunu kullanarak belirlediğiniz geri sayım süresi [...]
SharePowershell üzerinde System.Net.Webclient öğesini kullanarak download ve upload işlemlerini gerçekleştirebilirsiniz.PowerShell ile basit bir upload işlemi için adım adım yapmamız gerekenleri listeleyelim. $Dosya = “c:\UserExport.csv” $Ftp = ‘ftp://KULLANICIADI:ŞİFRE@ftpurl.com/Uploads/UserExport.csv’ Upload edilecek local makinedeki dosyamı ve FTP adresimi belirliyorum.Bu noktada ftp değişkeninde kullanıcı adı, şifre ve ftp url’ini doğru girmeye özen gösterin.Aynı zamanda upload edilecek klasörün yazma yetkisinin [...]
ShareSevgili dostum Baki Onur Okutucu’nun Powershell ile Türkçe-İngilizce sözlük tasarlamasının verdiği ilham ile bende benzer bir yapıyla PowerShell içerisinden Wikipedia araması yapıp popup ile açan bir fonksiyon oluşturdum. Öncelikle Baki’nin postuna buradan ulaşabilirsiniz. http://www.bakionur.com/index.php/2011/01/06/powershell-icerisinde-ingilizce-turkce-sozluk/ Scriptin kullanıma çok basit.Öncelikle fonksiyonumuza bakalım. function PowerWiki($search) { $ie = new-object -com “InternetExplorer.Application” $webaddress= [string]::Format(” http://en.wikipedia.org/wiki/$search”) $ie.Navigate($webaddress) $ie.visible=$true } Gördüğümüz [...]
ShareÖzellikle help desk çalışanlarının günlük operasyonel işleri arasında bulunan driver yükleme kaldırma, envanter takibi gibi noktalarda serial numarası önemlidir. Örneğin remote yada local bir makine için driver güncellemesi yapılacak ise ilgili web sitesinden serial numarasına göre ilgili driver edinilir.Tabii bu serial numarasının bulunması için her zaman laptopun tesr çevrilmesine gerek yok. Aşağıdaki oldukça basit iki [...]
SharePowerShell üzerinde Get-Help about_automatic_variables komutunu girdiğinizde size önceden tanımlı scriptlerinizde kullanabileceğiniz değişkenleri vermektedir. Yalnız burada çoğu kişinin kullanmadığı ve şimdiye kadarda rastlamadığı bir değişken var. $$ Gerçekten ilginç.Birkaç ufak araştırmayla nasıl bir kullanım amacı olduğunu çözdüm. Temel olarak son satırdaki son değeri hafızasında tutan bir değişken.Örneğin çok uzun bir dizin altına girerek dır ile içeriğini [...]
ShareBirkaç post önce yazdığım GUI tabanlı ufak bir powershell scripti bulunuyordu. Link to PowerShell script to check hardware for remote computers Eğer bu scripti incelediyseniz uzak makine üzerindeki disk alanlarını listelediğimde bana kb cinsinden anlaşılması biraz zor olan değerler veriyordu. Mesela şu anda üzerinde çalıştığım laptop için get-wmiobject komut satırı ile boş alan değerini çekmek [...]
ShareWindows PowerShell ile birlikte özellikle yönetim tarafında operasyonel aksiyonların otomize edilmesi noktasında önemli kazançlar sağlandı.PowerShell 2.0 ile birlikte ise modul destekleri ile birlikte Active Directory, Exchange, System Center ürünlerinin yönetimi kolaylıkla merkezi olarak sağlayabiliyoruz. Bu makalemizda var olan dizin hizmetleri ortamımızdaki Group Poliçelerinin yönetimi konusunda PowerShell’in sağladığı faydaları inceliyor olacağız. Bildiğimiz gibi Group Poliçeleri Windows [...]
SharePowerShell 2.0 sürümü ile birlikte hayatımıza birçok yeni cmdlet katıldı.Bu makalemizde yine 2.0 ile birlikte gelen Out-GridView özelliğini inceleyeceğiz. Out-GridView sayesinde PowerShell tarafından üretilen çıktılar size tablara ayrılmış bir pencere içerisinde sunulmaktadır.Bu pencere dahilinde filtreler oluşturabilir, powershell komut satırı dışında çıktılarınızı görsel olarak çok daha verimli şekilde görüntüleyebilirsiniz. Not: Out-GridView cmdlet PowerShell 2.0 kurulumu ile [...]
SharePowershell ile çalışırken eğer klasik mavi arka plan sizin için sıkıntı yaratıyorsa varolan renk düzeni ile istediğiniz gibi oynayabilirsiniz. Bunun için gerekli olan komut aşağıdaki gibi; $host.UI.RawUI.BackgroundColor = “DarkRed” $Host.UI.RawUI.ForegroundColor = “White” Renklerle oynamak bu kadar basit.Peki biraz daha takla atsak? Mesela powershell’I açan kullanıcının ismine göre arka plan renklerim belirlensin. Bunun için önceki yazılarda [...]
ShareAşağıdaki basit script ile yapınızdaki tüm remote makineler için uptime sürelerini alabilirsiniz. Tek yapmanız gereken karşınıza çıkan prompt ekranında pc ismini girmek. $computer = Read-Host “Type Remote Computer Name to check uptime” $upTime = [Management.ManagementDateTimeConverter]::ToDateTime((gwmi win32_operatingsystem -computer $computer).lastbootuptime) write-host $computer “-> Bu pc” $upTime “tarihinden itibaren hizmet vermektedir..” Download Share
ShareAs you know, standard Get-Mailbox cmdlet don’t have stateorprovince and description properties.Just check with Get-Mailbox | Get-Member Well then, what is the best way to get these properties within one single script? In the script below, all users which has mailboxes, are exported with Organizational Unit, Display Name, State or Province, Description and Primary SMTP [...]
Share