Tworzenie i zapisywanie skryptów w programie Azure PowerShell

Ukończone

Złożone lub powtarzające się zadania często zajmują większość czasu przeznaczanego na administrację. Organizacje wolą automatyzować te zadania w celu zmniejszenia kosztów i uniknięcia błędów.

Automatyzacja jest ważna w przykładzie firmy zarządzanie relacjami z klientami (CRM). W tym miejscu testujesz oprogramowanie na wielu maszynach wirtualnych z systemem Linux, które należy stale usuwać i ponownie tworzyć. Chcesz użyć skryptu programu PowerShell, aby zautomatyzować tworzenie maszyn wirtualnych i tworzyć je ręcznie za każdym razem.

Poza podstawową operacją tworzenia maszyny wirtualnej masz jeszcze kilka wymagań dotyczących skryptu:

  • Utworzysz wiele maszyn wirtualnych, więc chcesz umieścić tworzenie wewnątrz pętli.
  • Należy utworzyć maszyny wirtualne w trzech różnych grupach zasobów, więc nazwa grupy zasobów powinna zostać przekazana do skryptu jako parametr.

W tej sekcji dowiesz się, jak napisać i wykonać skrypt programu Azure PowerShell spełniający te wymagania.

Co to jest skrypt programu PowerShell?

Skrypt programu PowerShell jest plikiem tekstowym zawierającym polecenia i konstrukcje kontrolne. Polecenia są wywołaniami poleceń cmdlet. Konstrukcje kontrolek to funkcje programowania, takie jak pętle, zmienne, parametry, komentarze itd. dostarczane przez program PowerShell.

Pliki skryptów programu PowerShell mają .ps1 rozszerzenie pliku. Te pliki można tworzyć i zapisywać za pomocą dowolnego edytora tekstów.

Napiwek

Jeśli piszesz skrypty programu PowerShell w systemie Windows, możesz użyć zintegrowanego środowiska skryptów programu Windows PowerShell (ISE). Ten edytor udostępnia przydatne funkcje, takie jak kolorowanie składni oraz lista dostępnych poleceń cmdlet.

Poniższy zrzut ekranu przedstawia środowisko Windows PowerShell Integrated Scripting Environment (ISE) z przykładowym skryptem umożliwiającym połączenie z platformą Azure i utworzenie maszyny wirtualnej na platformie Azure.

Screenshot of the Windows PowerShell Integrated Scripting Environment with a script to create a virtual machine open in the editing window.

Po napisaniu skryptu wykonaj go z wiersza polecenia programu PowerShell, przekazując nazwę pliku poprzedzonego kropką i ukośnikiem odwrotnym:

.\myScript.ps1

Techniki programu PowerShell

Program PowerShell ma wiele funkcji, które można znaleźć w typowych językach programowania. Można definiować zmienne, używać gałęzi i pętli, przechwytywać parametry wiersza polecenia, pisać funkcje, dodawać komentarze i tak dalej. Będziemy potrzebować trzech funkcji dla naszego skryptu: zmiennych, pętli i parametrów.

Zmienne

W poprzedniej lekcji pokazano, że program PowerShell obsługuje zmienne. Użyj znaku $, aby zadeklarować zmienną, i znaku =, aby przypisać do niej wartość. Na przykład:

$loc = "East US"
$iterations = 3

Zmienne mogą przechowywać obiekty. Na przykład następująca definicja ustawia zmienną adminCredential na obiekt zwrócony przez polecenie cmdlet Get-Credential.

$adminCredential = Get-Credential

Aby uzyskać wartość przechowywaną w zmiennej, użyj prefiksu $ i jego nazwy, jak pokazano poniżej:

$loc = "East US"
New-AzResourceGroup -Name "MyResourceGroup" -Location $loc

Pętle

Program PowerShell ma kilka struktur pętli, w tym For, Do...Whilei For...Each. Pętla For jest najlepszym dopasowaniem do naszych potrzeb, ponieważ wykonamy polecenie cmdlet o stałej liczbie razy.

W poniższym przykładzie przedstawiono podstawową składnię. Przykład jest uruchamiany dla dwóch iteracji i drukuje wartość i za każdym razem. Operatory porównania są pisane -lt jako "mniejsze niż" -le , dla "mniejsze niż lub równe" -eq , dla "równe" -ne , "nie równe", itp.

For ($i = 1; $i -lt 3; $i++)
{
    $i
}

Parametry

Podczas wykonywania skryptu można przekazywać argumenty w wierszu polecenia. Aby ułatwić wyodrębnianie wartości przez skrypt, można nadać nazwy poszczególnym parametrom. Na przykład:

.\setupEnvironment.ps1 -size 5 -location "East US"

Wewnątrz skryptu przechwycisz wartości do zmiennych. W tym przykładzie parametry są dopasowywane według nazwy:

param([string]$location, [int]$size)

Możesz pominąć nazwy z wiersza polecenia. Na przykład:

.\setupEnvironment.ps1 5 "East US"

Wewnątrz skryptu będziesz polegać na pozycji do dopasowywania, gdy parametry są nienazwane:

param([int]$size, [string]$location)

Możemy użyć tych parametrów jako danych wejściowych i użyć pętli, aby utworzyć zestaw maszyn wirtualnych z podanych parametrów. Spróbujemy to zrobić następnym razem.

Kombinacja funkcji programów PowerShell i Azure PowerShell zapewnia wszystkie narzędzia potrzebne do automatyzacji platformy Azure. W naszym przykładzie crm będziemy mogli utworzyć wiele maszyn wirtualnych z systemem Linux przy użyciu parametru , aby zachować ogólny skrypt i pętlę, aby uniknąć powtarzanego kodu. Ten skrypt umożliwia wykonanie wcześniej złożonej operacji w jednym kroku.