A common pain point in an IT administrator’s career is user profiles. User profiles are a ubiquitous part of a Windows IT pro’s life; especially those that manage virtual desktop environments like Remote Desktop Services (RDS) or Citrix. In this post, I’m going to demonstrate a way you take out your aggression by using PowerShell to delete user profiles (and discover them).
מנהלי מערכת של מערכות Windows צריכים להתמודד עם:
- הבלים של הרשומות של משתמשים נפגעות
- קבצים שצריכים להיות משותפים בכל הפרופילים של המשתמש
- להבין איך לשחזר פרופילים פגומים
- …ועוד
מה שהיה פעם חוויית געגועים, הפך להיות פחות פגוע עם PowerShell. הנה כמה דרכים שבהן PowerShell יכול לשפר את ניהול הפרופילים של משתמשי Windows.
ניהול ודיווח על Active Directory, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורד גרסת ניסיון חינם!
רישום של פרופילי משתמש
קל לזרוק מבט על פרופילי המשתמשים במערכת הקבצים במחשב Windows יחיד. פשוט בדוק בתיקייה C:\Users. אבל לא רק שאין לך תמונה מלאה כאשר אתה עושה זאת, זה גם מצריך מאמץ עקב בעיות אפשריות בגישה למערכת הקבצים. יש דרך טובה יותר וזו דרך WMI או CIM. ב-CIM, קיימת מחלקה בשם Win32_UserProfile. מחלקה זו מכילה את כל הפרופילים שקיימים במכונה והמון מידע שימושי נוסף שתיקיית מערכת הקבצים הפשוטה לא תגיד לך.
בעזרת PowerShell, ניתן לגשת למחלקה CIM זו עם פקודת Get-CimInstance
.
למטה, אני מוצא את פרופיל המשתמש הראשון במחשב המקומי. תשים לב למידע שימושי רב כמו LastUseTime
, SID
וכו'
פקודת Get-CimInstance
אינה עובדת רק באופן מקומי אלא גם מרחוק. על ידי שימוש בפרמטר ComputerName
, תוכל לציין, 1, 10 או 100 מחשבים מרוחקים שונים והיא תשאיר לך לשאול כל אחד מהם.
מחיקת פרופילי משתמש
כשאתה מבין איך לספור פרופילי משתמשים על מחשבים, תוכל לקחת את זה צעד נוסף ולמחוק גם אותם.
I can’t count how many times I’ve had to delete user profiles because something got corrupted and I just needed the user to log in again and recreate it. At one time, I would simply have the user log off and remove the C:\Users<UserName> folder from the file system. Usually it works, sometimes it didn’t. What I didn’t realize was that I was actually leaving some remnants behind.
הדרך הנכונה לעשות זאת היא להתחיל בהסרה דרך CIM.
על ידי שימוש באותו מחלקת CIM שראית עכשיו, אפשר לא רק להציג פרופילים אלא גם להסיר אותם לחלוטין. זה דומה לכניסה לתיקיית פרופילי משתמש בהגדרות המערכת וללחוץ על הכפתור מחק.

כדי לעשות זאת, ספור שוב את פרופילי המשתמש והפעם החל מסנן כדי לבחור פרופיל משתמש יחיד להסרה. במקרה זה, הסר את פרופיל המשתמש בשם UserA. ניתן לעשות זאת באמצעות פקודת Where-Object
של PowerShell וקצת עיבוד מחרוזות כפי שמוצג למטה.
כשתצליח להגביל לפרופיל יחיד, תוכל להעביר את המופע CIM הזה ל־Remove-CimInstance
cmdlet עבור כל אובייקט ש־Get-CimInstance
מחזיר. תהליך זה יסיר את פרופיל המשתמש מהמערכת הקובץ והרגיסטרי.
שוב, אם תרצה להרחיב את זה למחשבים מרובים, תשתמש פשוט בפרמטר ComputerName
ב־Get-CimInstance
.
ניהול ודיווח בנוגע ל-Directory פעיל, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורד גרסה ניסיונית חינם!
סיכום
ראית כעת דרך קלה לאפיין ולמחוק פרופילי משתמש של Windows. אם לא היית מודע למחלקת CIM Win32_UserProfile, יתכן שהיית מקשר את התיקייה C:\Users<שם משתמש> כפרופיל, אך עכשיו אתה יכול למחוק את המופע CIM של Win32_UserProfile.
רואה שיש הרבה יותר לפרופיל המשתמש מאשר פשוט תיקיית מערכת פשוטה. השתמש ב-CIM בפעם הבאה שתצטרך לשאול או למחוק פרופילי משתמש ממחשבי Windows בסביבתך.
Source:
https://adamtheautomator.com/powershell-delete-user-profile/