Month: December 2015

Windows Powershell 5.0 ile Gelen 7 Güzel Özellik

Powershell gün geçtikçe gelişiyor ve yepyeni güzel özelliklere sahip oluyor.

En son versiyon olan Powershell 5.0 ile gelen özelliklerden bazılarına değinelim.

  1. Get-ChildItem için -Depth parametresi sayesinde yah ep ya hiç derdinden kurtuluyorsunuz. Get-ChildItem -Recure parametresi ile bir dosya yolunun altındaki tüm klasörlerde işlem yapmasını sağlayabiliyorduk. Ancak bazen bu çok uzun sürebiliyordu. Depth parametresi ile hangi derinliğe inebileceğinize karar verebiliyorsunuz.

 

 

 

  1. Get-Member için Force parametresi ile gizli durumda bulunan property, method vs. öğelere erişebilirsiniz.

 

 

  1. Artık oturumlar arası dosya kopyalamak mümkün. Bir Session içindeyken başka bir Session’a dosya kopyalamak için -ToSession parametresi artık kullanılabilir.

 

  1. Artık çıktılarınızı Hex olarak da alabileceksiniz. Nasıl mı? Şöyle:

  1. Clip.exe’nin Powershell’cesi. Son derece kolay kullanımlı

 

  1. Out-file -nonewline parametresi ile dosyaya veri yazdırırken otomatik boş satır ekleme özelliğini devre dışı bırakabilirsiniz.

 

  1. Syntax Coloring özelliği ile artık script yasmak çok daha anlaşılır ve zevkli. Daha önce Powershell ISE (Integrated Scripting Environment) sahip olduğumuz bu özellik artık Powershell konsolu içinde de kullanılabilir durumda.

    Bir örnek:

    Sorular için bakionur@bakionur.com

 

 

Powershell ile Çöp Kutusu (Recycle Bin) Yönetimi

Powershell ile çöp tenekenizi boşaltabilirsiniz. Evet bu son derece basit. Siz asıl daha fazlasına hazır olun.

Neyse öncelikle şu normal çöp tenekesi boşaltma işlemini aradan çıkartalım.

Buraya kadar her şey normal. Powershell ile çöp tenekesine müdahale edebiliyor olmam güzel. Ancak küçük ama kullanışlı bir özelliği daha var bu komutun.

Mesela; son günlerde binlerce dosyayı çöp tenekesine yolladınız.Bu yolladıklarınızın içinde sistem dosyalarının da olmasından korkuyorsunuz. Bildiğiniz tek şey sistem dosyalarınızın C: sürücüsünde olduğu. Neyse ki bu bilgi bile bizim için yeterli, kaygılanmanıza gerek yok.

Gelin örneğimize bakalım. Aşağıdaki çöp tenekesinde 2 dosya var. Bunlardan bir tanesi silinmeden önce C: sürücündeydi. Diğeri de ise silinmeden önce D: sürücüsündeydi. Ben bu 2 dosyayı da sildim ve şimdi artık ikisi de çöp tenekesinde.

Şimdi Powershell’den Clear-RecycleBin komutunu -DriveLetter parametresi ile birlikte kullanıyorum.

Vee sonuç!

Sorular için bakionur@bakionur.com

Powershell ile Office 365 Yönetimi – Part 2

Part 1’de Powershell ile Office 365’e nasıl bağlantı kurulacağı üzerinde durmuştuk. Şimdi artık en çok kullanılan 10 komutu tanıyalım.

Office 365 Organizasyonunuz içindeki şirket bilgilerini görüntülemek için kullanılır.

Office 365 üzerinde konumlandırdığım ve Office 365 tarafındasn yönetilen domain’leri listeler.

 

Bu komut ile Organizasyondaki Lisans durumunu anlık olarak görebilirsiniz. Örnek olarak ENTERPRISEPACK=E3, ENTERPRISEPREMIUM=E5 anlamına geliyor.

Bu komut Office 365’deki tüm kullanıcıları listeler .

Bu komut Office 365’deki tüm grupları listeler.

Bu komut ile Office 365’deki kullanıcıların Parola politikalarını görüntüleyebilirsiniz. Benim örneğimde parolalar 250 günde bir eskiyecek ve 30 gün öncesinde de kullanıcıya bildirim yapılacaktır. Set-MsolPasswordPolicy komutu ile düzenlenebilir.

Office 365’in varsayılan olarak getirdiği roller listeler. Bu roller sayesinde kullanıcıların yetkilerini ve Office 365 organizasyonu yönetimindeki yerlerini belirleyebilirsiniz. Bu yetki ve görevler şirketinizdeki yetkiler değil Office 365 portalının yönetimini ifade eder.

Herhangi bir kullanıcının yukarıda listelenmiş rollerden hangisine sahip olduğunu görüntüleyebilirsiniz.

Yeni bir kullanıcı oluşturmak için bu komutu kullanabilirsiniz. Özellikle Lisans ataması yapmadım. Bir sonraki komutta onu da göreceğiz. Unutmadan; bir kullanıya lisans ataması yapmazsanız, o kullanıcı Office 365 içerisindeki özellikleri kullanamayacaktır.

Bu komutlarla da varolan bir kullanıcıya lisans ataması / değişikliği yapabilirsiniz.

Evet bir solukta en çok kullanılan Office 365 Powershell komutlarına göz attık. Sonraki yazılarda daha spesifik görevlerin nasıl yapılandırıldığını inceleyeceğiz.
Sorular için bakionur@bakionur.com

Powershell’de Bir Printer’i Default Printer Olarak Ayarlamak

Powershell’de bir printer’i varsayılan printer olarak ayarlamadan önce sistemimizde bulunan tüm printer’lerin bir listesini çekelim. Bunun için;

Komutundan faydalanabiliriz.

İstediğimiz Printer’i varsayılan olarak ayarlamak için ise WMI objelerinden faydalanacağız. İlgili WMI objesinin ismini de yine WMI obje listesinden çekerek bulalım. Hem bu şekilde merak ettiğiniz başka objeleri de bularak onları da arştırmaya başlayabilirsiniz. İçinde Printer geçen WMI objelerini listeleyelim.

Burada Win32_Printer objesini kullanacağız. Dilersek Printer listesini Win32_Printer objesini kullanarak da listeleyebiliriz.

Aşağıdaki komut ile tek satırda hem Win32_Printer objesini çağırıp hem de ismi ‘Microsoft Print to PDF’ olan Printer’i çekiyorum. Bunu da Printer isimli bir değişkene atıyorum.

Artık Printer’imi Default Printer olarak tanımlayabilirim. Bunun için de;

Sorular icin bakionur@bakionur.com

Powershell ile Office 365 Yönetimi – Part 1

Powershell’in en önemli kullanım alanlarından birisi de Office 365 yönetimi. Sadece portal üzerinden yönetilebilen Office 365’i alternative olarak Powershell üzerinden de yönetebilirsiniz. Kullanıcılarınızı, gruplarınızı, lisans yönetiminizi, güvenlik özelliklerinizi.. kısacası portal üzerinden yapabildiğiniz tüm yönetimsel faaliyetleri çok daha hızlı ve esnek olarak Powershell içerisinden de yönetebilirsiniz. Bu yazıda öncelikle Office 365’e Powershell ile bağlantı gerçekleştireceğiz ve yapabileceklerimize göz atacağız.
Powershell içerisinden Office 365 yönetimi yapabilmek için öncelikle aşağıdaki uygulamanın indirilmesi gerekmektedir.
https://www.microsoft.com/en-in/download/details.aspx?id=28177

Uygulamayı bilgisayarınıza kurarak devam ediyoruz.

Artık Powershell Office 365’e bağlanmak için gerekli modüle sahip duruma geldi. Şimdi bakalım bu yeni modül içinde neler var?

Tam komut listesi ise şöyle;

CommandType Name
Cmdlet Add-MsolAdministrativeUnitMember
Cmdlet Add-MsolForeignGroupToRole
Cmdlet Add-MsolGroupMember
Cmdlet Add-MsolRoleMember
Cmdlet Add-MsolScopedRoleMember
Cmdlet Confirm-MsolDomain
Cmdlet Confirm-MsolEmailVerifiedDomain
Cmdlet Connect-MsolService
Cmdlet Convert-MsolDomainToFederated
Cmdlet Convert-MsolDomainToStandard
Cmdlet Convert-MsolFederatedUser
Cmdlet Disable-MsolDevice
Cmdlet Enable-MsolDevice
Cmdlet Get-MsolAccountSku
Cmdlet Get-MsolAdministrativeUnit
Cmdlet Get-MsolAdministrativeUnitMember
Cmdlet Get-MsolCompanyInformation
Cmdlet Get-MsolContact
Cmdlet Get-MsolDevice
Cmdlet Get-MsolDeviceRegistrationServicePolicy
Cmdlet Get-MsolDirSyncConfiguration
Cmdlet Get-MsolDirSyncProvisioningError
Cmdlet Get-MsolDomain
Cmdlet Get-MsolDomainFederationSettings
Cmdlet Get-MsolDomainVerificationDns
Cmdlet Get-MsolFederationProperty
Cmdlet Get-MsolGroup
Cmdlet Get-MsolGroupMember
Cmdlet Get-MsolHasObjectsWithDirSyncProvisioningErrors
Cmdlet Get-MsolPartnerContract
Cmdlet Get-MsolPartnerInformation
Cmdlet Get-MsolPasswordPolicy
Cmdlet Get-MsolRole
Cmdlet Get-MsolRoleMember
Cmdlet Get-MsolScopedRoleMember
Cmdlet Get-MsolServicePrincipal
Cmdlet Get-MsolServicePrincipalCredential
Cmdlet Get-MsolSubscription
Cmdlet Get-MsolUser
Cmdlet Get-MsolUserByStrongAuthentication
Cmdlet Get-MsolUserRole
Cmdlet New-MsolAdministrativeUnit
Cmdlet New-MsolDomain
Cmdlet New-MsolFederatedDomain
Cmdlet New-MsolGroup
Cmdlet New-MsolLicenseOptions
Cmdlet New-MsolServicePrincipal
Cmdlet New-MsolServicePrincipalAddresses
Cmdlet New-MsolServicePrincipalCredential
Cmdlet New-MsolUser
Cmdlet New-MsolWellKnownGroup
Cmdlet Redo-MsolProvisionContact
Cmdlet Redo-MsolProvisionGroup
Cmdlet Redo-MsolProvisionUser
Cmdlet Remove-MsolAdministrativeUnit
Cmdlet Remove-MsolAdministrativeUnitMember
Cmdlet Remove-MsolApplicationPassword
Cmdlet Remove-MsolContact
Cmdlet Remove-MsolDevice
Cmdlet Remove-MsolDomain
Cmdlet Remove-MsolFederatedDomain
Cmdlet Remove-MsolForeignGroupFromRole
Cmdlet Remove-MsolGroup
Cmdlet Remove-MsolGroupMember
Cmdlet Remove-MsolRoleMember
Cmdlet Remove-MsolScopedRoleMember
Cmdlet Remove-MsolServicePrincipal
Cmdlet Remove-MsolServicePrincipalCredential
Cmdlet Remove-MsolUser
Cmdlet Reset-MsolStrongAuthenticationMethodByUpn
Cmdlet Restore-MsolUser
Cmdlet Set-MsolADFSContext
Cmdlet Set-MsolAdministrativeUnit
Cmdlet Set-MsolCompanyContactInformation
Cmdlet Set-MsolCompanySecurityComplianceContactInformation
Cmdlet Set-MsolCompanySettings
Cmdlet Set-MsolDeviceRegistrationServicePolicy
Cmdlet Set-MsolDirSyncConfiguration
Cmdlet Set-MsolDirSyncEnabled
Cmdlet Set-MsolDomain
Cmdlet Set-MsolDomainAuthentication
Cmdlet Set-MsolDomainFederationSettings
Cmdlet Set-MsolGroup
Cmdlet Set-MsolPartnerInformation
Cmdlet Set-MsolPasswordPolicy
Cmdlet Set-MsolServicePrincipal
Cmdlet Set-MsolUser
Cmdlet Set-MsolUserLicense
Cmdlet Set-MsolUserPassword
Cmdlet Set-MsolUserPrincipalName
Cmdlet Update-MsolFederatedDomain

 
Şimdi öncelikle Office 365’e organizasyon bilgileriyle (hesap bilgileri) bağlanmamız gerekiyor. Bu sayede yukarıdaki komutları kullanabilir durumda olacağım.
Bunun için öncelikle Office 365 portalına bağlanmak için kullandığım Kullanıcı Adı ve Parolayı bir credential olarak Powershell’e söylemem gerekiyor. Sonraında da Connect-MsolService komutunu kullanarak bağlantımı gerçekleştireceğim.


Şimdi artık bağlantımızı gerçekleştirdiğimize göre Office 365 Organizasyonumu tüm yönleriyle bu yönetibiliriz.
Sonraki yazılarımızda bir çok önemli komuta uygulamalı olarak yer vereceğim.
Sorular için bakionur@bakionur.com

Powershell’de DO-WHILE kullanımına 5 güzel örnek

Do While döngüsünün tam karşılığı şudur; “Bir koşul sağlandığı müddetçe bunu yap”
Düşünsenize; 2 sayısı 1 sayısından büyük oluncaya kadar ekrana 1 saniye aralıklarla tarihi yazdır desem ne olur?
Bakalım ne olur!


Kullanıcı ekrana 3 ile 5 arasında bir sayı girene kadar aynı uyarı çıksa ve bir sonraki adıma geçilemese..
Buyrun..


Spesifik bir parolayı girmeden sonraki adıma geçilmesin istiyorsak ne yapmalıyız? Hem de parola Case Sensitive ise!


Örneğin IP Helper servisi çalıştığı sürece ekrana “Servis Çalışıyor” yazdırılsa. Hoş olmaz mı?


Ya peki ben D sürücümde 10 GB’den boş yer olduğu müddetçe, bir başka deyişle 10 GB’den az kalana kadar “diskte yer var” mesajını yazdırmak istesem!
O da böyle olsun..


Sorular icin bakionur@bakionur.com

Powershell ile Control Panel öğelerini Yönetmek

Control Panel eski bir dost malum.. Bu eski dosta hala ihtiyaç duyuyoruz şüphesiz. Fakat inanın Powershell hayatınıza tam anlamıyla girdiğinde neredeyse sate bakmak için başınızı sağ aşağıya çevirmek yerine get-date yazma yolunu seçiyorsunuz.

Durum böyleyken Windows içinde yapılacak her şeyin Powershell’de mutlaka bir karşılığı olmalı prensibiyle yola çıkıyoruz yine..

Control Panel öğelerini listeleyerek, dilediğimi çalıştırmak istiyorum. Bunu Powershell ile yapalım öyleyse;

Peki bu listeyi süzerken bir özelleştirme yapabilir miyim? Elbette!

Mesela sadece Windows ismiyle başlayan Control Panel öğelerini listelemek gibi.

Peki istediğim control panel öğesini başlatabilir miyim? Buna da evet!

Aklıma şöyle bir şey geldi(!). Ya ben aşağıdaki komutu yazarsam ne olur?

AMAN! SAKIN!

J

Sorular için bakionur@bakionur.com