PowerShell kullanarak E-posta adresleri ekleme - CSV dosyasından içe aktar | Toplu mod | Ofis 365 | Bölüm 5#13
Mevcut makalede, CSV dosyasında depolanan bilgileri içe aktararak Exchange alıcısının E-posta adresini eklemek ve güncellemek için PowerShell'i kullanma şeklimizi gözden geçiriyoruz.
CSV dosyasını kullanarak E-posta adresini yönetin | Toplu mod
Bir sonraki bölümde, bilgileri bir CSV dosyasından içe aktararak E-posta adresi eklemek gibi "E-posta adresi" görevini yönetme görevini uyguladığımız birkaç senaryoyu inceleyeceğiz.
CSV dosyası, verileri tutan bir "mantıksal kap" görevi görür.
Senaryomuzda CSV, Office 365 kullanıcıları ve Exchange alıcılarına eklemek istediğimiz E-posta adresleri hakkındaki verileri tutan bir kapsayıcı görevi görür.
Senaryomuzda kullandığımız CSV dosyasının yapısı
CSV dosyasındaki sütunların her birinde Başlık adı bulunur.
Belirli bir sütunda depolanan bilgileri adreslememiz gerektiğinde, PowerShell komutuna belirli sütun başlığının adını sağlarız.
Aşağıdaki ekran görüntüsünde gösterimimizde kullandığımız bir CSV dosyası örneğini görebiliriz.
Teknik açıdan konuşursak, CSV dosyası yalnızca bir Metin dosyasıdır ve dosya içeriğini düzenlemek için basit bir metin düzenleyici kullanabiliriz.
Çoğu zaman CSV dosyasını düzenlemek için Microsoft Excel gibi başka bir uygulama kullanırız çünkü verileri Excel kullanarak düzenlemek daha da rahattır.
Aşağıdaki ekran görüntüsünde Excel'de açılan CSV dosyasının bir örneğini görebiliriz.
CSV dosyası üç sütun içerir:
- - Alıcı (sayı 1) adlı sütun “alıcımızın kimliğini” içerir. Teknik açıdan konuşursak, "alıcı kimliğini" tanımlamak için çeşitli alıcı özelliklerini kullanabiliriz.
Örneğin, alıcının Takma adı, alıcının E-posta adresi, alıcının Görünen adı ve daha fazlası. Özel örneğimizde, alıcı kimliği olarak Alıcının “Görünen adı”nı kullanıyoruz. - - BirincilE-posta (sayı 2) adlı sütun, “Birincil E-posta adresi” olarak ayarlamak istediğimiz bir kullanıcı E-posta adresini içerir. .”
- - AliasEmail (sayı 3) adlı sütun,
“Takma Ad E” olarak ayarlamak istediğimiz bir kullanıcı E-posta adresini içerir. -posta adresi."
CSV dosyası sütun başlığı adları
CSV dosyası kullanırken ihtiyaçlarımıza uygun herhangi bir sütun başlığı adını "seçebiliriz".
Anlamlı bir sütun başlığı adı seçmeniz ve boşluk kullanmamanız önerilir.
Bir CSV dosyasından bilgileri içe aktarın
Çoğu zaman, PowerShell komutunun Import-CSV içeriğini içeren bir değişken tanımlayarak CSV dosyasında depolanan bilgileri "getiririz".
Örneğimizde, içe aktardığımız CSV dosyasının içeriğini "içerecek" $Recipients adında bir değişken tanımlıyoruz.
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csvBir CSV dosyasından bilgileri dışa aktarın
"Bilgileri CSV dosyasından içe aktarma" işlemi, gerekli bilgileri bir CSV dosyasına aktardığımız bir ön adıma dayanmaktadır. Bilgileri çeşitli dosya formatlarına aktarmak için kullandığımız PowerShell sözdiziminin süreci hakkında daha fazla bilgiyi makalelerde okuyabilirsiniz - PowerShell kullanarak E-posta adresleriyle ilgili bilgileri dışa aktarma ve görüntüleme | Ofis 365 | Bölüm 6#13
“Dosyaya aktardığımız bilgiler nelerdir” konusuna ilişkin - PowerShell Kullanarak E-Posta Adresleriyle İlgili Bilgileri Görüntüleme | Çıktıyı Karma Tablo ve Özel ifadeler kullanarak özelleştirme | Ofis 365 | Bölüm 7#13
1. CSV dosyasından bilgileri içe aktararak Birincil + Proxy E-posta adresini güncelleyin | Toplu mod
Bir sonraki örnekte aşağıdaki gereksinimleri karşılamamız gerekiyor:
- Mevcut birincil E-posta adresini CSV dosyasında saklanan YENİ Birincil E-posta adresiyle değiştirin (kaldırın).
- Mevcut Takma Ad E-postasını CSV dosyasında saklanan YENİ Takma Ad E-posta adresiyle değiştirin (kaldırın).
CSV dosyasının, zaten E-posta adresleri olan Exchange Online alıcılarının adını içerdiği bir senaryoda, “içe aktarma işleminin” gerçekleştiğini vurgulamak önemlidir. CSV dosyasındaki "" mevcut
E-posta adresini şu şekilde etkileyecektir:
- Mevcut Exchange Online alıcısı Birincil E-posta adresi, Proxy E-posta adresi olarak kaydedilecektir.
- CSV dosyasındaki “birincil E-posta adresi” mevcut birincil E-posta adresinin yerine geçecektir.
- Mevcut herhangi bir Proxy E-posta adresi “kaldırılacaktır” (silinecektir).
Bu “PowerShell mantığı” konusunda kafanızın karıştığını düşünüyorsanız lütfen -
Mevcut E-posta adresini YENİ E-posta adresiyle değiştirme bölümünü okuyun.
Bu senaryoda, mevcut E-posta adresinin "kaldırılacağını" (silineceğini) ve CSV dosyasında şu sütunların altında görünen E-posta adresiyle değiştirileceğini unutmayın: PrimaryEmail ve Takma AdE-posta.
Örneğimizde PowerShell'den her alıcı için iki E-posta adresi ayarlamasını istiyoruz.
- İlk E-posta adresi ” - $Mailbox.PrimaryEmail olarak tanımlanır ve PowerShell tarafından birincil E-posta adresi olarak "işlenir".
- “İkinci E-posta adresi” - $Mailbox.AliasEmail olarak tanımlanır ve PowerShell tarafından Takma Ad E-posta adresi olarak "işlenir".
Kısa bir hatırlatma: PowerShell, Birinci E-posta adresini birincil E-posta adresi olarak ve geri kalan tüm E-posta adreslerini - Takma Ad (Proxy) E-posta adresleri olarak ilişkilendirecektir.
Örneklerimizde kullandığımız PowerShell komutunun sözdizimi şöyledir:
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients)
{
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses $Mailbox.PrimaryEmail,$Mailbox.AliasEmail #-WhatIf
}2. CSV dosyasından bilgileri içe aktararak Birincil + Proxy E-posta adresini güncelleyin | Mevcut alıcı E-posta adreslerini koruyun | Toplu mod
Bir sonraki örnekte aşağıdaki gereksinimleri karşılamamız gerekiyor:
- Mevcut Birincil E-posta adresini CSV dosyasında saklanan YENİ Birincil E-posta adresiyle değiştirin (kaldırın).
- CSV dosyasından YENİ Takma Ad E-posta adresini ekleyin. YENİ E-posta adresi, mevcut alıcı E-posta adresine ek bir E-posta adresi olarak eklenecektir.
Önceki senaryoya kıyasla, alıcının zaten sahip olduğu mevcut Takma Ad E-posta adreslerini kaldırmak istemediğimize dikkat edin. Bunun yerine, alıcı E-posta adreslerinin mevcut “dizisine” ek bir E-posta adresi eklemek istiyoruz.
1. Adım: Exchange Online alıcısı hakkındaki bilgiler + CSV dosyasında saklanan ek E-posta adresleri.
$Recipients adlı değişkeni şununla dolduracağız: CSV dosyasında depolanan bilgileri Import-CSV PowerShell komutunu kullanarak aktarın.
Örneğimizde, Alias E-posta adresiyle ilgili bilgiler AliasEmail başlık adını taşıyan bir sütuna kaydedilir.
2. Adım: Bu adımda, PowerShell'den görünen her alıcı için mevcut "E-posta adresleri dizisine" ek bir E-posta adresi (Takma Ad E-posta adresi) eklemesini istiyoruz. CSV dosyasında @{Ekle yöntemini kullanarak.
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients)
{
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{Add=$Mailbox.AliasEmail} # -WhatIf
}3. CSV dosyasından bilgileri içe aktararak birden fazla Proxy E-posta adresi ekleyin | Toplu mod
Bir sonraki senaryoda, alıcılarımıza CSV dosyasında saklanan ek Proxy E-posta adreslerini eklememiz gerekiyor.
- CSV dosyası, Proxy E-posta adreslerini - “AliasEmail ” adlı bir sütunda saklar.
- Alıcıların adı - “Alıcı” adlı bir sütunda saklanır.
Aşağıdaki ekran görüntüsünde CSV dosyasının yapısını görebiliyoruz.
“AliasEmail ” sütunu, noktalı virgül ; karakteriyle ayrılmış birden fazla E-posta adresi içerir.
AliasEmail adlı sütunda saklanan E-posta adreslerinin her birini getirecek ve bunları alıcıya Proxy E-posta adresi olarak ekleyecek bir PowerShell komutu kullanmamız gerekiyor.
PowerShell komutuna AliasEmail'deki bilgilerin noktalı virgül ; karakteriyle ayrılmış birden çok değer içerdiğini "söyleyebilmek" için PowerShell parametresi -split'i kullanırız .
Kullandığımız PowerShell komutunun sözdizimi şöyledir:
Import-Csv C:\temp\Recipient-Proxy-E-mail-addresses.csv | ForEach-Object{
$Recipient = $_.Recipient
$ProxyAddresses = $_.AliasEmail -split ';'
Set-Mailbox -Identity $Recipient -EmailAddresses @{add= $ProxyAddresses}
}Güncel makale serisinin bir sonraki makalesi
PowerShell kullanarak E-posta adresleriyle ilgili bilgileri dışa aktarın ve görüntüleyin | Ofis 365 | Bölüm 6#13


