Question
Get-content d'un fichier sur une liste d'ordi
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 3 mois #18874
par Toper
Powershell: la vie est belle
Get-content d'un fichier sur une liste d'ordi a été créé par Toper
Bonjour,
j'ai ce script que j'aimerai appliquer sur une liste d'ordinateurs:
[code:1](Get-Content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\") |
ForEach-Object {
$_ = $_ -replace \"Manager address.+\",\"Manager address=10.146.144.200\"
$_ = $_ -replace \"Name of the managed client.+\",\"Name of the managed client=[%COMPUTERNAME]\"
$_ = $_ -replace \"Date time format on log.+\",\"Date time format on log=dd-mm-yyyy hh:nn\"
$_ = $_ -replace \"Date format of the log file name.+\",\"Date format of the log file name=dd-mm-yyyy\"
$_ = $_ -replace \"SMTP sender name.+\",\"SMTP sender name=[%COMPUTERNAME]\"
$_ = $_ -replace \"SMTP sender address.+\",\"SMTP sender address=[%COMPUTERNAME]@autobernard.com\"
$_ = $_ -replace \"SMTP server.+\",\"SMTP server=server\"
$_ = $_ -replace \"SMTP subject.+\",\"SMTP subject=Probleme de sauvegarde de l'ordinateur [%COMPUTERNAME]\"
$_ = $_ -replace \"SMTP recipients.+\",\"SMTP recipients=mail@mail.com\"
$_ = $_ -replace \"Check for updates.+\",\"Check for updates=false\"
$_ = $_ -replace \"Mail schedule.+\",\"Mail schedule=2\"
$_ = $_ -replace \"Mail as attachment.+\",\"Mail as attachment=false\"
$_ = $_ -replace \"Mail if errors only.+\",\"Mail if errors only=true\"
$_ = $_ -replace \"Delete log if mailed.+\",\"Delete log if mailed=true\"
$_ = $_ -replace \"New version is not error.+\",\"New version is not error=true\"
$_ = $_ -replace \"Manager password.+\",\"Manager password=PD+FTBSpR5p+P/BMY6kwmnY/m0wWqUSaAT+PTA2pQJp3P/NMGKlZmn4/jkxkqTKaaj+PTBSpRppyP/BMY6lDmgE/g0xhqTCaBD/LTCCpdJ4=\"
$_
} | Set-Content \"C:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/code:1]
Le script fonctionne, mais comment l'appliquer à une liste d'ordinateurs ?
Message édité par: gregmurf, à: 28/01/15 16:08<br><br>Message édité par: gregmurf, à: 28/01/15 16:08
j'ai ce script que j'aimerai appliquer sur une liste d'ordinateurs:
[code:1](Get-Content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\") |
ForEach-Object {
$_ = $_ -replace \"Manager address.+\",\"Manager address=10.146.144.200\"
$_ = $_ -replace \"Name of the managed client.+\",\"Name of the managed client=[%COMPUTERNAME]\"
$_ = $_ -replace \"Date time format on log.+\",\"Date time format on log=dd-mm-yyyy hh:nn\"
$_ = $_ -replace \"Date format of the log file name.+\",\"Date format of the log file name=dd-mm-yyyy\"
$_ = $_ -replace \"SMTP sender name.+\",\"SMTP sender name=[%COMPUTERNAME]\"
$_ = $_ -replace \"SMTP sender address.+\",\"SMTP sender address=[%COMPUTERNAME]@autobernard.com\"
$_ = $_ -replace \"SMTP server.+\",\"SMTP server=server\"
$_ = $_ -replace \"SMTP subject.+\",\"SMTP subject=Probleme de sauvegarde de l'ordinateur [%COMPUTERNAME]\"
$_ = $_ -replace \"SMTP recipients.+\",\"SMTP recipients=mail@mail.com\"
$_ = $_ -replace \"Check for updates.+\",\"Check for updates=false\"
$_ = $_ -replace \"Mail schedule.+\",\"Mail schedule=2\"
$_ = $_ -replace \"Mail as attachment.+\",\"Mail as attachment=false\"
$_ = $_ -replace \"Mail if errors only.+\",\"Mail if errors only=true\"
$_ = $_ -replace \"Delete log if mailed.+\",\"Delete log if mailed=true\"
$_ = $_ -replace \"New version is not error.+\",\"New version is not error=true\"
$_ = $_ -replace \"Manager password.+\",\"Manager password=PD+FTBSpR5p+P/BMY6kwmnY/m0wWqUSaAT+PTA2pQJp3P/NMGKlZmn4/jkxkqTKaaj+PTBSpRppyP/BMY6lDmgE/g0xhqTCaBD/LTCCpdJ4=\"
$_
} | Set-Content \"C:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"[/code:1]
Le script fonctionne, mais comment l'appliquer à une liste d'ordinateurs ?
Message édité par: gregmurf, à: 28/01/15 16:08<br><br>Message édité par: gregmurf, à: 28/01/15 16:08
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 3 mois #18875
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Get-content d'un fichier sur une liste d'ordi
Réponse à moi même: j'ai trouvé (mais est-ce la \"vrai\" solution ?)
Je commence par [code:1]Invoke-Command {get-content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"} -computername xxxx |
ForEach-Object { [/code:1]
Puis enregistre le fichier avec [code:1]invoke-command {Set-Content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"} -computername xxxx[/code:1]
Je suppose que le [code:1]-computername xxxx[/code:1] peut s'utiliser avec une liste de PC en .txt ?
Je commence par [code:1]Invoke-Command {get-content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"} -computername xxxx |
ForEach-Object { [/code:1]
Puis enregistre le fichier avec [code:1]invoke-command {Set-Content \"c:\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"} -computername xxxx[/code:1]
Je suppose que le [code:1]-computername xxxx[/code:1] peut s'utiliser avec une liste de PC en .txt ?
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 3 mois #18876
par Philippe
Réponse de Philippe sur le sujet Re:Get-content d'un fichier sur une liste d'ordi
salut gregmurf
tu veux quel solution ?
un script indépendant avec passage de paramètre ?
un script unique avec liste des ordi dans un fichier ?
un script avec les noms des ordi en dur (dans le script) ?
un script ....
y pas une solution de bien mais un solution pour ton environnement et l'usage du script !
tu veux quel solution ?
un script indépendant avec passage de paramètre ?
un script unique avec liste des ordi dans un fichier ?
un script avec les noms des ordi en dur (dans le script) ?
un script ....
y pas une solution de bien mais un solution pour ton environnement et l'usage du script !
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 11 ans 3 mois #18877
par Toper
Powershell: la vie est belle
Réponse de Toper sur le sujet Re:Get-content d'un fichier sur une liste d'ordi
Un script unique à appliquer sur une liste d'ordi
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 11 ans 3 mois #18878
par Philippe
Réponse de Philippe sur le sujet Re:Get-content d'un fichier sur une liste d'ordi
gregmurf écrit:
oui mais je te conseil plutôt d'utilisé ce qui suit : le smb/cifs/voisinage réseau
[code:1]
$computernames | ForEach-Object {
get-content \"\\$_\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\" |
# traitement avec le pipeline en fin \"|\"
Set-Content \"\\$_\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"}
}
[/code:1]
qui n'impose pas que winrm soit actif<br><br>Message édité par: 6ratgus, à: 28/01/15 16:42
Je suppose que le -computername xxxx peut s'utiliser avec une liste de PC en .txt ?
oui mais je te conseil plutôt d'utilisé ce qui suit : le smb/cifs/voisinage réseau
[code:1]
$computernames | ForEach-Object {
get-content \"\\$_\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\" |
# traitement avec le pipeline en fin \"|\"
Set-Content \"\\$_\c$\Program Files\Cobian Backup 10\Settings\cbEngine.ini\"}
}
[/code:1]
qui n'impose pas que winrm soit actif<br><br>Message édité par: 6ratgus, à: 28/01/15 16:42
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.039 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Get-content d'un fichier sur une liste d'ordi