פורסם 2015 בינואר 1210 שנים אני מנסה לעשות פעולה שיחסית אמורה להיות פשוטה אבל זה לא מצליח ואשמח לסיוע.המטרה היא להכניס למשתנה טקסט מסוים ולחש אם קיי משתמש ב-AD שנמצא שם שלו הטסט הזה.הבעיה שנתקלתי היא ש-powershell מסרב להתייחס למשתנה שלי.בפקודה שרשמתי לניסיון בלי משנה זה עובד ואני מקבל תוצאה שקיים לי משתמש כזה: (האותיות aaaaa בסוף לא קשורות זה רק שהגרשיים יהיו במקום הנכון) get-aduser -filter ' name -like "adir miller" ' aaaaaוכאשר אני מכניס את הטקסט למשתנה אני לא מקבל תוצאה אפילו שאני בטוח שיש משתמש כזה (קי קיבלתי לפי הפקודה שלמעלה)b = "adir miller" aaaaa$get-aduser -filter ' name -like "*$b*" ' aaaaa
פורסם 2015 בינואר 1210 שנים אתה משתמש בגרשיים הלא נכונים (גרשיים בודדות).$b = "*adir miller*"get-aduser -filter { name -like $b }דוגמאות נוספות פה.
פורסם 2015 בינואר 1310 שנים מחבר במקרה הזה אין הבדל בין הדרש הבודד לבין הסוגריים המסולסלים, בדקתי עם שתי האופציות.מה ששינית כאן זה את הכוכביות, בתוך המשתנה וזה לא טוב כי אני מקבל שמות בקובץ ורוצה לבדוק אותם ולמצוא את היוזר שלהם.לכן אם השם לא מלא אז אני מוסיף כוכביות כדי שיבדוק את כל המצבים שבהם יש את הטקסט מהקובץ.והבעיה היא שהוא לא מוכן לקבל את הכוכבית כתוספת למשתנה.
פורסם 2015 בינואר 1310 שנים צודק לגבי הגרשיים. עושה רושם שה-filter מקבל ביטויים בתוך סוגריים מסולסלות או גרשיים יחידות. מה לגבי:$b = "adir miller"get-aduser -filter "name -like '*$b*'"בכל מקרה גם אם זה עובד או לא, תוכל פשוט להעביר את השם למשתנה עזר שיוסיף כוכביות משני הצדדים, במקום להתעסק בכל הגועל הזה. נערך 2015 בינואר 1310 שנים על-ידי m1ke
פורסם 2015 בינואר 1310 שנים מחבר גם זה לא עבד...בכל מקרה נתת לי רעיון לגבי משתנה עזר, אמנם השתמשתי באותו משתנה ופשוט הוספתי לו את הכוכביות ככה:$b = "*" + $b + "*"ואז המשתנה כולל בתוכו כוכביות, וה-filter מקבל את המשתנה ככה בלי שאצטרך לשרשר לו טקסט.עכשיו נשאר לי לקסטם את הפלט.תודה רבה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.