Archives par étiquette : Script

Faire une boucle PowerShell avec une sortie (Y/N)

J’ai besoin d’exécuter plusieurs fois le même script PowerShell pour des actions répétitives en changeant juste un variable à chaque exécution.
Je souhaite donc que mon script continue à boucler tant que je n’aurais pas répondu Y à la question « Voulez-vous arrêter? (Y/N) ».
Voici un exemple de boucle qui va me permettre de réaliser mon script.

$quit = “Tant que je gagne, je joue.”
do {
#Début de mon script
$mareponse = Read-Host “Pierre, Feuille ou Ciseaux ?”
$sareponse = Get-Random "Pierre","Feuille","Ciseaux"
Write-host "L'ordinateur choisit au hasard: $sareponse"
#Fin de mon script
$quit = Read-Host “Voulez-vous arrêter? (Y/N)”
}
until ($quit -eq “Y”)

Ajouter le Snap-In Powershell de Exchange

L’ajout du Snap-In permet de lancer des commandes Exchange dans un console PowerShell ouverte en exécutant la powershell.exe.
C’est utile pour l’exécution de scripts par taches planifiées
Exchange 2007:

Add-PSSnapin "Microsoft.Exchange.Management.PowerShell.Admin"

Exchange 2010:

Add-PSSnapin "Microsoft.Exchange.Management.PowerShell.E2010"

Envoi d’un message de test via SMTP.

Voici un petit script VBS très simple qui permet d’envoyer un message SMTP depuis un système Windows.
Ce script est compatible avec toutes les versions de Windows.
Il peut servir pour tester un relais SMTP ou la capacité d’un ordinateur à envoyer des messages en SMTP sans utiliser Outlook.

Il suffit de copier ce code dans un fichier texte et renommer l’extension du fichier en « .vbs ».

'Envoie d'un e-mail via un serveur SMTP'
With CreateObject("CDO.Message")
.From="adress@domainfrom.com"
.To="adress@domainto.com"
.Subject="-Test Message-"
.HTMLBody="Test Message"
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "my-relay.com"
.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
On Error Resume Next
.Send
If Err Then MsgBox "Le message n'a pas pu être expédié."
On Error GoTo 0
End With

Il ne reste plus qu’à changer l’adresse de l’émetteur, du destinataire et du relais SMTP.

Lancer l’édition d’un fichier depuis PowerShell

Voici comment ouvrir un fichier de script PowerShell en commande directement depuis la console.
Voici déjà deux méthode pour lancer un application depuis PowerShell, ici PowerGUI Script Editor:

Invoke-Item 'C:\Program Files\PowerGUI\ScriptEditor.exe'

ou

& 'C:\Program Files\PowerGUI\ScriptEditor.exe'

Pour ouvrir directement le fichier de script:

& 'C:\Program Files\PowerGUI\ScriptEditor.exe' .\monscript.ps1

Si je veux éviter de taper à chaque fois le chemin de l’applications:

$notepadp = 'C:\Program Files\PowerGUI\ScriptEditor.exe'
& $notepadp .\monscript.ps1