utiliser des enceintes d'ordinateur à distance

Publié le par Gaël Marot - GTEK-formation

le script ci-dessous permet d'envoyer à distance sur un ordinateur un script permettant de faire parler les enceintes du pc.

ce test à été effectué sur du serveur 2012 et Windows 8.1

on utilise pour cela l'assembly system.speech.

on peut régler le volume, le débit...

 

(get-adcomputer -filter *).name | %{

 

$test=gwmi win32_process -ComputerName $_ | where name -Match calc

 

if($test)

 

{

 

       

 

        $test.terminate()

 

                Invoke-Command -ComputerName $_ -ScriptBlock{

 

                #chargement de l'assembly system.speech qui n'est pas chargé par défaut

 

                Add-Type -AssemblyName system.speech

 

                $spe=new-object System.Speech.Synthesis.SpeechSynthesizer

 

                #possibilité de régler le volume (de 0 à 100)

 

                $spe.volume=100

 

                #rate permet de régler le débit de voix -10, voix tres lente, 10, voix très rapide

 

                $spe.rate=0

 

                $spe.Speak("Il est interdit d'utiliser avec la calculatrice")

 

               

 

                }

 

   }

 

   $test=$null

 

}

 

 

l'exemple ci-dessous permet d'enregister un fichier Wav, la voix hortense est la voix française sur Windows 8.1 et 2012R2.

cet exemple enregistra un fichier wav qui nous indiquera, "nous sommes aujourd'hui le 20 juin 2014...

 

 

 

 

 

Add-Type -AssemblyName system.speech

 

                $spe=new-object System.Speech.Synthesis.SpeechSynthesizer

 

               #sélectionner une voix en prenant le name de $spe.GetInstalledVoices().voiceinfo

 

                #méthode permettant d'enregistrer un fichier wav

 

                #utiliser cette méthode avant speak pour indiquer ou sauvegarder le fichier wav

 

                $spe.SetOutputToWaveFile("c:\temp\t\son10.wav")

 

                $spe.SelectVoice("Microsoft Hortense Desktop")

 

               #réglage du volume 0 à 100

 

                $spe.Volume=100

 

                #réglage de la vitesse d'élocution -10 à +10

 

                $spe.Rate=0

 

                $ligne="nous sommes aujourd'hui le $(get-date -format "dddd dd MMMM yyyy HH:mm:ss")"

 

                $spe.Speak($ligne)

 

                $spe.dispose()

 

 

Publié dans sons

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article