1. Przegląd
PowerShell to powłoka wiersza poleceń i powiązany z nią język skryptowy oparty na platformie .NET Framework. Jest to domyślne narzędzie do automatyzacji zadań i zarządzania konfiguracją w systemie Windows. Cmdlet PowerShell to lekkie polecenie wywoływane w PowerShell.
Cloud Tools for PowerShell to zbiór poleceń cmdlet do uzyskiwania dostępu do zasobów Google Cloud, takich jak Google Compute Engine, Google Cloud Storage, Google Cloud SQL i Google Cloud DNS, oraz manipulowania nimi. W przyszłości dodamy kolejne usługi.
W tym module dowiesz się, jak korzystać z zasobów Google Cloud w PowerShellu.
Czego się nauczysz
- Jak zainstalować Cloud Tools for PowerShell.
- Jak uwierzytelniać się za pomocą pakietu SDK Google Cloud.
- Jak tworzyć zasoby Google Compute Engine i nimi zarządzać za pomocą PowerShell.
- Jak utworzyć kopię zapasową danych w Google Cloud Storage za pomocą PowerShell.
Czego potrzebujesz
Jak zamierzasz korzystać z tego samouczka?
Jak oceniasz korzystanie z Google Cloud Platform?
2. Konfiguracja i wymagania
Aby korzystać z tego Codelabs, musisz mieć projekt Google Cloud. Jeśli masz już projekt, możesz go użyć lub utworzyć nowy, wykonując te czynności.
Samodzielne konfigurowanie środowiska
Jeśli nie masz jeszcze konta Google (Gmail lub G Suite), musisz je utworzyć. Zaloguj się w konsoli Google Cloud ( console.cloud.google.com) i utwórz nowy projekt:


Zapamiętaj identyfikator projektu, czyli unikalną nazwę w ramach wszystkich projektów Google Cloud Platform. W dalszej części tego laboratorium będzie on nazywany PROJECT_ID.
Następnie musisz włączyć płatności w konsoli Google Cloud, aby korzystać z zasobów Google Cloud Platform, takich jak Google Cloud Datastore i Cloud Storage.
Nowi użytkownicy Google Cloud Platform mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD. Wykonanie tego samouczka nie powinno kosztować więcej niż kilka dolarów, ale może okazać się droższe, jeśli zdecydujesz się wykorzystać więcej zasobów lub pozostawisz je uruchomione (patrz sekcja „Czyszczenie” na końcu tego dokumentu).
3. Instalacja
Samodzielne konfigurowanie środowiska
Polecenia cmdlet PowerShell są częścią pakietu SDK Cloud dla Windows. Jeśli jeszcze tego nie zrobiono, pobierz i zainstaluj pakiet SDK Google Cloud dla systemu Windows zgodnie z opisem w przewodniku Szybki start dla systemu Windows. Podczas instalacji (pakietu) SDK Cloud upewnij się, że opcja PowerShell jest zaznaczona.

4. Uwierzytelnianie
Cloud Tools for PowerShell korzysta z danych logowania i ustawień przechowywanych w pakiecie Cloud SDK. Aby zacząć korzystać z tych poleceń cmdlet, musisz najpierw zalogować się za pomocą pakietu SDK Cloud.
Uwierzytelnianie w środowisku samodzielnej nauki
Uruchom powłokę Google Cloud SDK i wykonaj to polecenie.
gcloud init
Zaakceptuj opcję logowania za pomocą konta użytkownika Google.
To continue, you must log in. Would you like to log in (Y/n)? Y
W przeglądarce zaloguj się na konto użytkownika Google, gdy pojawi się odpowiednia prośba, i kliknij Zezwól, aby przyznać uprawnienia dostępu do zasobów Google Cloud Platform.
W wierszu poleceń wybierz projekt Cloud Platform z listy projektów, w których masz uprawnienia Właściciela, Edytującego lub Przeglądającego.
Pick a cloud project to use:
[1] [my-project-1]
[2] [my-project-2]
...
Please enter your numeric choice:
5. Uruchamianie cmdletów Google Cloud w PowerShell
Po uwierzytelnieniu możesz używać cmdletów Google Cloud w PowerShellu. Znajdź i otwórz powłokę wiersza poleceń PowerShell.

Aby sprawdzić, czy cmdlets Google Cloud są prawidłowo zainstalowane, uruchom cmdlet Get-GceInstance. Powinna się na niej wyświetlić lista instancji Compute Engine w projekcie.

6. Tworzenie instancji Google Compute Engine i zarządzanie nimi
W tej sekcji utworzysz Google Compute Engine i będziesz nim zarządzać w Google Cloud Tools for PowerShell.
Tworzenie konfiguracji instancji
Przed utworzeniem instancji musisz najpierw utworzyć jej konfigurację. Wymaga to co najmniej nazwy, typu maszyny oraz obrazu dysku rozruchowego lub istniejącego dysku rozruchowego. Użyj polecenia Get-GceImage, aby utworzyć obraz dysku, a polecenia New-GceInstanceConfig, aby utworzyć konfigurację.
$disk = Get-GceImage "windows-cloud" -Family "windows-2012-r2"
$config = New-GceInstanceConfig "my-vm-1" `
-MachineType "n1-standard-4" `
-DiskImage $disk
W tym momencie masz już konfigurację, której możesz użyć do utworzenia instancji.
Tworzenie instancji
Aby utworzyć nową instancję Compute Engine, użyj polecenia cmdlet Add-GceInstance. Możesz określić projekt i strefę, ale jeśli to zrobisz, wartości parametrów będą domyślnie odpowiadać wartościom w bieżącej aktywnej konfiguracji Cloud SDK. Jeśli podasz projekt, zastąp PROJECT_ID identyfikatorem swojego projektu.
$config | Add-GceInstance -Project PROJECT_ID -Zone europe-west1-b
Zarządzanie instancją
Za pomocą polecenia cmdlet Get-GceInstance możesz pobrać instancje maszyn wirtualnych projektu. Nazwa instancji może nie być unikalna w projektach ani strefach, więc możesz zawęzić wyszukiwanie, podając parametr Project (Projekt) lub Zone (Strefa). Domyślnie to polecenie cmdlet używa wartości z aktywnej konfiguracji Cloud SDK.
$instance = Get-GceInstance "my-vm-1"
Po utworzeniu instancji za pomocą polecenia cmdlet Set-GceInstance możesz ustawić tagi instancji, dyski, konfiguracje dostępu i inne metadane. Dodaj metadane, a potem usuń je w ten sposób:
Set-GceInstance $instance -AddMetadata @{"newKey" = "newValue"}
Set-GceInstance $instance -RemoveMetadata "newKey"
Set-GceInstance $instance -RemoveTag "beta" -AddTag "alpha"
Teraz dodaj tag, którego użyjesz później do usunięcia instancji.
Set-GceInstance $instance -AddTag "to-be-removed"
Możesz uruchamiać, zatrzymywać i ponownie uruchamiać instancję za pomocą różnych poleceń cmdlet. Do instancji możesz odwoływać się za pomocą nazwy lub obiektu o ściśle określonym typie zwróconego przez polecenie cmdlet Get-GceInstance. Wypróbuj niektóre z tych poleceń.
Stop-GceInstance $instance
Start-GceInstance $instance
Restart-GceInstance "my-vm-1"
Na koniec, gdy skończysz korzystać z instancji, usuń ją z Compute Engine za pomocą polecenia cmdlet Remove-GceInstance i podaj tag, który został określony wcześniej.
Get-GceInstance -Project $project |
Where { $_.Tags.Items -contains "to-be-removed" } |
Remove-GceInstance -WhatIf
7. Tworzenie kopii zapasowych danych w Google Cloud Storage
W tej części laboratorium dowiesz się, jak utworzyć kopię zapasową danych z komputera lokalnego w Google Cloud Storage za pomocą Cloud Tools for PowerShell.
Utwórz zasobnik
Zanim prześlesz pliki do Cloud Storage, musisz utworzyć zasobnik. Aby utworzyć nowy zasobnik, użyj polecenia cmdlet New-GcsBucket.
$bucket = "my-gcs-bucket"
New-GcsBucket $bucket
Przesyłanie plików do zasobnika
Możesz użyć ikony New-GcsObject, aby przesłać plik lub całe foldery do zasobnika.
Możesz przesłać zawartość pliku lokalnego do Cloud Storage, używając parametru -File i określając ścieżkę do pliku. Możesz też przekazać zawartość obiektu jako ciąg znaków za pomocą potoku PowerShell lub użyć parametru -Value.
Wybierz plik lokalny na komputerze i prześlij go do zasobnika w ten sposób:
New-GcsObject -Bucket "my-gcs-bucket" -File "C:\path\to\some\file\hello.txt"
Możesz przesłać cały katalog z dysku lokalnego do Cloud Storage, używając parametru -UploadFolder i podając ścieżkę do folderu. Jeśli nie chcesz, aby folder został przesłany bezpośrednio do poziomu głównego zasobnika Cloud Storage, użyj -ObjectNamePrefix, aby określić prefiks, który zostanie zastosowany do każdego przesłanego obiektu.
Wybierz folder lokalny na komputerze i prześlij go do zasobnika w ten sposób:
New-GcsObject -Bucket "my-gcs-bucket" -Folder "C:\path\to\some\folder"
Dane wyszukiwania
Dane możesz wyszukiwać za pomocą cmdletów lub dostawcy za pomocą typowych cmdletów wyszukiwania plików. Wypróbuj to polecenie w przypadku swojego zasobnika.
Get-GcsObject $bucket | Select Name, Size | Out-GridView
Powinno się pojawić wyskakujące okienko z siatką, w której będą widoczne nazwa i rozmiar.

Odczytywanie danych
Do odczytywania danych możesz użyć polecenia cmdlet Read-GcsObject. Na przykład za pomocą tego polecenia możesz odczytać plik o nazwie hello.txt na pulpicie.
Read-GcsObject $bucket "hello.txt" `
-OutFile "$Env:UserProfile\Desktop\hello.txt"
Usuwanie danych
Na koniec możesz usunąć dane za pomocą polecenia cmdlet Remove-GcsObject. Aby usunąć całą zawartość zasobnika, użyj tego polecenia.
Get-GcsObject $bucket | Remove-GcsObject
8. Gratulacje!
Z tego modułu dowiesz się, jak zarządzać instancjami Compute Engine i zasobnikami Cloud Storage z poziomu programu PowerShell. To jednak nie wszystko. Zasobami Cloud SQL i Cloud CDN możesz też zarządzać za pomocą programu PowerShell. Aby dowiedzieć się więcej, zapoznaj się z listą kolejnych kroków poniżej.
Omówione zagadnienia
- Jak zainstalować Cloud Tools for PowerShell.
- Jak uwierzytelniać się za pomocą pakietu SDK Google Cloud.
- Jak tworzyć zasoby Google Compute Engine i nimi zarządzać za pomocą PowerShell.
- Jak utworzyć kopię zapasową danych w Google Cloud Storage za pomocą PowerShell.
Następne kroki
- Dowiedz się więcej o Cloud Tools for PowerShell.
- Dowiedz się więcej o Windows w Google Cloud Platform.
- Dowiedz się więcej o .NET w Google Cloud Platform.
- Dowiedz się więcej o SQL Server na Google Cloud Platform.
- Dowiedz się więcej o Cloud Tools for Visual Studio.