Question Projet BTS: Mise en place d'un script

Plus d'informations
il y a 13 ans 1 semaine #14253 par Kouf
Bonjour,

Dans le cadre d'un Projet personnalisé encadré de BTS informatique, j'ai une partie en Powershell.
Seulement, les bases qu'on a eu en Powershell ne sont pas suffisantes pour ecrire le script dont j'ai besoin, je demande donc de l'aide ici.

Voici le contexte :

Dans le cadre de l'administration des serveurs d'une entreprise fournissant des locaux pour différentes asso et clubs, il faut prévoir un traitement automatique (donc un script powershell) pour libérer régulièrement de l'espace disque sur les postes du réseau.

* Les fichiers non utilisés depuis plus de 6 mois doivent être placés dans un repertoire spécifique (hormis les fichiers de base de données)

* Dans ce même repertoire, les fichiers qui y sont stockés depuis plus d'un an doivent être supprimés.

Il faut que j'ecrive de script, que je determine sa fréquence, et que je prévois son lancement automatique.

Je pensais donc ecrire un script Powershell sur chaque postes, s'executant au démarrage de l'ordinateur, mais au niveau de la syntaxe je suis perdu.Je sais deplacer ou supprimer un fichier, mais c'est tout.

Toute pistes sont les bienvenues.

Merci.<br><br>Message édité par: Arnaud, à: 12/03/13 20:43

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

Plus d'informations
il y a 13 ans 1 semaine #14261 par sebastien
Réponse de sebastien sur le sujet Re:Mise en place d'un script
Salut,

Si tu débutes, ces quelques commandes pourraient te servir :

Get-command # liste des commandes powershell

Get-help ta_commande -full # aide sur une commande précise (ex : Get-help get-content -full)

Get-ChildItem # permet de lister le contenu d'un répertoire. En conbinant Get-help et Get-ChildItem tu trouveras comment effectuer un listing récursif et exclure certains fichiers.

Le 'piping' | te seras surement utile aussi. Il permet de 'renvoyer' le résultat d'une commande. Ex :

Get-ChildItem | foreach {$_.lastwritetime} # cette commande permet de lister les fichiers d'un répertoire et pour chaque élément trouvé, d'afficher leurs dernières dates d'écriture.
$_ prendra séquentiellement la valeur de chaque objet renvoyé par Get-ChildItem.

Pour connaitre les méthodes et propriétés d'un objet utilise la commande get-member. Ex : Get-ChildItem \&quot;c:\temp\file.txt\&quot; | Get-Member

Get-Date # donne la date.

Get-ExecutionPolicy et Set-ExecutionPolicy : te permettront d’exécuter des scripts sur une machine.

Je te conseille aussi : www.editions-eni.fr/livres/windows-power...26&xtor=al-50026 .

Cdt,

Seb<br><br>Message édité par: sebasti1, à: 11/03/13 14:30

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

Plus d'informations
il y a 13 ans 1 semaine #14262 par Arnaud Petitjean
Bonjour Kouf !

On ne va pas te faire le script quand même sinon tu n'auras plus rien à faire... :whistle:

Ceci étant, moi je créerais une tâche planifiée sur ton serveur pour faire tourner le script tous les jours (ou à une autre planification). Voici donc déjà une épine du pied enlevée, non ? :laugh:

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 13 ans 1 semaine #14271 par ANTRI Mohamed
Réponse de ANTRI Mohamed sur le sujet Re:Mise en place d'un script
tu doit agir sur la propriété [code:1]creationTime[/code:1]
ainsi une fois que tu as la date de création tu peut déterminer si tu dois la supprimer ou déplacer etc...

Ensuite tu pourras par exemple utiliser [code:1]Invoke-command[/code:1] pour éxecuter du code distant. Ou tu peut déployer un script par GPO.

Tu as des centaines de manière de créer un script. Il n'y a pas une seul solution.

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

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