SCOM ü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” [...]
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
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 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 [...]
ShareIn PowerShell , there is a built-in security mechanism to prevent unrestricted script executions. You can set this option by group policy or with Set-ExecutionPolicy cmdlet as an Administrator. There are five different settings for the execution policy Restricted. This is the default setting, and Windows PowerShell does not execute scripts, except for a few [...]
SharePowerShell offers you three basic security features : .Ps1 extension can not be run by double-clicking.And this extension is not registered with Microsoft Windows as an executable file type Prevent you from command hijacking.I mean if you call a script as “Script.ps1” it will not executed even it is located in the current directory. There [...]
ShareWhy PowerShell Profiles? Each time you open a new PowerShell window, all you loaded modules, created aliases, defined functions and all other configurations will be lost. You start from scratch each time you open an new window. With a profile script you have the ability to store modules, custom aliases etc.The only difference about profile [...]
ShareYou may want to group similar outputs for some cmdlets.The Group-Object cmdlet examines a object property and creates a new group for each property. Get-Service | Group-Object status As you see above, two different groups were created by group-object cmdlet as Stopped and Running. Group-Object is less useful if each property have unique names. I [...]
ShareIn PowerShell, when you run a cmdlet, script determines the order of output objects itself.I mean if execute a script which retrieves list of processes; PowerShell displays processes in alphabetical order by name column.This is a default behavior for get-process cmdlet in PowerShell.Another cmdlets have another order types. If you want to change this [...]
ShareI wrote another simple PowerShell script which uses wmi queries to get information about remote computers’ memory, network, system and processor datas. Interface is very simple. It prompts you to type remote computer name.Please be aware about credential and firewall issues. Then you are choosing system, memory, processor or disk sections. As I mentioned before, [...]
ShareYou can display standard PowerShell output information or create custom tables. I mean, if you execute get-wmiobject command for Win32_PysicalMemory class; That’s the default design of output.But with select-object or format-table parameters you can filter for specific columns. Format-table filters for only speed and manufacturer columns. But what if you want to create your own [...]
Share