התחברות למכונות וירטואליות של Windows באמצעות PowerShell

במאמר הזה מתואר איך להתחבר למכונה וירטואלית (VM) של Windows באמצעות PowerShell.

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל.

התחברות באמצעות PowerShell

אם יש לכם תחנת עבודה של Windows עם PowerShell, אתם יכולים להתחבר למופעים של Windows Server דרך סשן PowerShell מרוחק.

  1. אם עדיין לא יצרתם שם משתמש וסיסמה במופע המרוחק של Windows, צריך ליצור או לאפס את הסיסמה של Windows.

  2. מוסיפים כלל של חומת האש שפותח את הפורט 5986 בGoogle Cloud רשת ה-VPC שבה נמצאת מכונת Windows Server.

  3. בתחנת העבודה המקומית, פותחים את הטרמינל של PowerShell.

  4. אופציונלי: אפשר להפעיל משתנה שיכיל את פרטי הכניסה של המשתמש, כדי שלא תצטרכו להזין אותם בכל פעם שאתם מתחברים למכונה. אם מדלגים על השלב הזה, בהמשך תופיע בקשה להזין את שם המשתמש והסיסמה.

    $credentials = Get-Credential
    
  5. בוחרים אם רוצים להפעיל סשן אינטראקטיבי של PowerShell או להפעיל פקודות ב-VM של Windows Server מרחוק.

התחלת סשן אינטראקטיבי של PowerShell

כדי ליצור סשן של PowerShell, מריצים את הפקודה הבאה:

Enter-PSSession -ComputerName IP_ADDRESS -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

מחליפים את IP_ADDRESS בכתובת ה-IP החיצונית, בשם ה-DNS או בשם של מחשב Windows של המכונה שאליה רוצים להתחבר.

אחרי שמתחברים, שורת הפקודה משתנה וכוללת את כתובת ה-IP של מופע Windows המרוחק. עכשיו אפשר להשתמש בטרמינל כדי להריץ פקודות PowerShell במופע של Windows Server מרוחק.

הפעלת פקודות במכונה וירטואלית של Windows Server מרחוק

במקום הפקודה Enter-PSSession, אתם יכולים להריץ את Invoke-Command עם הדגל -ScriptBlock כדי להריץ פקודות PowerShell במכונה המרוחקת בלי ליצור סשן אינטראקטיבי.

Invoke-Command -ComputerName IP_ADDRESS -ScriptBlock { SCRIPT } -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials

מחליפים את מה שכתוב בשדות הבאים:

  • ‫IP_ADDRESS: כתובת ה-IP, שם ה-DNS או שם המחשב עם Windows של המכונה שאליה רוצים להתחבר.
  • ‫SCRIPT: פקודה אחת או יותר להרצה במכונה המרוחקת. לדוגמה, מציינים את Get-EventLog -log "Windows PowerShell" כדי לקבל רשימה של אירועים ביומן.

המאמרים הבאים