5 דוגמאות לתסריטים PowerShell

אולי יש לךיצר את סקריפט 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

סקריפט זה מציין את הקבצים והתיקיות לגיבוי באמצעות משתנים$sourceet$destination. ההזמנהNew-Itemיוצר תיקיית גיבוי חדשה במידת הצורך. ההזמנהCopy-Itemמעתיק את הקבצים והתיקיות שצוינו למיקום הגיבוי.

אתה יכול להתאים אישית משתנים$sourceet$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-LocalUseretRemove-LocalUserלניהול חשבונות משתמש.

ההזמנהNew-LocalUserמשמש ליצירת חשבון משתמש חדש. אתה יכול להתאים אישית את שם המשתמש, התיאור והסיסמה על ידי שינוי פרמטרי הפקודה.

ההזמנהSet-LocalUserמשמש לשינוי חשבון משתמש קיים. אתה יכול להתאים אישית את שם המשתמש והתיאור על ידי שינוי הגדרות ההזמנה.

ההזמנהRemove-LocalUserמשמש עבורלמחוק חשבון משתמשקיים. אתה יכול להתאים אישית את שם המשתמש על ידי שינוי פרמטרי הפקודה.

שימו לב שהפקודותNew-LocalUseretRemove-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 עם הסובבים אותי כבר שנים רבות. בין אם באנדרואיד, ווינדוס או לינוקס, אני אוהב לפתור בעיות וגם לגלות טכנולוגיות חדשות.