Question
Cacher exécution fenêtre scripts
- rhiwotar
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 1
il y a 11 mois 6 jours #32918
par rhiwotar
Cacher exécution fenêtre scripts a été créé par rhiwotar
Bonjour !!
Petite question pas exactement powershell mais vous connaissaient peut-être la réponse.
J'ai des scripts qui s'éxecute à l'ouverture de sessions (par GPO) ou via des taches planifiées et je voudrais masquer les fenêtres qui apparaissent.
Pour l'ouverture de session, j'ai rien trouvé et pour les taches planifiées, j'ai beau mettre "-windowstyle hidden" en argument, ça veut rien savoir.
Merci d'avance!
Petite question pas exactement powershell mais vous connaissaient peut-être la réponse.
J'ai des scripts qui s'éxecute à l'ouverture de sessions (par GPO) ou via des taches planifiées et je voudrais masquer les fenêtres qui apparaissent.
Pour l'ouverture de session, j'ai rien trouvé et pour les taches planifiées, j'ai beau mettre "-windowstyle hidden" en argument, ça veut rien savoir.
Merci d'avance!
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 179
- Remerciements reçus 37
il y a 11 mois 6 jours #32919
par ericlm128
Réponse de ericlm128 sur le sujet Cacher exécution fenêtre scripts
Hi,
Pour le planificateur de tâche tu peux tenter l'option "Masquer".
De façon plus général tu dois passer par un autre programme ou script qui n'est pas un programme en mode console et qui te permettra de masquer une exécution.
Tantôt j'utilisais un exe compilé en Autotit. Assez simple à faire avec la commande RunWait
Ou un script vbs : winaero.com/run-a-program-hidden-in-windows-10/
Ou un programme tiers comme cmdow (souvent détecté comme un malware ) : ritchielawrence.github.io/cmdow/
Voir aussi NirCmd sur le fameux site de NirSoft www.nirsoft.net/utils/nircmd.html
Je te conseil tout de même le vbs plus simple et lisible (script)
Sinon il m'arrive aussi de ne pas souhaiter le masquer complètement, je fait donc une auto-réduction (minimiser) dans le script PowerShell. Peut être que cela pourrait suffire même si il y a un pop d'une fenêtre.
Pour le planificateur de tâche tu peux tenter l'option "Masquer".
De façon plus général tu dois passer par un autre programme ou script qui n'est pas un programme en mode console et qui te permettra de masquer une exécution.
Tantôt j'utilisais un exe compilé en Autotit. Assez simple à faire avec la commande RunWait
Ou un script vbs : winaero.com/run-a-program-hidden-in-windows-10/
Ou un programme tiers comme cmdow (souvent détecté comme un malware ) : ritchielawrence.github.io/cmdow/
Voir aussi NirCmd sur le fameux site de NirSoft www.nirsoft.net/utils/nircmd.html
Je te conseil tout de même le vbs plus simple et lisible (script)
Sinon il m'arrive aussi de ne pas souhaiter le masquer complètement, je fait donc une auto-réduction (minimiser) dans le script PowerShell. Peut être que cela pourrait suffire même si il y a un pop d'une fenêtre.
#region MINIMIZE me
function Set-WindowState {
param(
[Parameter()]
[ValidateSet('FORCEMINIMIZE', 'HIDE', 'MAXIMIZE', 'MINIMIZE', 'RESTORE',
'SHOW', 'SHOWDEFAULT', 'SHOWMAXIMIZED', 'SHOWMINIMIZED',
'SHOWMINNOACTIVE', 'SHOWNA', 'SHOWNOACTIVATE', 'SHOWNORMAL')]
[Alias('Style')]
[String] $State = 'SHOW',
[Parameter(ValueFromPipelineByPropertyname='True')]
[System.IntPtr] $MainWindowHandle = (Get-Process –id $pid).MainWindowHandle,
[Parameter()]
[switch] $PassThru
)
BEGIN
{
$WindowStates = @{
'FORCEMINIMIZE' = 11
'HIDE' = 0
'MAXIMIZE' = 3
'MINIMIZE' = 6
'RESTORE' = 9
'SHOW' = 5
'SHOWDEFAULT' = 10
'SHOWMAXIMIZED' = 3
'SHOWMINIMIZED' = 2
'SHOWMINNOACTIVE' = 7
'SHOWNA' = 8
'SHOWNOACTIVATE' = 4
'SHOWNORMAL' = 1
}
$Win32ShowWindowAsync = Add-Type –memberDefinition @"
[DllImport("user32.dll")]
public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@ -Name "Win32ShowWindowAsync" -Namespace Win32Functions -PassThru
}
PROCESS
{
$Win32ShowWindowAsync::ShowWindowAsync($MainWindowHandle, $WindowStates[$State]) | Out-Null
Write-Verbose ("Set Window State on '{0}' to '{1}' " -f $MainWindowHandle, $State)
if ($PassThru)
{
Write-Output $MainWindowHandle
}
}
END
{
}
}
try
{
Get-Process -ID $PID | Set-WindowState -State MINIMIZE
} catch {}
#endregion
Connexion ou Créer un compte pour participer à la conversation.
- rhiwotar
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 1
il y a 11 mois 4 jours - il y a 11 mois 4 jours #32923
par rhiwotar
Réponse de rhiwotar sur le sujet Cacher exécution fenêtre scripts
Salut,
D'accord merci, je pensais à un truc plus intégré
Je vais tenter un script d'appel avec juste un
voir si c'est déjà plus discret
D'accord merci, je pensais à un truc plus intégré
Je vais tenter un script d'appel avec juste un
start-process monscript.ps1 -windowsstyle -hidden
voir si c'est déjà plus discret
Dernière édition: il y a 11 mois 4 jours par rhiwotar.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.067 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Cacher exécution fenêtre scripts