- forum
- PowerShell
- Entraide pour les débutants
- Besoin d'aide pour crée un PowerShell barre de notification
Question
Besoin d'aide pour crée un PowerShell barre de notification
- Dorian
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 1 mois 6 jours #33282
par Dorian
Bonjour,
j'aimerais votre aide pour crée un script,
J'aimerais qu'une icone dans la barre de notification reste en permanance.
J'ai trouver la solution sur Windows 10,
Avec cette solution toutes les icones a coté de l'heure s'affiche en permanence. elle ne sont plus cacher.
Par contre sur Windows 11, c'est pas la même chose, si vous appliquer la méthode de win10 les icone qui sont déjà cacher vont disparaitre.
j'ai trouver la clé de registre a crée ou modifier pour win11, en faite il y a un dossier par icone afficher ou masquer, contrairement a win10.
J'ai besoin d'aide pour l'écrire mon PowerShell :
Chemin du ma clé sur un poste win11 :
Clé :
IsPromoted
Valeur 1
DWORD
Par contre le chemin change d'un poste un a un autre :
Comment crée un script qui lui dit de chercher dans le registre la clé suivante :
clé : ExecutablePath
Valeur : C:\ProgramData\NinjaRMMAgent\components\njbar\njbar.exe
et une fois qu'il est dans ce dossier
crée ou modifier lé clé ci dessous :
Clé :
IsPromoted
Valeur 1
DWORD
et par magie l'icone reste en permanence dans le barre des taches
En vous remerciant d'avance.
Cordialement,
j'aimerais votre aide pour crée un script,
J'aimerais qu'une icone dans la barre de notification reste en permanance.
J'ai trouver la solution sur Windows 10,
New-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "NoAutoTrayNotify" -Value "1" -PropertyType "DWORD"
New-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Explorer" -Name "NoAutoTrayNotify" -Value "1" -PropertyType "DWORD"
Avec cette solution toutes les icones a coté de l'heure s'affiche en permanence. elle ne sont plus cacher.
Par contre sur Windows 11, c'est pas la même chose, si vous appliquer la méthode de win10 les icone qui sont déjà cacher vont disparaitre.
j'ai trouver la clé de registre a crée ou modifier pour win11, en faite il y a un dossier par icone afficher ou masquer, contrairement a win10.
J'ai besoin d'aide pour l'écrire mon PowerShell :
Chemin du ma clé sur un poste win11 :
Ordinateur\HKEY_USERS\S-1-5-21-872629181-3411538068-343453361-1001\Control Panel\NotifyIconSettings\13885481933114508704
Clé :
IsPromoted
Valeur 1
DWORD
Par contre le chemin change d'un poste un a un autre :
Comment crée un script qui lui dit de chercher dans le registre la clé suivante :
clé : ExecutablePath
Valeur : C:\ProgramData\NinjaRMMAgent\components\njbar\njbar.exe
et une fois qu'il est dans ce dossier
crée ou modifier lé clé ci dessous :
Clé :
IsPromoted
Valeur 1
DWORD
et par magie l'icone reste en permanence dans le barre des taches
En vous remerciant d'avance.
Cordialement,
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 3 semaines 1 jour #33305
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Besoin d'aide pour crée un PowerShell barre de notification
Bonjour Dorian,
Désolé de ma réponse tardive. As-tu trouvé une solution à ton problème ?
Désolé de ma réponse tardive. As-tu trouvé une solution à ton problème ?
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
- Dorian
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 2 semaines 4 jours #33310
par Dorian
Réponse de Dorian sur le sujet Besoin d'aide pour crée un PowerShell barre de notification
Salut oui :
Si cela peut aider quelqu'un, voici le code.
# Créer un nouveau lecteur de registre
New-PSDrive -PSProvider Registry -Name HKU -Root HKEY_USERS
# Vérifier si la source ScriptAD existe, sinon la créer
$sourceName = "ScriptAD"
$sourceExists = Get-EventLog -LogName Application -Source $sourceName -ErrorAction SilentlyContinue
if (-not $sourceExists) {
$eventSourceInfo = New-Object System.Diagnostics.EventSourceCreationData $sourceName, "Application"
[System.Diagnostics.EventLog]::CreateEventSource($eventSourceInfo)
}
# Chemin de départ dans la base de registre
$startingRegistryPath = "HKU:\"
# Nouvelle valeur à créer ou à modifier
$newValueName = "IsPromoted"
$newValueData = 1
# Chemin complet du fichier de rapport
$reportPath = "C:\ScriptReport.txt"
# Durée maximale d'exécution en secondes (60 secondes pour 1 minute)
$timeoutInSeconds = 30
# Obtenir l'heure actuelle
$startTime = Get-Date
$endTime = $startTime.AddSeconds($timeoutInSeconds)
# Fonction récursive pour la recherche, navigation et modification de la valeur
function SearchNavigateAndModifyValue($currentPath) {
try {
$currentKey = Get-Item -Path $currentPath -ErrorAction Stop
$values = Get-ItemProperty -Path $currentKey.PSPath
if ($values.ExecutablePath -eq "C:\ProgramData\NinjaRMMAgent\components\njbar\njbar.exe") {
Set-Location -Path $currentKey.PSPath
Write-Host "Navigated to key with matching value: $($currentKey.Name)"
if (-not $values.PSObject.Properties.Name.Contains($newValueName)) {
New-ItemProperty -Path $currentKey.PSPath -Name $newValueName -Value $newValueData -PropertyType DWORD
Write-Host "New value created: $newValueName = $newValueData"
} else {
Set-ItemProperty -Path $currentKey.PSPath -Name $newValueName -Value $newValueData
Write-Host "Value modified: $newValueName = $newValueData"
}
# Générer le rapport de succès
$reportSuccess = @"
Le script a fonctionné avec succès.
La valeur '$newValueName' a été modifiée ou créée avec la donnée '$newValueData'.
Chemin de la clé de registre : $($currentKey.PSPath)
"@
$reportSuccess | Out-File -FilePath $reportPath
# Arrêter la recherche après modification
return $true
}
$subKeys = Get-ChildItem -Path $currentKey.PSPath
foreach ($subKey in $subKeys) {
if ((Get-Date) -ge $endTime) {
Write-Host "Timeout reached."
return $false # Sortir de la boucle si le temps imparti est écoulé
}
if (SearchNavigateAndModifyValue $subKey.PSPath) {
return $true # Si la modification a été effectuée, sortir de la fonction
}
}
} catch {
# Ignorer les erreurs et continuer la recherche
}
return $false # Aucune modification n'a été effectuée
}
# Appeler la fonction avec le chemin de départ
$modificationSuccess = SearchNavigateAndModifyValue $startingRegistryPath
if (-not $modificationSuccess) {
# Générer le rapport en cas de clé non trouvée
$reportNotModified = @"
Le chemin de clé 'C:\ProgramData\NinjaRMMAgent\components\njbar\njbar.exe' n'a pas été trouvé dans la base de registre.
"@
$reportNotModified | Out-File -FilePath $reportPath
# Générer l'événement Windows
$eventMessage = "Le chemin de clé 'C:\ProgramData\NinjaRMMAgent\components\njbar\njbar.exe' n'a pas été trouvé dans la base de registre."
Write-EventLog -LogName Application -Source $sourceName -EventId 1 -EntryType Error -Message $eventMessage
}
Si cela peut aider quelqu'un, voici le code.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 2 semaines 4 jours #33317
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Réponse de Arnaud Petitjean sur le sujet Besoin d'aide pour crée un PowerShell barre de notification
Hello Dorian,
Merci d'être venu poster la solution à ton problème. Ca pourra certainement aider quelques personnes.
Juste quelques petites remarques :
- Lorsque je crée des fonctions, je n'aime pas faire comme tu l'as fait. Je préfères utiliser plutôt un bloc Param car je trouve que c'est plus propre et plus clair. Je ne sais pas ce qu'en penses Laurent Dardenne, mais j'aimerais bien avoir ton avis.
- Le mot clé Return n'apporte rien dans ton code. En effet, c'est un faux-amis qui peut laisser croire que PowerShell ne retourne que ce qui est indiqué par la commande Return; ce qui est faux. Return n'est nécessaire qu'à l'intérieur d'une classe.
Arnaud
Merci d'être venu poster la solution à ton problème. Ca pourra certainement aider quelques personnes.
Juste quelques petites remarques :
- Lorsque je crée des fonctions, je n'aime pas faire comme tu l'as fait. Je préfères utiliser plutôt un bloc Param car je trouve que c'est plus propre et plus clair. Je ne sais pas ce qu'en penses Laurent Dardenne, mais j'aimerais bien avoir ton avis.
- Le mot clé Return n'apporte rien dans ton code. En effet, c'est un faux-amis qui peut laisser croire que PowerShell ne retourne que ce qui est indiqué par la commande Return; ce qui est faux. Return n'est nécessaire qu'à l'intérieur d'une classe.
Arnaud
MVP PowerShell et créateur de ce magnifique forum

Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ou d'un conseil ?
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Besoin d'aide pour crée un PowerShell barre de notification
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Besoin d'aide pour crée un PowerShell barre de notification