Meilleur auteur de réponses
[Problème Résolu] Recherche script pour check shortcut sur le bureau et installation de firefox

Question
-
Bonjour la communauté,
Je viens à vous car je suis à la recherche d'un script qui pourrait m'aidé à vérifier le déploiement d'un shortcut sur le bureau des pcs des users et le déploiement de l'installation de la dernière version firefox.
Aujourd'hui, on m' a listé des comptes users où je dois déployé via gpo un lien web en raccourcie sur le bureau de chaque user.
Idem pour que ce lien web marche il faut la dernière version de firefox. On m'a également transmis une liste de pc.J'aimerai savoir s'il existe un script pour vérifier l'installation du shortcut sur le bureau? idem pour l'installation de firefox svp.
Merci encore de vos conseils et aide
- Modifié Lolochan130 mercredi 24 février 2021 15:56
Réponses
-
Bonjour,
Désoler de revenir que maintenant vers vous. J'ai du cherché la solution et je suis parvenu à trouver ce que je recherche. Voici le script qui m'a permis de vérifier si le pc a bien installé Firefox.
Vous devez créer un fichier input-firefox-file.txt où vous devez renseigné les nom des pcs clients. saisir la version dans $lastversion. Vérifier le chemin d'installation pour moi c'est une version 32bits c$\program files (x86)\Mozilla Firefox\Firefox.exe. Dans les résultats, il vous dira qu'il n'est pas installé s'il trouve pas le Firefox.exe. J'ai su de cette manière, qu'il y avait des installations manuelle sur les pcs. Pour pas mélanger je vous post le second script pour le shortcut.# chemin de fichier de sortie
$log
=".\output-firefox.txt"
#chemin de fichier d'entrée
# ex : machine1
# machine2
$lines
=get-content".\input-firefox-file.txt"
#dernière version de Firefox
$lastversion
="78.4.1"
foreach
($linein$lines)
{
$machine=$line
$pathtocheck="\\"+$machine+"\C$\Program Files (x86)\Mozilla Firefox\Firefox.exe"
if(Test-Path$pathtocheck)
{
$version=[System.Diagnostics.FileVersionInfo]::GetVersionInfo($pathtocheck).FileVersion
if($version-ge$lastversion)
{
$text=$machine+";"+$pathtocheck+";"+$version+";OK"
}
else
{
$text=$machine+";"+$pathtocheck+";"+$version+";KO"
}
Add-Content -Path$log-Value$text
}
else
{
$text=$machine+";"+$pathtocheck+" does not exits"
Add-Content-Path$log-Value$text
}
}
- Proposé comme réponse Thierry DEMAN-BARCELÒMVP mercredi 24 février 2021 19:06
- Marqué comme réponse Yannick PlavonilMicrosoft community contributor, Moderator lundi 7 mars 2022 01:45
Toutes les réponses
-
Bonjour Lolochan130
- Tu vas ici (https://support.mozilla.org/en-US/kb/deploy-firefox-msi-installers) et tu récupères le .msi de firefox.
- GPO (computer) déploiement dudit .msi. ex. (le 1er lien que j'ai trouvé pour illustrer) : https://pdf.wondershare.com/business/how-to-deploy-software-with-gpo.html
- GPO (computer) Pour le shortcut, voir ici : https://www.prajwaldesai.com/create-desktop-shortcut-using-group-policy/
[... J'aimerai savoir s'il existe un script pour vérifier l'installation du shortcut sur le bureau? idem pour l'installation de firefox svp....]
Gpresult ou rsop sur le poste pour vérifier les GPOs qui se sont appliqués sur le poste/user. Ou de manière centralisée, RSOP (sesultatnant set of Policy dans la console gpmc.msc).
Conseils :
- Toujours créer une GPO dans "Objets de Stratégie de groupe" et pas directement lié à une OU. Contrairement à ce qu'on peut voir sur de nombreux site web (dont peut-être les liens fournis). Pourquoi ? QUand tu crées ta GPO, elle est vide mais "enable". Tu l'édites, tu mets 2 paramètres, tu vérifies et là tu t'aperçois que tu t'es trompé sur 1 paramètre. Tu re-édite pour corriger mais tu ne sais pas et tu ne peux pas savoir si un computer/user raffraichit ses GPOs ??? et ne se prend pas une GPO bancale.
- Ne jamais mettre en prod une GPO sans la tester afin de vérifier "si elle fait bien ce qu'elle doit faire et sans effet de bord indésirable" et ce dans un environnement restreint (une OU test par exemple).
Les conseilleurs n'étant pas les payeurs, tu fais ce que tu veux après.
Cordialement
Olivier
-
-
Bonjour LoloChan130.
Réfléchissons ensemble si tu veux bien. Je souhaite t’amener tout seul à la solution, et pas de la donner toute cuite, ... aucun intérêt.
- Comment identifierais-tu sur ta machine quel telle ou telle appli est bien installée ?
- Et qu'un fichier (ton raccourci) est bien présent et ce sur tous les profils utilisateurs de ta machine ?
En Powershell bien entendu :-), on parle de script. Une fois que tu auras réfléchi sur ces points, la suite sera toute simple :
- Query AD de toutes les machines concernées de ton domaine (poste et/ou serveurs)
- Boucle foreach et tu appliques les traitements que tu as identifié auparavant pour alimenter une variable
- Si les cmdlets utilisées n'ont pas d eparamètre -ComputerName pour leur faire exécuter du RemoteShell, quelle méthode utiliser pour réaliser cela ?
- Et enfin, plus qu'à exporter la variable dans un fichier du type de ton choix : .csv, .xlsx, .html, .json, .xml and so on.
Tu vois, cela réclame un petit peu de réflexion (mais pas trop, ne t'inquiètes pas) et cela te sera plus profitable pour l'avenir que de te filer le code tout cuit. Naturellement, si tu rencontres un pb pour la mise au point de ton script, tu trouveras de l'aide ici bien entendu. Dis-toi, que très souvent, il n'y aura jamais LE script qui fera très exactement ce que tu veux.
Pour l'exercice, c'est intéressant. En pratique, personnellement je ne ferais pas ça. Principe du moindre effort. Je ferais un contrôle statistique intégral (computer pour l'app et profil utilisateurs pour les raccourcis) sur quelques machines dans le périmètre de la GPO.
Attention : je viens de penser à quelque chose. Pour l'app, c'est sans pb, mais pour le raccourci oublie (dans le script). Pourquoi me diras-tu ? Imagine, tu t'es déjà logué sur x machines, tu as donc un profil local sur ces x machines. Cependant, tu n'as pas eu besoin de te connecter sur nombre d'entre elles. Donc le profil (local) non mis à jour peut t'inciter à croire que ta GPO ne fonctionne pas alors que si.
Cordialement
Olivier
-
Bonjour,
Désoler de revenir que maintenant vers vous. J'ai du cherché la solution et je suis parvenu à trouver ce que je recherche. Voici le script qui m'a permis de vérifier si le pc a bien installé Firefox.
Vous devez créer un fichier input-firefox-file.txt où vous devez renseigné les nom des pcs clients. saisir la version dans $lastversion. Vérifier le chemin d'installation pour moi c'est une version 32bits c$\program files (x86)\Mozilla Firefox\Firefox.exe. Dans les résultats, il vous dira qu'il n'est pas installé s'il trouve pas le Firefox.exe. J'ai su de cette manière, qu'il y avait des installations manuelle sur les pcs. Pour pas mélanger je vous post le second script pour le shortcut.# chemin de fichier de sortie
$log
=".\output-firefox.txt"
#chemin de fichier d'entrée
# ex : machine1
# machine2
$lines
=get-content".\input-firefox-file.txt"
#dernière version de Firefox
$lastversion
="78.4.1"
foreach
($linein$lines)
{
$machine=$line
$pathtocheck="\\"+$machine+"\C$\Program Files (x86)\Mozilla Firefox\Firefox.exe"
if(Test-Path$pathtocheck)
{
$version=[System.Diagnostics.FileVersionInfo]::GetVersionInfo($pathtocheck).FileVersion
if($version-ge$lastversion)
{
$text=$machine+";"+$pathtocheck+";"+$version+";OK"
}
else
{
$text=$machine+";"+$pathtocheck+";"+$version+";KO"
}
Add-Content -Path$log-Value$text
}
else
{
$text=$machine+";"+$pathtocheck+" does not exits"
Add-Content-Path$log-Value$text
}
}
- Proposé comme réponse Thierry DEMAN-BARCELÒMVP mercredi 24 février 2021 19:06
- Marqué comme réponse Yannick PlavonilMicrosoft community contributor, Moderator lundi 7 mars 2022 01:45
-
Voici le second script celui-ci m'a permis de vérifier si le compte user et le pc client à bien eu son shortcut de lien sur le bureau. ils ont été déployés via gpo pour la télédistribution du lien sur le bureau des users.
Deux fichiers doivent être renseigné input-machines renseigner les pcs des utilisateurs et input-users renseigner les comptes utilisateurs rattachés à leur pcs.# chemin du fichier log de sortie
$log
="C:\test\output-shortcut.txt"
# chemin de fichier d'entrée avec nom de machine : input-machines.txt
# ex : machine1
# machine2
# chemin de fichier d'entrée avec login utilisateur : input-users.txt
# ex : user1
# user2
$machines
=get-content"C:\test\input-machines.txt"
$users
=get-content"C:\test\input-users.txt"
foreach
($machinein$machines)
{
foreach($userin$users)
{
$pathtocheck="\\"+$machine+"\c$\users\"+$user+"\Desktop\_Applications\xxxx_WEB.lnk"
if(Test-Path$pathtocheck)
{
$text=$machine+";"+$user+";"+$pathtocheck+" exists"
Add-Content -Path$log-Value$text
}
else
{
$text=$machine+";"+$user+";"+$pathtocheck+" does not exits"
Add-Content-Path$log-Value$text
}
}
}
Voilà j'espère pouvoir vous aider grâce à ce post clôture de la demande
- Modifié Lolochan130 mercredi 24 février 2021 15:56
- Proposé comme réponse SAAD Youssef mercredi 24 février 2021 18:10