אולי יש לךיצר את סקריפט PowerShell הראשון שלךלחלופין, אתה מחפש לבצע אוטומציה של משימות מסוימות, כגון יצירת חשבון משתמש חדש, שמירה / העתקת קבצים, ניקוי דיסקים, ניטור דיסקים, ניהול משתמשים או אפילו ניהול תהליכים. במאמר זה תמצאו חמישה סקריפטים לדוגמה של PowerShell שתוכלו להתאים לפי הצרכים שלכם.
💡לא יודע איך ליצור סקריפט PowerShell? קרא את זה לפני שאתה מתחיל:כיצד ליצור את סקריפט PowerShell הראשון שלך
דוּגמָה1:סקריפט PowerShell de sauvegarde/ עותק קובץ
ניתן להשתמש בסקריפט זה כדי להעתיק קבצים ותיקיות ספציפיים למחשב שלך, אכונן קשיח חיצוניאו ברשת. זה יכול להיות מותאם אישית עבורגיבוי קבצי Windowsבמרווחי זמן קבועים, וניתן להפעילו באופן ידני או לתזמן לפעול באופן אוטומטי.
# Spécifiez les fichiers et dossiers à sauvegarder
$source = "C:\\\\Users\\\\Utilisateur\\\\Documents\\\\MonDossier", "C:\\\\Users\\\\Utilisateur\\\\Musique\\\\MaMusique.mp3"
# Spécifiez l'emplacement de la sauvegarde
$destination = "D:\\\\Sauvegarde"
# Créez un nouveau dossier de sauvegarde
New-Item -ItemType Directory -Path $destination -Force
# Sauvegardez les fichiers et dossiers spécifiés
Copy-Item -Path $source -Destination $destination -Recurse -Force
סקריפט זה מציין את הקבצים והתיקיות לגיבוי באמצעות משתנים$source
et$destination
. ההזמנהNew-Item
יוצר תיקיית גיבוי חדשה במידת הצורך. ההזמנהCopy-Item
מעתיק את הקבצים והתיקיות שצוינו למיקום הגיבוי.
אתה יכול להתאים אישית משתנים$source
et$destination
כדי לגבות את הקבצים והתיקיות לפי בחירתך. אתה יכול גם להוסיף משימה מתוזמנת כדי להפעיל אוטומטית את הסקריפט במרווחי זמן קבועים.
דוגמה 2:ניקוי דיסק PowerShell Script
ניתן להשתמש בסקריפט זה לניקוי קבצי זבל וקבצים זמניים מהכונן הקשיח. זה יכול להיות מותאם אישית כדי להסיר סוגים מסוימים של קבצים או כדי להסיר את כל הקבצים המיותרים.
# Nettoie les fichiers temporaires et les fichiers de corbeille
Remove-Item -Path "$env:TEMP\\\\*" -Recurse -Force
Remove-Item -Path "$env:LOCALAPPDATA\\\\Temp\\\\*" -Recurse -Force
Clear-RecycleBin -Force
# Supprime les fichiers .tmp, .exe, .log du dossier de téléchargement
$downloads = [environment]::GetFolderPath("MyDocuments") + "\\\\Downloads"
Remove-Item -Path "$downloads\\\\*.tmp" -Recurse -Force
Remove-Item -Path "$downloads\\\\*.exe" -Recurse -Force
Remove-Item -Path "$downloads\\\\*.log" -Recurse -Force
# Supprime tous les fichiers du dossier de téléchargement
Remove-Item -Path "$downloads\\\\*" -Recurse -Force
סקריפט זה משתמש בפקודהRemove-Item
למחיקת קבצים זמניים וקבצי אשפה. המשתנה$env:TEMP
מציין את התיקיה הזמנית של המשתמש, בעוד$env:LOCALAPPDATA\\\\Temp
מציין את התיקיה הזמנית של היישום.
הסקריפט גם משתמש בפקודהClear-RecycleBin
כדי לרוקן את האשפה של המשתמש.
הסקריפט גם מוחק קבצים מיותרים בתיקיית ההורדות של המשתמש. אתה יכול להתאים אישית את תיקיית ההורדה על ידי שינוי המשתנה$downloads
. ניתן להתאים אישית את סוגי הקבצים שיש למחוק על ידי שינוי פרמטרי הפקודהRemove-Item
.
דוגמה 3: סניטור שימוש בדיסק
ניתן להשתמש בסקריפט זה כדי לפקח על הכונן הקשיח של המחשב או על השימוש ברשת. זה יכול להתריע כאשר מגיעים לרמת שימוש מסוימת, או לתת לך מידע על השימוש הנוכחי בדיסק.
# Spécifiez le seuil d'utilisation du disque (en pourcentage)
$threshold = 80
# Récupérez les informations sur les disques
$disks = Get-PSDrive -PSProvider FileSystem | Where-Object {$_.Free -ne $null}
# Parcourez chaque disque
foreach ($disk in $disks) {
# Calculez l'utilisation du disque en pourcentage
$usage = ($disk.Used / $disk.Free) * 100
# Vérifiez si l'utilisation est supérieure au seuil
if ($usage -gt $threshold) {
# Envoyer une alerte par e-mail
$subject = "Alerte d'utilisation du disque"
$body = "L'utilisation du disque $($disk.Name) a dépassé le seuil de $threshold%."
Send-MailMessage -To "[email protected]" -From "[email protected]" -Subject $subject -Body $body -SmtpServer "smtp.example.com"
}
# Afficher les informations sur le disque
$name = $disk.Name
$size = [math]::Round($disk.Used / 1GB, 2)
$free = [math]::Round($disk.Free / 1GB, 2)
$used = [math]::Round($disk.Used / 1GB, 2)
$usage = [math]::Round($usage, 2)
Write-Host "$name - Taille: $size Go, Libre: $free Go, Utilisé: $used Go, Utilisation: $usage%"
}
סקריפט זה מציין את סף השימוש בדיסק באחוזים באמצעות המשתנה$threshold
. ההזמנהGet-PSDrive
מאחזר מידע על דיסק והזמנהWhere-Object
מסנן דיסקים עם שטח פנוי שאינו אפס.
לאחר מכן, התסריט משתמש בלולאהforeach
כדי לעיין בכל דיסק ומחשב את השימוש בדיסק באחוזים. אם השימוש חורג מהסף שצוין, הסקריפט שולח התראת דוא"ל באמצעות הפקודהSend-MailMessage
.
הסקריפט גם מציג את המידע על כל דיסק, כגון גודל, שטח פנוי, שטח בשימוש ואחוז שימוש.
ניתן להתאים אישית את סף השימוש בדיסק על ידי שינוי המשתנה$threshold
. אתה יכול גם להתאים אישית את כתובת הדוא"ל של השולח והנמען על ידי עריכת הגדרות ההזמנהSend-MailMessage
.
ניתן להשתמש בסקריפט זה לניהול חשבונות משתמש במחשב שלך או ברשת. ניתן להשתמש בו כדי ליצור חשבונות משתמש חדשים, לשנות חשבונות קיימים או למחוק חשבונות מיותרים.
# Créer un nouveau compte utilisateur
New-LocalUser -Name "Nom_utilisateur" -Description "Description_utilisateur" -Password (ConvertTo-SecureString "Mot_de_passe" -AsPlainText -Force)
# Modifier un compte utilisateur existant
Set-LocalUser -Name "Nom_utilisateur" -Description "Nouvelle_description"
# Supprimer un compte utilisateur
Remove-LocalUser -Name "Nom_utilisateur"
סקריפט זה משתמש בפקודותNew-LocalUser
,Set-LocalUser
etRemove-LocalUser
לניהול חשבונות משתמש.
ההזמנהNew-LocalUser
משמש ליצירת חשבון משתמש חדש. אתה יכול להתאים אישית את שם המשתמש, התיאור והסיסמה על ידי שינוי פרמטרי הפקודה.
ההזמנהSet-LocalUser
משמש לשינוי חשבון משתמש קיים. אתה יכול להתאים אישית את שם המשתמש והתיאור על ידי שינוי הגדרות ההזמנה.
ההזמנהRemove-LocalUser
משמש עבורלמחוק חשבון משתמשקיים. אתה יכול להתאים אישית את שם המשתמש על ידי שינוי פרמטרי הפקודה.
שימו לב שהפקודותNew-LocalUser
etRemove-LocalUser
דורשים הרשאות מנהל כדי לתפקד כראוי ועשויות להיות השלכות. השתמש בהם בזהירות.
דוגמה 5:ניהול תהליכים סקריפט PowerShell
ניתן להשתמש בסקריפט זה לניהול תהליכים הפועלים במחשב שלך או ברשת. ניתן להשתמש בו כדי להציג תהליכים רצים ולסיים תהליכים מיותרים.
Get-Process | Format-Table Id, ProcessName, CPU, Memory -AutoSize
$processId = Read-Host "Entrez l'ID du processus que vous souhaitez terminer"
Stop-Process -Id $processId -Force
סקריפט זה משתמש בפקודהGet-Process
כדי לרשום את התהליכים הפועלים במחשב שלך. לאחר מכן הוא משתמש בפקודהFormat-Table
כדי להציג מידע על כל תהליך בצורה ברורה. אתה יכול להתאים אישית את המידע המוצג על ידי שינוי הגדרות ההזמנהFormat-Table
.
לאחר מכן, הסקריפט מבקש מהמשתמש להזין את המזהה של התהליך שהוא רוצה לסיים. הוא משתמש בפקודהStop-Process
כדי להשלים את התהליך שנבחר.
שימו לב שהפקודהStop-Process
יכול להיות מסוכן אם משתמשים בו בצורה לא נכונה. ודא שאתה מבין את ההשלכות של הפקודה לפני השימוש בה.
מהנדס מערכות ורשתות, אני חולק את הטיפים והידע שלי בתחום ה-IT עם הסובבים אותי כבר שנים רבות. בין אם באנדרואיד, ווינדוס או לינוקס, אני אוהב לפתור בעיות וגם לגלות טכנולוגיות חדשות.