1. Genel Bakış
PowerShell, .NET Framework üzerine kurulu bir komut satırı kabuğu ve ilişkili komut dosyası dilidir. Windows dünyasında kullanılan varsayılan görev otomasyonu ve yapılandırma yönetimi aracıdır. PowerShell cmdlet'i, PowerShell'de çağrılan basit bir komuttur.
Cloud Tools for PowerShell, Google Compute Engine, Google Cloud Storage, Google Cloud SQL ve Google Cloud DNS gibi Google Cloud kaynaklarına erişmek ve bunları değiştirmek için kullanılan bir cmdlet koleksiyonudur. Bu koleksiyona daha fazla kaynak eklenecektir.
PowerShell'den Google Cloud kaynaklarıyla nasıl etkileşim kuracağınızı öğrenmek için bu laboratuvarı takip edin.
Neler öğreneceksiniz?
- Cloud Tools for PowerShell'i yükleme
- Google Cloud SDK ile kimlik doğrulama
- PowerShell'den Google Compute Engine'i oluşturma ve yönetme
- PowerShell'den Google Cloud Storage'a veri yedekleme
İhtiyacınız olanlar
Bu eğitimi nasıl kullanacaksınız?
Google Cloud Platform deneyiminizi nasıl değerlendirirsiniz?
2. Kurulum ve Gereksinimler
Bu codelab için PowerShell ile etkileşim kurmak üzere bir Google Cloud projesine ihtiyacınız var. Mevcut bir projeniz varsa onu kullanabilir veya aşağıdaki adımları uygulayarak yeni bir proje oluşturabilirsiniz.
Yönlendirmesiz ortam kurulumu
Google Hesabınız (Gmail veya G Suite) yoksa hesap oluşturmanız gerekir. Google Cloud Console'da ( console.cloud.google.com) oturum açın ve yeni bir proje oluşturun:


Tüm Google Cloud Platform projelerinde benzersiz bir ad olan proje kimliğini unutmayın. Bu codelab'in ilerleyen kısımlarında PROJECT_ID olarak adlandırılacaktır.
Ardından, Google Cloud Datastore ve Cloud Storage gibi Google Cloud Platform kaynaklarını kullanmak için Google Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir.
Google Cloud Platform'un yeni kullanıcıları 300 ABD doları değerinde ücretsiz deneme sürümünden yararlanabilir. Bu codelab'i tamamlamak size birkaç dolardan fazla mal olmayacaktır. Ancak daha fazla kaynak kullanmaya karar verirseniz veya kaynakları çalışır durumda bırakırsanız bu tutar artabilir (bu belgenin sonundaki "temizleme" bölümüne bakın).
3. Kurulum
Yönlendirmesiz ortam kurulumu
PowerShell cmdlet'leri, Windows için Cloud SDK'nın bir parçası olarak sunulur. Henüz yapmadıysanız Windows için Hızlı Başlangıç Kılavuzu'nda açıklandığı gibi Windows için Google Cloud SDK'yı indirip yükleyin. Cloud SDK'yı yüklerken PowerShell seçeneğini işaretlediğinizden emin olun.

4. Kimlik doğrulama
Cloud Tools for PowerShell, Cloud SDK'da depolanan kimlik bilgilerini ve ayarları kullanır. Bu nedenle, cmdlet'leri kullanmaya başlamak için önce Cloud SDK'yı kullanarak giriş yapmanız gerekir.
Kendi hızınızda ilerleyebileceğiniz ortam kimlik doğrulaması
Google Cloud SDK Shell'i başlatın ve aşağıdaki komutu çalıştırın.
gcloud init
Google kullanıcı hesabınızı kullanarak giriş yapma seçeneğini kabul edin.
To continue, you must log in. Would you like to log in (Y/n)? Y
Tarayıcınızda, istendiğinde Google kullanıcı hesabınızda oturum açın ve Google Cloud Platform kaynaklarına erişim izni vermek için İzin ver'i tıklayın.
Komut isteminde, Sahip, Düzenleyici veya Görüntüleyici izinlerine sahip olduğunuz Cloud Platform projeleri listesinden bir proje seçin.
Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:
5. Google Cloud cmdlet'lerini PowerShell'de çalıştırma
Kimlik doğrulama işlemi tamamlandıktan sonra PowerShell'de Google Cloud cmdlet'lerini kullanmaya başlayabilirsiniz. PowerShell komut satırı kabuğunu bulup açın.

Google Cloud cmdlet'lerinin doğru şekilde yüklendiğinden emin olmak için Get-GceInstance cmdlet'ini çalıştırın. Bu komut, projenizde bulunan Compute Engine örneklerini listelemelidir.

6. Google Compute Engine örnekleri oluşturma ve yönetme
Bu bölümde, Google Compute Engine'i Google Cloud Tools for PowerShell'den oluşturup yöneteceksiniz.
Örnek yapılandırması oluşturma
Örnek oluşturmadan önce örnek yapılandırması oluşturmanız gerekir. En azından bir ad, makine türü ve önyükleme diski görüntüsü ya da önceden var olan bir önyükleme diski gerekir. Disk görüntüsü oluşturmak için Get-GceImage, yapılandırma oluşturmak için New-GceInstanceConfig simgesini kullanın.
$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
-MachineType "n1-standard-4" `
-DiskImage $disk
Bu noktada, örnek oluşturmak için kullanabileceğiniz bir yapılandırmaya sahipsiniz.
Örnek oluşturma
Yeni bir Compute Engine örneği oluşturmak için Add-GceInstance cmdlet'ini kullanın. Bir proje ve bölge belirtebilirsiniz ancak belirtilmezse parametre değerleri, mevcut etkin Cloud SDK yapılandırmanızdaki değerlere ayarlanır. Proje belirtirseniz PROJECT_ID yerine kendi proje kimliğinizi yazdığınızdan emin olun.
$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b
Örnek yönetme
Bir projenin sanal makine örneklerini almak için Get-GceInstance cmdlet'ini kullanabilirsiniz. Örnek adı projeler veya bölgeler arasında benzersiz olmayabileceğinden aramayı daraltmak için bir Proje veya Bölge parametresi belirtebilirsiniz. Cmdlet varsayılan olarak etkin Cloud SDK yapılandırmasındaki değerleri kullanır.
$instance = Get-GceInstance "my-vm-1"
Örneğinizi Set-GceInstance cmdlet'i ile oluşturduktan sonra örnek etiketlerini, diskleri, erişim yapılandırmalarını ve diğer meta verileri ayarlayabilirsiniz. Biraz meta veri ekleyin ve aşağıdaki şekilde kaldırın.
Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"
Şimdi, daha sonra örneği kaldırmak için kullanacağınız bir etiket ekleyin.
Set-GceInstance $instance -AddTag "to-be-removed"
Çeşitli cmdlet'ler kullanarak bir örneği başlatabilir, durdurabilir veya yeniden başlatabilirsiniz. Get-GceInstance cmdlet'inden döndürülen adı veya kesin türü belirlenmiş nesneyi kullanarak bir örneğe başvurabilirsiniz. Bu komutlardan bazılarını kullanarak oynayın.
Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"
Son olarak, örnekle işiniz bittiğinde Remove-GceInstance cmdlet'ini kullanarak ve daha önce belirttiğiniz etiketi sağlayarak örneği Compute Engine'den kaldırın.
Get-GceInstance -Project $project |
Where { $_.Tags.Items -contains "to-be-removed" } |
Remove-GceInstance -WhatIf
7. Verileri Google Cloud Storage'a yedekleme
Bu codelab'in bu bölümünde, Cloud Tools for PowerShell'i kullanarak yerel makinenizdeki verileri Google Cloud Storage'a yedekleyeceksiniz.
Paket oluşturma
Cloud Storage'a dosya yüklemeden önce bir paket oluşturmanız gerekir. Yeni bir paket oluşturmak için New-GcsBucket cmdlet'ini kullanın.
$bucket = "my-gcs-bucket"
New-GcsBucket $bucket
Pakete dosya yükleme
Dosya veya klasörlerin tamamını pakete yüklemek için New-GcsObject komutunu kullanabilirsiniz.
-File parametresini kullanarak ve bir dosya yolu belirterek yerel bir dosyanın içeriğini Cloud Storage'a yükleyebilirsiniz. Alternatif olarak, nesnenin içeriğini PowerShell ardışık düzeni üzerinden dize olarak iletebilir veya -Value parametresini kullanabilirsiniz.
Makinenizde yerel bir dosya seçin ve aşağıdaki şekilde bucket'ınıza yükleyin.
New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"
-UploadFolder parametresini kullanarak ve klasör yolunu belirterek yerel diskteki bir dizinin tamamını Cloud Storage'a yükleyebilirsiniz. Klasörün doğrudan Cloud Storage paketinin köküne yüklenmesini istemiyorsanız yüklenen her nesneye uygulanacak bir önek belirtmek için -ObjectNamePrefix kullanın.
Makinenizde yerel bir klasör seçin ve aşağıdaki şekilde paketinize yükleyin.
New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"
Arama ağı verileri
Verileri cmdlet'lerle veya sağlayıcı aracılığıyla ortak dosya arama cmdlet'leriyle arayabilirsiniz. Paketinizle aşağıdaki komutu deneyin.
Get-GcsObject $bucket | Select Name, Size | Out-GridView
Ad ve boyutu içeren bir ızgara pop-up'ı görürsünüz.

Verileri okuma
Verileri okumak için Read-GcsObject cmdlet'ini kullanabilirsiniz. Örneğin, hello.txt adlı bir dosyayı masaüstünüze okumak için aşağıdaki komutu kullanabilirsiniz.
Read-GcsObject $bucket "hello.txt" `
-OutFile "$Env:UserProfile\Desktop\hello.txt"
Verileri silme
Son olarak, Remove-GcsObject cmdlet'ini kullanarak verileri silebilirsiniz. Paketin tüm içeriğini silmek için aşağıdaki komutu kullanın.
Get-GcsObject $bucket | Remove-GcsObject
8. Tebrikler!
Bu codelab'de, Compute Engine örneklerini ve Cloud Storage paketlerini PowerShell'den nasıl yöneteceğinizi öğrendiniz. Ancak, daha fazlası var. Ayrıca PowerShell'i kullanarak Cloud SQL ve Cloud CDN kaynaklarını da yönetebilirsiniz. Daha fazla bilgi edinmek için aşağıdaki sonraki adımlar listesine göz atın.
İşlediğimiz konular
- Cloud Tools for PowerShell'i yükleme
- Google Cloud SDK ile kimlik doğrulama
- PowerShell'den Google Compute Engine'i oluşturma ve yönetme
- PowerShell'den Google Cloud Storage'a veri yedekleme
Sonraki Adımlar
- Cloud Tools for PowerShell hakkında daha fazla bilgi edinin.
- Google Cloud Platform'da Windows hakkında daha fazla bilgi edinin.
- Google Cloud Platform'da.NET hakkında daha fazla bilgi edinin.
- Google Cloud Platform'da SQL Server hakkında daha fazla bilgi edinin.
- Cloud Tools for Visual Studio hakkında daha fazla bilgi edinin.