PowerShell スクリプトの 5 つの例

あなたは持っているかもしれません最初の PowerShell スクリプトを作成しましたまたは、新しいユーザー アカウントの作成、ファイルの保存/コピー、ディスク クリーニング、ディスク監視、ユーザー管理、さらにはプロセス管理などの特定のタスクを自動化したいと考えています。この記事では、ニーズに応じて適応できる 5 つの PowerShell スクリプトの例を紹介します。

💡PowerShell スクリプトの作成方法がわからない場合は、始める前にこれをお読みください。初めての PowerShell スクリプトを作成する方法

このスクリプトを使用すると、特定のファイルやフォルダーをコンピューターにコピーできます。外付けハードドライブまたはネットワーク上で。カスタマイズすることができます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など$destination。注文New-Item必要に応じて、新しいバックアップ フォルダーを作成します。注文Copy-Item指定されたファイルとフォルダーをバックアップ場所にコピーします。

変数をカスタマイズできます$sourceなど$destination選択したファイルとフォルダーをバックアップします。スケジュールされたタスクを追加して、スクリプトを定期的に自動的に実行することもできます。

例 2:ディスク クリーンアップ PowerShell スクリプト

このスクリプトは、ハード ドライブからジャンク ファイルや一時ファイルをクリーンアップするために使用できます。特定の種類のファイルを削除したり、不要なファイルをすべて削除したりするようにカスタマイズできます。

# 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:Sディスク使用量の監視

このスクリプトは、コンピュータのハード ドライブまたはネットワークの使用状況を監視するために使用できます。特定の使用量レベルに達したときに警告を発したり、現在のディスク使用量に関する情報を提供したりできます。

# 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

例 4:ユーザー管理PowerShellスクリプト

このスクリプトは、コンピュータまたはネットワーク上のユーザー アカウントを管理するために使用できます。新しいユーザー アカウントの作成、既存のアカウントの変更、または不要なアカウントの削除に使用できます。

# 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-LocalUserSet-LocalUserなどRemove-LocalUserユーザーアカウントを管理するため。

注文New-LocalUser新しいユーザーアカウントを作成するために使用されます。コマンドパラメータを変更することで、ユーザー名、説明、パスワードをカスタマイズできます。

注文Set-LocalUser既存のユーザー アカウントを変更するために使用されます。コマンドパラメータを変更することで、ユーザー名と説明をカスタマイズできます。

注文Remove-LocalUserに使用されますユーザーアカウントを削除する既存。コマンドパラメータを変更することで、ユーザー名をカスタマイズできます。

コマンドに注意してくださいNew-LocalUserなどRemove-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

次に、スクリプトはユーザーに、終了するプロセスの ID を入力するように求めます。彼はコマンドを使用しますStop-Process選択したプロセスを完了します。

コマンドに注意してくださいStop-Process誤って使用すると危険な可能性があります。コマンドを使用する前に、コマンドの結果を必ず理解してください。