Important Script pour boucle SDELETE.EXE

Plus d'informations
il y a 12 ans 10 mois #14898 par Mati
Bonjour,

Je souhaite créer un script powershell pour faire un sdelete sur plusieurs machines.

Voila mon besoin :
Pour libérer l'espace provisionné par mes baies SAN lors de la libération d'espace coté OS, j'ai besoin de mettre des zeros , et c'est la que le SDELETE rentre en jeu.
Alors ca fonctionne bien si je passe le SDELETE manuellement sur mes machines, mais vu le nombre, je cherche à scripter ceci.

1 . je recupère une liste de machine, par l'AD par exemple :

$compList =Get-QADComputer * -sizelimit 0

2. je parse cette liste pour lister les disques et savoir ceux qui sont attachés SAN :

$compList | % {
$Computer = $_
Write-Host $Computer.Name
get-WmiObject -ComputerName $Computer.Name -class Win32_diskDrive | select Name, DeviceID, Model, Caption, Size, @{label=\"CP\";Expression={\"$($Computer.Name)\"}}
} | ConvertTo-Csv | Set-Content \"SanDrives.txt\"

Déjà j'ai un pb, car je ne récupère par la lettre du disque. :unsure:

3. ensuite j'aimerai que si le disk contient \"IBM 2810XIV\" dans le model, hop il lance un SDELETE.exe -Z sur ce lecteur.

4. et si en plus ca pouvait générer un rapport alors la... ca serait génial !


Voila, si on pouvait un peu m'aider ca serait top, mes compétences en powershell étant très limitées...

Merci !!! :cheer:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 10 mois #14899 par Mati
Réponse de Mati sur le sujet Re:Script pour boucle SDELETE.EXE
et si en plus ca pouvait s'arreter à 90% d'espace utilisé comme ce qu'a fait cette personnne :

blog.whatsupduck.net/2012/03/powershell-...tive-to-sdelete.html

ca serait top

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 10 mois #14900 par SiSMik
Réponse de SiSMik sur le sujet Re:Script pour boucle SDELETE.EXE
Bonjour,

Tout d'abord, essayes d'utiliser les balises Code quand tu publies du code ça rend le script plus lisible.

On va déjà prendre le problème sans les 90%...

[code:1]
$Output = @{}
$SdeleteCMD = \"C:\temp\Sdelete.exe\"
Get-QADComputer * -sizelimit 0 | Foreach {
$Computer = $_.Name
get-WmiObject -ComputerName $Computer -class Win32_diskDrive |
$props = @{\"Name\"=$_.Name;
\"DeviceID\"=$_.DeviceID;
\"Model\"=$_.Model;
\"Caption\"=$_.Caption;
\"Size\"=$_.Size;
\"CP\"=$Computer}
$Output += New-Object PSCustomeObject -Property $props
}
$Output | % {
if ($_.Name -like \"*IBM 2810XIV*\"«») {
Start-Process -Path $SdeleteCMD -Argumentlist \"-z\" -wait
}
}
[/code:1]

La façon dont tu exportais le csv était un peu foireuse aussi, là tu as une variable $Output qui contient tous tes pc sur le domaine et les informations du disque. Je te laisses faire l'export du CSV après ton traitement, ça devrait pas être trop dur.

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 10 mois #14914 par Mati
Réponse de Mati sur le sujet Re:Script pour boucle SDELETE.EXE
Ok merci de l'info,
je vais travailler un peu la dessus et je ferai un retour.

en tout cas, c'est sympa !

A+

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena