PowerShell, Office 365, sözdizimi |PowerShell'in Gücü | Bölüm 1/3 .com
Kendimle ilgili temel bir gerçekle başlayalım: Ben bir programcı değilim (ve muhtemelen hiçbir zaman da olmayacağım). PowerShell'in nasıl kullanılacağını öğrenebilseydim herkes bunu yapabilir! Başlangıçta PowerShell bana gereksiz "Siyah" ve karmaşık bir araç gibi göründü ve bundan kaçınmak için elimden geleni yaptım.
PowerShell'in Gücü | Makale Serisi
Aşağıdaki üç makaleyi içeren PowerShell'in Gücü makale serisi:
- PowerShell'in Gücü | Bölüm 1/3 (bu makale)
- PowerShell'in Gücü | Bölüm 2/3
- PowerShell'in Gücü | Bölüm 3/3
Şöyle düşündüm: “Neden kullanıcı dostu Microsoft GUI (grafiksel kullanıcı arayüzü) yerine PowerShell kullanmalıyım? Zamanla PowerShell kullanmanın önemli avantajlarının farkına vardım ve zaman geçtikçe PowerShell ortamında kendimi rahat hissetmeye başladım.
Bu makalenin konusu: Office 365 ortamında PowerShell'in temellerini tanımak.
PowerShell kavramını ve mantığını daha iyi anlamak istediğinizi düşünüyorsanız ve bilgileri okumaya 2 dakikadan fazla zaman ayırmayı düşünüyorsanız, kopyalamak ve kopyalamak yerine bu ortamı anlama becerisinin keyfini çıkarabileceğinizi düşünüyorum. “gizemli” PowerShell komutlarını yapıştırın.
“PowerShell” nedir?
PowerShell için pek çok “Formal” tanım mevcut ancak konuyu basitleştirelim: PowerShell, adından da anlaşılacağı üzere bir “Shell” ve Script dilidir. PowerShell'in diğer betik dillerine göre ana karakteri, PowerShell'in oldukça dost canlısı ve “İnsan benzeri” betik dilleri olmasıdır.
PowerShell çok basit ve güçlü komutları (cmdlet'ler) kullanmamızı sağlar ve aynı zamanda PowerShell çok karmaşık komut dosyalarının yazılmasına da hizmet edebilir (bu, “Programcının” bölümüne en yakın kısımdır).
Şu anda Microsoft işletim sisteminin ve ürünlerinin çoğu PowerShell kullanılarak yönetilebilmektedir ve Exchange sunucusu gibi bazı ürünler tamamen PowerShell'i temel almaktadır.
Örneğin kullandığımız Exchange GUI arayüzü sadece “dostça bir arayüz”. GUI arayüzünde kullandığımız her seçenek bir PowerShell komutu olarak çevrilir ve yürütülür.
PowerShell'in “Gücü”
PowerShell kullanmanın birçok avantajı vardır:
- Toplu işlemler - “Toplu işlemler” teriminin anlamı, bir “nesne grubunu” yönetmek için bir PowerShell komutunu yürütme yeteneğidir.
Örneğin, lisans sahibi olmayan tüm Office 365 kullanıcılarına lisans atamamız gerekir. lisanslar. Kuruluşumuzda 10 çalışan olması durumunda bu görev Office 365 Portal Web Arayüzü kullanılarak çok kolay bir şekilde uygulanabilmektedir. Peki nasıl bir senaryoda lisansı 1.500 kullanıcıya atamamız gerekir?
Elbette bunu manuel olarak da yapabiliriz ancak bu çok yorucu bir görev olacaktır.
PowerShell'i kullanarak şunları kullanabiliriz: Lisansı olmayan tüm kullanıcıları bulan ve bu kullanıcılara gerekli lisansı atayan komut. - Bilgileri dışarı aktarma - Office 365 Web arayüzü, rapor oluşturma veya bilgileri dışarı aktarma seçeneğini içermez.
PowerShell'i kullanarak, raporlar oluşturabilir ve atanmış lisanslara sahip kullanıcıların listesi, ilgili bilgiler gibi farklı bileşenler hakkında gerekli verileri dışarı aktarabiliriz. Posta kutusunun boyutu, telefon numaraları, departman gibi bilgileri içeren kullanıcı listesi ve çok daha fazlası. - Kullanıcı müdahalesi yok - PowerShell kullanarak, Office 365 kullanıcıları için gerekli tüm yönetim görevlerini, kullanıcıları bu sürece dahil etmeye gerek kalmadan "arka planda" yürütebiliriz.
Örneğin: kullanıcıya izinler atamamız gerektiğinde Posta kutusu veya kullanıcı takvimi, Outlook kullanıcı profilinde oturum açmaya veya kullanıcı Masaüstünü uzaktan kontrol etmeye gerek yoktur.
Bunun yerine gerekli yönetim görevini PowerShell komutlarını kullanarak yürütebiliriz. - GUI arayüzü sınırlaması - Office 365 Web Arayüzü, birçok yönetim görevini gerçekleştirmemize olanak sağlar. Yönetimsel görevlerden bazıları yalnızca PowerShell kullanılarak gerçekleştirilebiliyordu. Örneğin: Kullanıcı parolasını sıfırlamak ve kullanıcıya geçici parola oluşturmak için Office 365 Web arayüzünü kullanabiliriz ancak Web tabanlı arayüzde şu seçenek yer almamaktadır: : Kullanıcı için önceden tanımlanmış bir parola ayarlama veya varsayılan geçerlilik süresi parola politikasını değiştirme (bu görev yalnızca PowerShell kullanılarak uygulanabilir).
- Yönetim görevlerini otomatikleştirin - çoğu zaman yönetim görevlerini planlı bir şekilde çalıştırmamız gerekir.
Örneğin: PowerShell komut dosyalarının ve yerleşik Windows Görev Yöneticisi sayesinde bu yönetim görevlerini otomatikleştirebiliyoruz.
Uzak PowerShell - Office 365
PowerShell'i Office 365 altyapılarını yönetmek için kullanırken Uzak PowerShell olarak tanımlanan bir yöntem kullanırız. Gerekli PowerShell komutlarını çalıştırabilmek için öncelikle Uzak Ana Bilgisayara (Office 365 ve Exchange Online altyapısı) kimlik doğrulama işlemini içeren bir uzak oturum oluşturmamız gerekiyor.
Remote PowerShell'i 4 farklı altyapıyı yönetmek için kullanıyoruz:
- Office 365 - “Office 365” tabirini kullandığımızda şu anlama gelir: diğer tüm Office 365 Hizmetlerine “zarf” görevi gören kısım. Bu bölüm aşağıdaki gibi bileşenleri içerir: Kullanıcı ve Güvenlik Grubu nesneleri (Windows Azure Active Directory), Etki alanı adları yönetimi, posta geçişi, SSO (Tek oturum açma), lisans yönetimi ve daha fazlası.
- Exchange Online - Bu bölüm Posta hizmetlerinin yönetimini içerir. Örneğin: E-posta adresi ekleme veya kaldırma, Posta Kutusu boyutunu ayarlama, Posta Kutusuna politika atama vb.
- SharePoint Çevrimiçi
- Lync Çevrimiçi
Office 365 altyapısının her biri “özel bir uzaktan PowerShell oturumu” gerektirir ve bu ortamların her biri için, Uzak oturumu oluşturmak için farklı bir cmdlet seti (cmdlet terimini daha sonra inceleyeceğiz) kullanmamız gerekir.
PowerShell “Nesneler Sınıfı”
PowerShell'in amacı: nesneleri yönetmek.
Office 365 ortamında düzinelerce nesne vardır. “Nesne” örneği şu şekilde olabilir: Kullanıcı, Posta Kutusu, Grup, Etki Alanı vb.
Nesne Sınıfı/Türü ve nesne örneği
“Nesne Sınıfı/Türü” terimi, belirli özelliklere sahip bir “varlığı” tanımlar. Yeni Kullanıcı gibi "yeni bir nesne" oluşturduğumuzda, aslında bir nesne örneği oluşturuyoruz.
“Yeni örnek” (örneğin yeni bir kullanıcı), nesne sınıfının yapısını devralır ve (çoğu zaman) benzersiz bir kimliğe sahiptir.
Örneğin: “John” adında yeni bir Kullanıcı oluşturduğumuzda, yeni kullanıcı “Kullanıcı” nesne sınıfının “örneği” olarak kabul edilir. Yeni kullanıcı (John), Kullanıcı nesne sınıfından miras alınan tüm "özellik alanlarına" sahip olacaktır.
Not: Çoğu zaman, bir nesneden bahsederken "örnek" terimini kullanmayız, bunun yerine yalnızca "nesne" terimini kullanırız. ”
Nesne sınıfı ve nesne Türevleri
“Nesne Sınıfının” bir kısmı Türevleri olan bir “Kök nesne” görevi görür.
Örneğin - “Grup Nesne Sınıfı” aşağıdaki Türevlere sahiptir:
Grup Nesnesi şunlar olabilir: bir güvenlik grubu veya dağıtım grubu ve dağıtım grubu, "standart dağıtım grubu" veya Dinamik dağıtım grubu olabilir.
Yeni bir "Dağıtım Grubu" oluşturduğumuzda, yeni örnek "Grup nesne sınıfının" yapısını ve özelliklerini + "Dağıtım Grubu" nesne sınıfı için benzersiz olan belirli bir özelliği devralır: E-posta adresi ve mesaj onayı .
Nesne Özellikleri
Nesne sınıfının temel tanımı şu şekilde olabilir: bir koleksiyon veya önceden tanımlanmış bir özellikler kümesi.
Nesneler ve nesnenin özellikleri kavramı, Gerçek Dünyadan "ödünç alınmıştır".
Örneğin her birimizin (İnsan veya kişi) boyu, göz rengi, kilosu, vatandaşlığı vb. özellikleri vardır.
Kullanıcı nesnesi veya Posta Kutusu nesnesi gibi Object sınıflarının her biri, nesne sınıfıyla "ilgili" belirli bir özellikler kümesine sahiptir.
Örneğin, Kullanıcı nesnesi özellikleri şunlar olabilir: - Unvan, Departman, Şehir, Telefon Numarası gibi genel ayrıntılar veya aşağıdakiler gibi diğer özellikler: Kullanıcı Rolü (standart kullanıcı, Genel Yönetici), lisans (kullanıcının sahip olup olmadığı) bir lisans), Posta Kutusu (kullanıcının kullanıcı hesabına "ekli" Posta Kutusu var mı) vb.
Not: Posta Kutusu bir "Nesne" olarak düşünülebilir, ancak Posta Kutusu aynı zamanda bir Kullanıcının "özelliği" olarak da kabul edilir, çünkü Posta Kutusu nesnesinin kendine ait bir "Hayatı" yoktur. ” Bir Posta Kutusu nesnesi Kullanıcı nesnesine “eklenmelidir”.
Ek bir örnek - Posta Kutusu özellikleridir.
Posta Kutusu nesnesinin özellikleri Posta Kutusu boyutu, Posta Kutusuna "eklenen" e-posta adresi, kişisel Arşiv vb. olabilir.
Ek "Posta Kutusu özellikleri", Posta Kutusuna eklenen bir politika olabilir.
Örneğin: Saklama politikası (posta öğeleri belirli bir "yaşa" ulaştığında posta öğelerinin silinmesi veya arşive taşınmasıyla ilgili bir politika).
Belirli bir nesne sınıfına "ait" olan özelliklerin listesini görüntülemek istediğimiz durumda PowerShell cmdlet'lerini kullanabiliriz:
Get-Object Class | Get-MemberNesne özellikleri değerleri
Daha önce de belirtildiği gibi, bir nesneyi bir özellikler koleksiyonu olarak tanımlayabiliriz. Yeni bir nesne oluşturduğumuzda (ya da daha doğru olmasını istiyorsak - Object örneği), “Must” özelliklerinden bazılarının değerleri vardır (zorunlu gereksinim).
Örneğin: Office 365 kullanıcı nesnesinin Takma Ad ve Kullanıcı Asıl Adına sahip olması gerekir. Diğer özellikler, örneğin: Parola Hiçbir Zaman Sona Ermez, otomatik olarak "True" değeriyle ayarlanır ve Başlık, Departman, şehir ve daha fazlası gibi ek özellikler önceden tanımlanmış bir değere sahip değildir (veya şunu söyleyebiliriz: "Boş özellik").
Bu “değerler”, kullanıcının hesabını yöneten Yönetici tarafından ayarlanabilir.
Nesnelere Referans Verme
Her "PowerShell cümlesi" veya PowerShell komutunun ilk kısmı, bir nesne sınıfına veya nesne örneğine yapılan bir başvuruyla başlar. Posta Kutusu yönetiminin temel yönetim görevini göstererek “Nesnelere Referans Verme” seçeneğini inceleyelim.
Exchange Online sunucusunda barındırılan Posta Kutularını yönetmemiz gerektiğinde, nesne/nesnelere “referans vermek” için 3 seçenek tanımlayabiliriz:
- Nesne sınıflarının belirli bir örneğine referans
Örneğin - “John” Posta Kutusu hakkında bilgi almak istiyoruz. - Referans nesneleri sınıfı.
Tüm Mailbox nesne sınıfı hakkında bilgi görüntüleyen bir PowerShell komutu kullanabiliriz - Referans Alt Kümesi/Nesne Grubu
Bir Exchange ortamında, Kullanıcı Posta Kutusu, Kaynak Posta Kutusu, Paylaşılan Posta Kutusu, Arama Posta Kutusu vb. gibi farklı türde “Posta Kutularımız” vardır. Çoğu zaman yalnızca bir “Alt Kümeye” veya nesnelerin bir “Alt Grubu”.
Örneğin: yalnızca "Kullanıcı Posta Kutuları" grubuna "ait" olan Posta Kutularını görüntülemek istiyoruz.
Nesne “Kimlikler”
Nesne sınıfının bir “örneğine” referans vermek istediğimizde, nesne kimliğini belirtmemiz gerekecek. Bu “kimlik” kavramı, “Gerçek dünya”ya çok benzer.
Her birimizin Ad, Tam ad, “Takma Ad” veya Sosyal Numara gibi birkaç kimliği vardır. Aynı şekilde “John Kullanıcı Hesabı” gibi bir nesnenin belirli örneklerini yönetmemiz gerektiğinde bu örneğin (John) kimliğini belirtmemiz gerekir.
Not: "Kimliklerin" çoğu "Benzersiz" olarak kabul edilir; bu, başka hiçbir nesnenin (Kullanıcı) aynı kimliğe sahip olamayacağı anlamına gelir.
Kullanıcı Nesnesi “Kimlikler”
Gösterim amacıyla “Kullanıcı Nesnesi Kimlikleri” seçeneklerini gözden geçirelim. Aşağıdaki liste, nesne sınıfının belirli bir örneğine (“John” gibi belirli bir kullanıcıya) başvurmamız gerektiğinde kullanabileceğimiz farklı Kullanıcı Nesnesi Kimliklerinin açıklamasını içerir.
- Kullanıcı Görünen adı - bu kimlik, kullanıcının adı ve son kullanıcı adından oluşur. “Görünen ad” Tanımlayıcı benzersiz bir Tanımlayıcı değildir. Bunun anlamı, aynı görünen ada sahip 2 (veya daha fazla) kullanıcıya sahip olabileceğimizdir.
Nesne görünen adını kullanarak bir nesneye başvuruda bulunmak istediğimizde, görünen ad bir boşluk içerdiğinden tırnak işaretleri kullanmalıyız ( ad ve soyadı arasındaki boşluk). Kullanıcının "Görünen ad" kimliği benzersiz olmadığından, belirli bir kullanıcıya referans vermek istediğimizde bu seçenekten kaçınılması önerilir. - Kullanıcı UPN - (UPN, Kullanıcı Asıl Adı anlamına gelir). Office 365'te kullanıcı UPN=Kullanıcı Oturum Açma adı. Kullanıcı UPN'si benzersiz bir Tanımlayıcıdır (yalnızca bir kullanıcı belirli bir UPN'ye sahip olabilir). UPN, kullanıcının Takma Adı ve Office kiracı etki alanından veya "özel etki alanı" adından (özel etki alanı adı) oluşur.
Varsayılan olarak, kullanıcı UPN'si aynı zamanda kullanıcının birincil E-posta adresidir (bu varsayılan, yalnızca PowerShell komutu kullanılarak değiştirilebilir). - Kullanıcı Takma Adı - kuruluşun “Takma ad Politikası”na göre oluşturulan kullanıcı Takma ad adı.
Örneğin, standart bir Takma ad politikası, kullanıcının adı ve aile kullanıcı adının ilk karakterleri olabilir. Kullanıcının Takma adı benzersiz bir Tanımlayıcı değildir. Bir kullanıcının Posta Kutusuna referans vermek istediğimizde, "Uzun" kullanıcı UPN'sini kullanmak yerine kullanıcı Takma Adını kullanmak daha kolaydır. - Kullanıcı E-posta Adresi - Kullanıcı E-posta Adresi benzersiz bir tanımlayıcıdır. Office 365 kullanıcısı Posta Kutusuna sahip olduğunda, kullanıcının Birincil e-posta adresi olarak tanımlanan en az bir e-posta adresine sahip olması gerekir. Belirtildiği gibi, varsayılan olarak kullanıcının birincil e-posta adresi, kullanıcının UPN'si ile aynıdır.
- GUID (Nesne Kimliği) - nesne kimliği benzersiz bir Tanımlayıcıdır. Bu Tanımlayıcı çok sık kullanılmaz. “Nesne kimliğini” kullanmamız gereken tek zaman, Güvenlik grubuyla ilgili belirli bir yapılandırmayı kullanmamız gerektiği zamandır.
Not: SIP adresi (kullanıcı LYNC adresi) ve Windows Live ID adresi gibi ek "kimlikler" vardır ancak çok sık kullanılmadıkları için bu "kimlikleri" "atlayacağız".
Office 365 ortamındaki kullanıcı nesnesi
Office 365 bir “bulut hizmetleri paketi” olarak tanımlanabilir.
Office 365 portal yönetimini (Web arayüzü) kullanırken, farklı altyapı “tek bir varlık” gibi görünür, ancak gerçekte bu hizmetlerin her biri (Windows Azure Active Directory, Exchange Online vb.) ayrı bir yapıya dayanmaktadır. özel bir Active Directory ormanı, özel sunucular vb. içeren altyapı.
Örneğin; yeni bir kullanıcı hesabı oluşturduğumuzda, Windows Azure Active Directory'de kullanıcı hesabı oluşturulur ve daha sonra kullanıcı hesabının bir kopyası Exchange Online, SharePoint online ve LYNC gibi tüm ek hizmet/altyapılara replike edilir. çevrimiçi.
“Kullanıcı nesnesi” gibi bir nesneye referans verdiğimizde hangi altyapıya referans vermek istediğimizi bilmemiz gerekir.
Nesne "kimliklerine" referans vermeye yönelik PowerShell komut sözdizimi ve "kuralları", Office 365 ortamındaki (Windows Azure Active Directory) ve Exchange Online altyapısındaki nesneye referans verdiğimizde biraz farklıdır.
- Office 365'te (Azure Active Directory) bir Kullanıcı nesnesine referans verme - Office 365 altyapısında kullanıcı nesnesini yönetmek istediğimizde kullandığımız PowerShell nesne adı: MsolUser
- Exchange Online'da bir Kullanıcı nesnesine referans verme - Exchange Online altyapısında kullanıcı nesnesini yönetmek istediğimizde kullandığımız PowerShell kullanıcı nesnesi adı: “Kullanıcı”
PowerShell ve Nesne Yönetimi
Bir sonraki bölümde PowerShell komutlarına ve belirli PowerShell komut sözdizimine "dalış yapacağız" ancak başlamadan önce özetleyelim:
Nesneleri yönetmek için PowerShell kullanıyoruz. “Nesne yönetimi” şunlar olabilir:
- Nesneleri oluşturun veya silin; Kullanıcı hesabı, Grup Hesabı gibi yeni bir nesne örneği oluşturun veya mevcut nesneleri silin
- Nesne özelliklerini düzenleme - Departman adı, Başlık, lisans ekleme, izin ekleme veya kaldırma vb. gibi nesne özelliklerine yeni bir değer ekleyerek.
- Nesneler hakkındaki bilgileri “Getir” ve görüntüle - nesneyi yönetmemiz gerektiğinde, Kullanıcı veya Posta Kutusu nesne sınıfı gibi belirli bir nesne sınıfına referans vermek için PowerShell komutlarını kullanırız. Belirli bir nesne örneğine referans vermek istediğimizde, nesneyi kullanmamız gerekir. kimlik.Nesneler hakkında almak istediğimiz bilgiler ekranda (PowerShell konsolu) görüntülenebilir veya rapor oluşturmak amacıyla veya dışa aktarılan verileri düzenlemek amacıyla dosyaya aktarılabilir.
PowerShell cmdlet'leri
Cmdlet'lerin resmi tanımı şöyledir:
“PowerShell'de yönetim görevleri cmdlet'ler (komut izinleri olarak telaffuz edilir) tarafından gerçekleştirilir. Cmdlet'ler belirli bir işlemi uygulayan uzmanlaşmış.NET sınıflarıdır. Cmdlet kümeleri komut dosyalarıyla, yürütülebilir dosyalar (bağımsız uygulamalardır) veya normal.NET sınıflarının (veya WMI/COM Nesnelerinin) başlatılması yoluyla birleştirilebilir. Bunlar, Windows PowerShell sağlayıcıları aracılığıyla PowerShell çalışma zamanının kullanımına sunulan dosya sistemi veya kayıt defteri gibi farklı veri depolarındaki verilere erişilerek çalışır. ”
Şimdi cmdlet'lerin anlamını daha anlaşılır bir tanım kullanarak açıklamaya çalışalım: PowerShell cmdlet'leri “Küçük komutlardır. ”
(Sanırım PowerShell ortamında nesneleri yönetmek için kullandığımız “lets” ekinin anlamı da buydu.) “Cmdlet'ler” kavramı, PowerShell dilinin diğer betik dillerine göre benzersiz bir karakteridir.
“Cmdlet'leri” “küçük uygulama” veya “uygulamalar” (mobil cihazlarda kullandığımız uygulamalar gibi) olarak ilişkilendirebiliriz. Kullanıcı nesne sınıfı gibi nesne sınıflarının her biri, nesneyi basit ve "dostça" bir şekilde yönetmemizi sağlayan "özel" bir cmdlet kümesine sahiptir.
PowerShell ve Büyük/Küçük harfe duyarlı sorunu
PowerShell ortamı Büyük/Küçük Harfe Duyarlı olarak değerlendirilmez. Bir PowerShell cmdlet adı veya Özellik adı için büyük harf kullandığımızda bu yalnızca “Estetik” amaçlıdır.
Cmdlet’ler - Adlandırma kuralı
Cmdlet'lerin adı Kısa Çizgi ile ayrılmış iki "parçadan" oluşturulmuştur:
- Bir cmdlet adının ilk kısmı “Fiil” ile başlar, örneğin: Set, Get vb.
- Cmdlet adının ikinci kısmı Nesne Sınıfı/Türü adıdır, örneğin: Kullanıcı, Posta Kutusu, Grup vb.
- “Fiil” ve nesne adı “Kısa Çizgi” Karakteri ile “bağlanmıştır” (“Fiil” ile “Nesne” adı arasında boşluk yoktur)
1. “Fiil ” (Önek)
Çoğu zaman kullandığımız en “popüler” “fiiller” şunlardır:
- Yeni - “Yeni” önekiyle başlayan cmdlet'ler şunlar için kullanılır: yeni nesneler oluşturmak. Örneğin: yeni Office 365 kullanıcısı oluşturun.
- Set - “Set ” önekiyle başlayan cmdlet'ler şunlar için kullanılır: nesne özelliklerini güncelleme. “Güncelleme” şu şekilde uygulanabilir: nesneye yeni bir değer eklemek veya mevcut nesne özelliğini güncellemek.
- Ekle - "Ekle " önekiyle başlayan cmdlet'ler şunun için kullanılır: bir nesneye "bir şey" eklemek. Örneğin: bir dağıtım grubuna kullanıcı ekleyin, Posta Kutusuna Takma Ad ekleyin, Posta Kutusu izinleri ekleyin vb.
- Kaldır - “Kaldır” önekiyle başlayan cmdlet'ler şunlar için kullanılır: nesneleri kaldırmak veya silmek ya da bir nesneden "bir şeyi" kaldırmak. Örneğin - Office 365 kullanıcı hesaplarını kaldırın (silin) veya Posta Kutusu izinlerini kaldırın.
- Al - "Get " önekiyle başlayan PowerShell Cmdlet'leri şu amaçlarla kullanılır: bir nesneyi almak veya "getirmek". “Get” öneki özeldir çünkü “Get cmdlet”i nesnelerle ilgili bilgileri görüntülemek için kullanabiliriz veya “Get cmdlet’leri” bir PowerShell cümlesinin “ilk kısmı” olarak kullanabiliriz. PowerShell cümlesinin “sonraki bölümleri”, “Get cmdlet”ten aldığımız “giriş”e dayalı olacaktır.
2. “İsim”
“İsim” cmdlet adının ikinci kısmıdır. PowerShell dünyasında İsim, Kullanıcı, Grup, Posta Kutusu vb. gibi bir nesne sınıfının adıdır.
Nesneler ve bunlar özel cmdlet'lerdir
PowerShell dilinde, her nesnenin, özellikle bu belirli nesneyi yönetmek için oluşturulmuş "özel bir cmdlet kümesi" vardır.
Örneğin: Office 365'te bir kullanıcı nesnesini temsil eden nesne adı: MsolUser
Office 365 için PowerShell cmdlet'leri, Kullanıcı nesnesini yönetmek için kullandığımız aşağıdaki gibi özel bir "cmdlet seti" içerir:
- Get-MsolUser - Office 365 kullanıcıları hakkındaki bilgileri görüntülemek için
- Remove-MsolUser - bir kullanıcı hesabını silmek için
- New-MsolUser - yeni bir Office 365 kullanıcı hesabı oluşturmak için
Aynı prensip, Posta Kutusu nesnesi, Grup Nesnesi vb. gibi diğer tüm nesneler için uygulanır.
Get-Help cmdlet'lerini kullanma
Bu makalede, mevcut Office 365 ve Exchange Online cmdlet'lerinin yalnızca küçük bir bölümünü inceliyoruz ve kullandığımız örnekler, her cmdlet için parametrelerin ve seçeneğin yalnızca "yüzeyini" ortaya koyuyor.
Get-Help cmdlet'lerini kullanarak kullanabileceğimiz mevcut cmdlet'ler hakkında bilgi alabilir ve belirli bir cmdlet'ler hakkında bilgi alabiliriz.
Örnek 1 - Nesne sınıfı için ayarlanan cmdlet'leri görüntüleyin: MsolUser
“Nesne” ile ilgili tüm Cmdlet'lerin bir listesini almak için: MsolUser, aşağıdaki komutu kullanabiliriz:
Get-Help *MsolUser*Örnek 2 - Belirli bir cmdlet için Yardım bilgilerini görüntüleme
Belirli bir cmdlet’i (Parametreler, sözdizimi vb.) nasıl kullanabileceğimiz hakkında bilgi almak istiyorsak, ilgilendiğimiz cmdlet’in adıyla Get-Help cmdlet’lerini kullanabiliriz.
Örneğin: Get-MsolUser cmdlet'i hakkındaki yardım bilgilerini görüntülemek için aşağıdaki komutu kullanabiliriz:
Get-Help Get-MsolUserNesne Hiyerarşisi ve cmdlet adları
Vurgulamak istediğim bir başka PowerShell kavramı da "Nesne Hiyerarşisi" adını verdiğim şeydir. ” “Hiyerarşi” terimi, nesne sınıfları arasındaki “üst ve alt” ilişkiyi tanımlar.
“Nesne Hiyerarşisi” kavramını göstermek için Mailbox nesnesini inceleyelim.
Posta Kutusu nesnesi, klasörler için bir “kapsayıcı” görevi görür. Bu ilişkiyi açıklamanın bir başka yolu da şunu söylemektir: Mailbox nesnesi, klasör nesnesinin “üst öğesidir” (ya da klasörün, Mailbox nesnesinin “alt öğesi” olduğunu söyleyebiliriz).
Klasör nesnesi, "Gönderilmiş Öğeler" klasörü, "Takvim" klasörü, "Kişiler" klasörü vb. gibi ek alt klasörlerin "Üst Öğesi"dir.
Hiyerarşide “derinleşmek” istiyorsak, “Gönderilmiş Öğeler” gibi bir klasör ek klasör içerebilir ve “en alt düzey” “Posta Öğeleri” olabilir.
“Nesne Hiyerarşisi” kavramı cmdlet adları ve kullandığımız PowerShell sözdizimi ile ifade edilir.
Belirli bir kullanıcının takvim klasörünün izinleri hakkında bilgi almamız gerektiğini varsayalım. Bu amaçla kullandığımız cmdlet'ler şunlardır:
Get-MailboxFolderPermission"Cmdlet adının", "Klasör" nesnesine "Üst" olarak hizmet veren posta kutusu nesnesi ile Klasör nesnesiyle ilgili "İzinler" arasında var olan hiyerarşiyi veya "ilişkiyi" tanımladığını fark edebilirsiniz.
Kullanıcı takvimine ilişkin izin bilgilerini görüntülemek için kullandığımız PowerShell komutunun sözdizimi şöyledir:
“Get-MailboxFolderPermission” cmdlet’lerini şu amaçlarla kullanıyoruz: Bir klasöre ilişkin izin bilgilerini almak. Daha sonra kullanıcı kimliğini (örneğin John) belirliyoruz ve son olarak belirli klasör adını (örneğimizde takvim klasörü) belirliyoruz.
Klasör, nesneyi yönetmek için kullanabileceğimiz mevcut cmdlet'ler hakkında daha fazla bilgi almak istersek Get-Help cmdlet'ini aşağıdaki şekilde kullanabiliriz:
Get-Help *Folder*Ekran görüntüsünde “Klasör Nesnesi” ile ilgili tüm cmdlet'lerin bir listesini görebiliriz.
Gördüğünüz gibi, Klasör izinleri, Klasör İstatistikleri ve daha fazlası gibi Klasör nesnesinin "farklı yönlerini" yönetebiliriz.
Görebildiğimiz bir diğer ilginç gözlem, takvim klasörü için (Get-MailboxCalenderFolder) “özel” cmdlet'lerimizin olması.
Mantıksal olarak, "takvim klasörü" diğer klasörler gibi "işlem görmelidir", ancak takvim klasörü Exchange Posta Kutusu'nun önemli bir özelliği olduğundan, takvimin özellikleri hakkında bilgi almak için kullandığımız "özel" bir cmdlet'lerimiz vardır. örneğin: PublishDateRange, DetailLevel ve daha fazlası.
Borulama
“Pipeling” kavramı PowerShell dilinin “Temel taşlarından” biridir. Pipeling kavramı, birkaç parçadan oluşan İnsan cümlesine benzer. “Başlat” cümlesindeki her “Bölüm”, “Sonraki Bölüm”e gider.
Pipeling kavramını basitleştirmek için şu talimatlara bakalım: "Çırpılmış yumurta nasıl yapılır".
- Markete gidin ve bir karton yumurta alın.
- Yumurtaları kırıp tavaya dökün.
- Yumurtaları çırpın.
- Omlet hazır olduğunda omleti bir tabağa koyun.
Şimdi talimatlara tekrar bakalım:
İlk operasyon şuydu: markete gitmek. Bakkalda ekmek, şeker ve daha fazlası gibi birçok türde ürün (nesne) bulunur. Senaryomuzda yalnızca belirli bir tür nesneyle ilgileniyoruz: yumurtalar. Cümlenin ilk kısmı cümlenin bir sonraki kısmına “yol açar”.
Bir sonraki bölümde “yumurtalarla ne yapılacağına” ilişkin talimatlar yer almaktadır. Bölüm 1'in “girdisine” dayanarak bölüm 2 diyebiliriz çünkü ilk bölüm tamamlanmadıysa (Yumurtaları Almak/Almak) “Yumurtaları kırıp tavaya dökemeyiz”.
Aynı mantık cümlenin üçüncü kısmı için de geçerli (yumurtaları çırpmak), çünkü yumurtaları çırpmadan önce yumurtaları kırıp tavaya dökmemiz gerekiyor.
Belki bu en parlak örnek değildir, ancak Pipeling'in PowerShell'de çalışma şekli tam olarak budur. PowerShell ortamında, bir PowerShell cümlesi "oluşturmak" için "Pipeling"i kullanırız. PowerShell cümlesinin her bir bölümü diğer parçalardan dikey çizgi (“| ”) karakteri kullanılarak “ayrılır”.
“Boru” ismi metafor olarak seçilmiştir çünkü “boru”, A noktasından B noktasına yönlendirmek istediğimiz su (Veri) gibi “Sıvı” için bir “kap” görevi görmektedir.
“Pipe” kullandığımızda PowerShell cümlesinin ilk kısmının “içeriği”, “Pipe” üzerinden PowerShell cümlesinin ikinci kısmına yönlendirilir. İkinci bölümde, ilk bölümden gelen girdiyle "bir şeyler yapıyoruz" ve girişi (veriyi) "ek Boru" üzerinden bir sonraki bölüme "yönlendirmeye" devam edebiliyoruz vb.
PowerShell cümlesinde "parça sayısı" konusunda herhangi bir sınırlama yoktur. Yalnızca tek parça içeren (borusuz) çok basit bir PowerShell cümlesi kullanabiliriz veya birçok parçayı içeren çok karmaşık bir PowerShell cümlesi oluşturabiliriz.
"PowerShell cümlesindeki" "Pipe konsepti" örneği şu şekilde olabilir:
"Al" komutu
“Get” önekiyle başlayan PowerShell cmdlet'leri özeldir çünkü bunları iki amaç için kullanabiliriz:
1. Nesneyi alın ve nesneyle ilgili bilgileri görüntüleyin
Varsayılan olarak Get cmdlet'leri "tek başına" komut olarak kullandığımızda, Get komutu bir nesneyi Al/Getir + bir nesne hakkındaki bilgileri görüntüler.
Get komutlarının çıktısını (nesne hakkındaki bilgiyi) iki şekilde kullanabiliriz:
- Ekranda görüntüle - Varsayılan olarak, Al komutunu kullanırken nesnelerle ilgili bilgiler ekranda (PowerShell konsolu) görüntülenir.
Bilgileri dosyaya aktar - sahip olduğumuz ikinci seçenek şudur: bilgileri bir dosyaya aktarın. Bu bilgiler iki amaca hizmet edebilir:
- Raporlar: Al komutundaki bilgileri, altyapı hakkında kullanıcı sayısı, her bir kullanıcının hangi lisanslara sahip olduğu, posta kutuları hakkında bilgiler vb. gibi raporlar oluşturmak için kullanabiliriz.
- Verileri yeniden düzenleyin: Verileri düzenlemek veya "manipüle etmek" için ek yardımcı program (PowerShell'in yanında) kullanarak verileri "yeniden düzenleme" seçeneğini kullanırız.
2. Al ve ardışık düzen
Get cmdlet'lerinin ikinci kullanımı, get cmdlet'lerini PowerShell cümlesinin diğer bölümleri için "temel" görevi gören PowerShell cümlesinin ilk kısmı olarak kullanmaktır.
Bir sonraki makalede Office 365 PowerShell'i kullanmaya başlayacağız | Get-posta kutusuyla ekran görüntüsü çıktısının oynatılması | Bölüm 2#4.





















