Question Exécution d'un script selon l'OS

Plus d'informations
il y a 15 ans 1 mois #9257 par Vinz
Bonjour,

Tout d'abord, félicitations aux créateurs de ce site et à ceux qui le font vivre!

En ce qui me concerne, je débute sur Powershell et j'ai besoin de votre aide...
J'ai créé un script permettant d'installer des imprimantes via une stratégie de groupe sur des postes utilisateurs et j'aimerais que ce script ne les installe que s'il s'agit d'un système Windows 7 x64. Je souhaiterais donc mettre une condition où le script détecte la version de l'OS et s'il trouve XP ou Vista, saute la partie installation. Je vois comment faire sur Dos mais je n'ai rien trouvé sur powershell.

Quelqu'un pourrait-il m'aider? :(

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

Plus d'informations
il y a 15 ans 1 mois #9260 par Olivier
Salut bojneo et bienvenue parmis nous :-)

Pour détecter la version 32 ou 64 bit d'un OS


Déterminer si l'OS est 32 ou 64bits (1)

ou

Déterminer si l'OS est 32 ou 64bits (2)

Et pour l'OS

Récupérer la version d'OS et la date d'installation

ou

[code:1](Get-WmiObject Win32_OperatingSystem).Version[/code:1]

ou

[code:1](Get-WmiObject Win32_OperatingSystem).Caption[/code:1]

Pour ce qui est de ton GPO pour déployer tes imprimantes, là on va être copain ! Je préfère utiliser au maximum ce qui existe que de tenter de recréer la roue ;-)

Pour ce qui est de ton GPO, il existe sous Server 2008 R2 des affinités pour le déploiement d'imprimantes ... Mais la plupars des GPO fonctionnenet à partir de XP SP3 :-) (Attention car pas toutes ...)

Maintenant, ce que je ferai, c'est un seul GPO qui s'occupe de déployer tes imprimantes sur tout tes poste et quelque soit leur système ...

Sous Windows Server 2008 R2, il va automatiquement détecter ton système et déployer le bon pilote ... XP, Vista, Seven, 32 bit, 64 bit ... que du bonheur :-)

Hésite pas à revenir si besoin d'info complémentaires :-)

Tout de bon et à +

Olivier D.
Virtual Business Card
Profile Linkedin <br><br>Message édité par: Olivier, à: 24/03/11 17:04

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

Plus d'informations
il y a 15 ans 1 mois #9261 par Richard Lazaro
Salut à toi , et bienvenue sur ce forum !

alors en ce qui concerne l'architecture tu peux passer par la commande

[code:1][intptr]::«»size[/code:1]

Si la valeur est de 4 c'est un system 32bits
Si la valeur est de 8 c'est un system 64bits

Et pour récupérer l'OS, tu peux utiliser une classe WMI

[code:1]Get-WmiObject Win32_OperatingSystem[/code:1]

ce qui retourne

[code:1]SystemDirectory : C:\Windows\system32
Organization :
BuildNumber : 7601
RegisteredUser : Rich
SerialNumber : 00432-076-7313581-86560
Version : 6.1.7601[/code:1]

Tu peux avoir tout les attributs avec

[code:1]Get-WmiObject Win32_OperatingSystem | Format-List *[/code:1]

Je pense que je me baserais sur le BuilNumber pour bien identifier les différents OS.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

Plus d'informations
il y a 15 ans 1 mois #9262 par Olivier
Hello Richard :-)

Ben chez moi, Windows 7 en 64bit me retourne 4 avec [code:1][intptr]::«»size[/code:1]

La valeur retournée est plus liée à PowerShell qu'au système qui l'heberge ...

Par contre, il faut bien démarrer PowerShell en version 64 bit (ce qui n'est pas le cas par défaut ...) et là on obtiendra la bonne valeur ...



Maintenant, je pense que la meilleure solution est celle fournie dans la bibliothèque de script ...

Enfin, ce n'est que mon avis très perso ;-)

Tout de bon et à +

Olivier D<br><br>Message édité par: Olivier, à: 24/03/11 17:10

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

Plus d'informations
il y a 15 ans 1 mois #9263 par Richard Lazaro
Bah moi, le powershell par défaut c'est bien le x64 ...
Et donc me retourne 8.

Sinon on peut aussi passer par la même classe WMI pour avoir l'architecture ...

Think-MS : (Get-Life).Days | %{ Learn-More }

\\&quot;Problems cannot be solved by the same level of thinking that created them.\\&quot; - Albert Einstein

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

Plus d'informations
il y a 15 ans 1 mois #9265 par Vinz
Réponse de Vinz sur le sujet Re:Exécution d'un script selon l'OS
Merci pour vos réponses et votre accueil!

Olivier : Je ne suis malheureusement pas encore sous Windows Server 2OO8 mais toujours sous 2003 (le changement ne devrait maintenant plus tarder). A la base il y avait une stratégie en place qui utilisait pushprinterconnections.exe mais cet utilitaire ne fonctionne pas pour les postes sous 7. C'est pourquoi j'en ai profité pour utiliser powershell afin de solutionner ce pb.

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

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