שימוש בפקודת הסקריפט PowerShell Read-Host, תוכלו לבקש אינפוט באופן אינטראקטיבי מהמשתמש בסקריפט. בואו נכיר מספר יישומים בעולם האמיתי על איך אנו יכולים להשתמש בפקודת ה- PowerShell Read-Host.
בקשת אינפוט עם הפקודת Read-Host
הפקודת Read-Host בוצעת שתי פעולות בסקריפט PowerShell; היא משהה את הריצה ומקבלת קלט. זהו. Read-Host היא פקודה פשוטה אך מועילה כאשר נדרש לקבל מידע מהמשתמש בסקריפט.
ברמת היסוד, פקודת ה- Read-Host מחייבת פשוט שימוש בפרמטר ה- Prompt. פרמטר זה מאפשר לך לתת למשתמש בסקריפט אינדיקציה מסוימת לגבי מה להכניס. לדוגמה, אם הסקריפט שלך מחייב שם שרת, ייתכן שתבחר להשתמש ב- Read-Host כדי לבקש מהמשתמש להכניס את זה כאשר הסקריפט מתבצע.
ניתן לראות למטה שעל ידי ביצוע של Read-Host בקונסולת ה- PowerShell עצמה באמצעות הפרמטר ה- Prompt, PowerShell משהה את כל הריצה ומציגה את ההודעה שלי, נותן למשתמש הסבר לגבי מה שאנו מחפשים.

בואו נשלב זאת לתוך סקריפט. כאשר משתמש מזין מידע בהוראה, Read-Host מחזירה את המידע הזה חזרה לקוד שלך. תוכלו בקלות לכופה את המידע הזה על ידי הקצאה למשתנה. אולי אני רוצה לשאול לשם שרת ואז לעשות משהו עם השם שרת הזה. אחרת, יתכן שאני רוצה לשלוח אזהרה למשתמש ולהסביר להם שאני ממש, ממש צריך את שם השרת ההוא.
מבוסס על בניית משפט if/then פשוטה, אני יכול לוודא שהמשתמש שלי מזין שם של שרת. פעם שהם עושים זאת, אני יכול ללכוד את זה ולעשות משהו איתו. אחרת, אני שולח הודעת אזהרה.

בקשה לסיסמאות
עליך לדעת שזה לא רעיון טוב לאחסן סיסמאות בטקסט פשוט בסקריפטים שלך. באופן דומה, זה אף פעם לא רעיון טוב לאחסן סיסמאות בטקסט פשוט בזיכרון. כדי להתמודד עם זה, יש בפוורשל מושג הנקרא מחרוזת מאובטחת, שהיא מחרוזת פשוטה שהוא מוצפן.
A secure string can any kind of sensitive information; a password is a great example. What does this have to do with Read-Host
? The Read-Host
cmdlet has an AsSecureString
parameter which allows the user to not only store the output as a secure string but also to show asterisk while typing to hide your secret from prying eyes!
נניח שיש לי סוד עמוק ואפל שאני לא רוצה שמישהו ידע עליו אבל אני צריך להעביר את הסיסמה הזו לתוך תוכנה מסוימת. תראו למטה שכשאני לא משתמש ב-AsSecureString
, אתם יכולים לזהות אותי! אך, אם אני משתמש ב-AsSecureString
, הסוד שלי בטוח מאחר וכל תו שאני מקליד מוחלף עם כוכבית והפלט נשמר כמחרוזת מאובטחת במקום מחרוזת טקסט פשוט.

לעיון בתיעוד של Read-Host
, תוכל לבדוק את Microsoft Docs.