Commandes disponibles
Ci-dessous se trouve une liste de toutes les commandes disponibles dans Specops GPUpdate Professional.
GPUpdate
Actualise les paramètres de stratégie de groupe locaux et basés sur Active Directory, y compris les paramètres de sécurité sur un ordinateur distant.
Prérequis
Pour exécuter avec succès la commande GPUpdate, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
Cmdlet PowerShell
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# Exécuter GPUpdate sur tous les ordinateurs du groupe de sécurité des serveurs web
Get-SpecopsADComputer -group:webservers | Update-SpecopsGroupPolicy
# Exécuter GPUpdate sur tous les serveurs qui ne sont pas des serveurs web
$servers = Get-SpecopsADComputer -group:servers
$webservers = Get-SpecopsADComputer -group:webservers
$servers | where { webservers -notcontains $_ } | Update-SpecopsGroupPolicy
Mise à jour Windows
La commande Windows Update force le client Windows Update sur les ordinateurs distants à vérifier si les services de mise à jour Windows Server (WSUS) ou Windows Update ont de nouveaux correctifs.
Prérequis
Pour exécuter avec succès la commande Windows Update, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
Cmdlet PowerShell
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemple
Update-SpecopsGroupPolicy
-ADComputer <ADComputer[]>
-Force
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Démarrer l'ordinateur
Envoie un paquet réseau magique Wake On Lan à un ordinateur distant.
Utilisation du fichier de propriétés personnalisées pour prendre en charge les clients DHCP non Microsoft.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exception de pare-feu: Le numéro de port spécifié lors de l'exécution de la commande doit être autorisé à travers tous les périphériques réseau, comme les pare-feu et les routeurs.
- Permissions du serveur DHCP: Pour interroger les ordinateurs sur un serveur DHCP, l'appelant doit être au moins membre du groupe Utilisateurs DHCP. D'autres groupes valides sont les administrateurs locaux ou les administrateurs DHCP.
Cmdlet PowerShell
Start-SpecopsComputer
[-ADComputer <ADComputer[]>]
-DhcpServer
-Port <Int32>
-WaitForStart
-WaitForStartSeconds <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Start-SpecopsComputer
[-ADComputer <ADComputer[]>]
-Port <Int32>
-WaitForStart
-WaitForStartSeconds <Int32>
-IPAddress <String>
-MacAddress <String>
-SubnetMask <String>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# envoyer une demande Wake On Lan à toutes les stations de travail
Get-SpecopsADComputer -Name:WorkStation* | Start-SpecopsComputer
# envoyer une demande Wake On Lan à toutes les stations de travail
# et attendre qu'elles démarrent
Get-SpecopsADComputer -Name:WorkStation* | Start-SpecopsComputer
-WaitForStart
-WaitForStartSeconds:60
-ErrorVariable:notStarted
# s'il y a eu des erreurs, cela nous donne les ordinateurs défaillants
$notStartedComputers = $notStarted | foreach { $_.TargetObject }
# si plus tard nous vérifierons si les non-démarrés
# ordinateurs ont démarré,
# nous pouvons exécuter
$notStartedComputers | Ping-SpecopsComputer
# Ignorer la recherche DHCP pour tous les ordinateurs qui ont des entrées dans le
# fichier NetworkInfo.csv au format
# Nom,AdresseIP,AdresseMac,MasqueSousRéseau
# Ordinateur1,192.168.0.5,aabbccddeeff,255.255.255.0
# ...
Set-Alias gsac Get-SpecopsADComputer
gsac Computer* -CustomPropertyFile:c:\data\NetworkInfo.csv | Start-SpecopsComputer
Éteindre l'ordinateur
Éteint un ordinateur distant. Un message est affiché à l'utilisateur pendant un 'WarningTime' spécifié. Si un utilisateur a du travail non sauvegardé, l'arrêt sera annulé, sauf si l'option 'ForceCloseApplications' est spécifiée.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exception de pare-feu: Pour exécuter avec succès la commande Éteindre l'ordinateur, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
- Identifiants administratifs: Pour éteindre un ordinateur distant, l'appelant doit avoir le privilège d'arrêt forcé depuis un système distant sur l'ordinateur distant. Par défaut, le groupe Administrateurs locaux se voit attribuer le privilège sur les stations de travail et les serveurs. Sur les contrôleurs de domaine, les groupes Opérateurs de serveur se voient également attribuer le privilège.
Cmdlet PowerShell
Stop-SpecopsComputer
-ADComputer <ADComputer[]>
[-Message <String>]
-ForceCloseApplications
[-WarningTime <Int32>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# éteindre tous les ordinateurs clients
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer
# vérifier quels ordinateurs clients seraient éteints
# notez qu'aucune action ne sera entreprise
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -WhatIf
# éteindre tous les ordinateurs clients
# mais avoir la possibilité de confirmer chaque action
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -Confirm
# éteindre tous les ordinateurs clients, même s'ils ont du travail non sauvegardé
Get-SpecopsADComputer -group:ClientComputers | Stop-SpecopsComputer -ForceCloseApplications
# éteindre tous les ordinateurs clients, même s'ils ont du travail non sauvegardé
$computers = Get-SpecopsADComputer -group:ClientComputers $computers |
Send-SpecopsMessage -Message:'Cet ordinateur sera éteint dans 5 minutes'
# Attendre 4 minutes
Start-Sleep -Seconds:240
$computers | Stop-SpecopsComputer
-ForceCloseApplications -WarningTime:60 -Message:'1 minute avant l'arrêt'
Redémarrer l'ordinateur
Redémarre un ordinateur distant. Un message est affiché à l'utilisateur pendant un 'WarningTime' spécifié. Si un utilisateur a du travail non sauvegardé, le redémarrage sera annulé, sauf si l'option 'ForceCloseApplications' est spécifiée.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande.
- Exception de pare-feu: Pour exécuter avec succès la commande Redémarrer l'ordinateur, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
- Identifiants administratifs: Pour redémarrer un ordinateur distant, l'appelant doit avoir le privilège d'arrêt forcé depuis un système distant sur l'ordinateur distant. Par défaut, le groupe Administrateurs locaux se voit attribuer le privilège sur les stations de travail et les serveurs. Sur les contrôleurs de domaine, les groupes Opérateurs de serveur se voient également attribuer le privilège.
Cmdlet PowerShell
Restart-SpecopsComputer
-ADComputer <ADComputer[]>
[-Message <String>]
-ForceCloseApplications
[-WarningTime <Int32>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# redémarrer tous les ordinateurs clients
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer
# vérifier quels ordinateurs clients seraient redémarrés
# notez qu'aucune action ne sera entreprise
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer -WhatIf
# redémarrer tous les ordinateurs clients
# mais avoir la possibilité de confirmer chaque action
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer -Confirm
# redémarrer tous les ordinateurs clients, même s'ils ont du travail non sauvegardé
Get-SpecopsADComputer -group:ClientComputers | Restart-SpecopsComputer
-ForceCloseApplications
# redémarrer tous les ordinateurs clients, même s'ils ont du travail non sauvegardé
$computers = Get-SpecopsADComputer -group:ClientComputers
$computers | Send-SpecopsMessage -Message:'Cet ordinateur sera éteint dans 5 minutes'
# Attendre 4 minutes
Start-Sleep -Seconds:240
$computers | Restart-SpecopsComputer -ForceCloseApplications -WarningTime:60
-Message:'1 minute avant l'arrêt'
Ping
Envoie un message d'écho du protocole de message de contrôle Internet (ICMP) à un ordinateur distant.
La topologie du réseau peut déterminer si Ping peut contacter avec succès un hôte distant. La présence et la configuration de proxys, d'équipements de traduction d'adresses réseau (NAT) ou de pare-feu peuvent empêcher Ping de réussir. Un Ping réussi indique seulement que l'hôte distant peut être atteint sur le réseau ; la présence de services de niveau supérieur (comme un serveur Web) sur l'hôte distant n'est pas garantie.
Prérequis
Pour exécuter avec succès la commande Ping, tous les ordinateurs distants doivent autoriser les messages de demande d'écho ICMP entrants à travers le Pare-feu Windows.
Remarque
Si un paramètre de stratégie ouvre le port TCP 445, le Pare-feu Windows autorise automatiquement les messages de demande d'écho ICMP entrants, même si le paramètre de stratégie du Pare-feu Windows: Autoriser les exceptions ICMP les bloquerait.
Cette procédure peut être effectuée à l'aide de la stratégie de groupe:
- Ouvrez le composant logiciel enfichable Éditeur d'objet de stratégie de groupe pour modifier l'objet de stratégie de groupe (GPO) utilisé pour gérer les paramètres du Pare-feu Windows dans votre organisation.
- Ouvrez Configuration de l'ordinateur, ouvrez Modèles d'administration, ouvrez Réseau, ouvrez Connexions réseau, ouvrez Pare-feu Windows, puis ouvrez soit Profil de domaine soit Profil standard, selon le profil que vous souhaitez configurer.
- Dans le volet des détails, double-cliquez sur Pare-feu Windows: Autoriser les exceptions ICMP.
- Dans la boîte de dialogue des propriétés de Pare-feu Windows: Autoriser les exceptions ICMP, dans l'onglet Paramètres, cliquez sur Activé.
- Cochez la case Autoriser la demande d'écho entrante, et cliquez sur OK.
Cmdlet PowerShell
Ping-SpecopsComputer
-ADComputer <ADComputer[]>
-Timeout <Int32>
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# ping tous les ordinateurs dont les noms correspondent au modèle serveur*
# et créer des enregistrements d'erreur pour tous les ordinateurs qui n'ont pas répondu
# dans les 10 ms.
Ping-SpecopsComputer Server* -Timeout:10
# ping les serveurs web
$pingResponse = Get-SpecopsADComputer
-group:WebServers | Ping-SpecopsComputer
-ErrorVariable:pingError
$noPingResponse = $pingError | foreach {
$_.TargetObject
}
Envoyer un message
Envoie un message à tous les utilisateurs connectés d'un ordinateur distant. Le message sera affiché dans une boîte de message sur l'ordinateur distant.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exception de pare-feu: Pour exécuter avec succès la commande Envoyer un message, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
- Service Messenger: Pour pouvoir exécuter la commande Envoyer un message sur les ordinateurs Windows 2000, le service Messenger doit être démarré sur ces ordinateurs.
Cmdlet PowerShell
Send-SpecopsMessage
-ADComputer <ADComputer[]>
-Message <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# envoyer un message à toutes les stations de travail
Send-SpecopsMessage WorkStation* -Message:"Je rentre à la maison"
# envoyer un message à tous les ordinateurs de l'OU RessourcesHumaines
Get-SpecopsADComputer -OU:HumanResources | Send-SpecopsMessage -Message:"Je veux une augmentation !"
Lire le registre distant
Lit une valeur de registre sur une machine distante. Si aucune valeur n'est spécifiée, la valeur par défaut, non nommée, de la clé de registre sera récupérée.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exception de pare-feu: Pour exécuter avec succès la commande Lire le registre distant, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
- Service de registre distant: Pour exécuter avec succès la commande Lire le registre distant, le service de registre distant doit être démarré sur tous les ordinateurs distants. Si le service de registre distant n'est pas démarré sur les ordinateurs distants, le message d'erreur "L'interface est inconnue" sera affiché.
Cmdlet PowerShell
Get-SpecopsRemoteRegistry
-ADComputer <ADComputer[]>
-Key <String>
[-Value <String>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# trouver tous les serveurs qui ont au moins .Net Framework 3.5 sp1
$servers = Get-SpecopsADComputer -group:Servers
$key = 'HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v3.5'
$net35sp1Servers = $servers | Get-SpecopsRemoteRegistry
-key:$key
-value:SP | Where {
$_.RegValue -ge 1
}
# trouver ceux qui ne l'ont pas
$noNet35sp1 = $servers | Where { $net35sp1Servers -notContains $_ }
# La variable $noNet35sp1 contient maintenant tous les serveurs qui n'ont pas .NET3.5 sp1 installé
Exécuter un exécutable
Fournit la possibilité d'exécuter un exécutable local avec le nom de l'ordinateur distant comme argument.
Le nom de l'ordinateur distant remplacera toutes les occurrences de %1% dans les arguments fournis.
Prérequis
Dépend de l'application qui est exécutée.
Cmdlet PowerShell
Invoke-SpecopsCommand
-ADComputer <ADComputer[]>
-Command <String>
-Arguments <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exécuter un exécutable à distance
Démarre un programme sur des ordinateurs distants, par exemple exécuter Regedit.exe avec un fichier de registre pour écrire des valeurs sur des ordinateurs distants.
Prérequis
Pour exécuter avec succès la commande Exécuter un exécutable à distance, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
Cmdlet PowerShell
Invoke-SpecopsRemoteCommand
-ADComputer <ADComputer[]>
-Command <String>
-Arguments <String>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# entrer des valeurs d'un fichier reg à tous les ordinateurs d'un groupe
# créer d'abord un fichier de registre à un emplacement public
$regText = @"
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000040
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000040
"@
$regFilePath = '\\Server1\PublicShare\cmdproc.reg'
$regText | Out-File -FilePath:$regFilePath
# puis dire à tous les ordinateurs d'un groupe de
# ajouter l'information
# au registre
Get-SpecopsADComputer
-group:DeveloperComputers | Invoke-SpecopsRemoteCommand
-Command:regedit.exe
-Arguments:"/s $regFilePath"
Démarrer l'Observateur d'événements
Démarre une instance de l'Observateur d'événements connectée à un ordinateur distant.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exception de pare-feu: Pour exécuter avec succès la commande Démarrer l'Observateur d'événements, l'ordinateur concerné doit avoir l'exception d'administration à distance du Pare-feu Windows activée.
- Service de registre distant: Pour exécuter avec succès la commande Démarrer l'Observateur d'événements, le service de registre distant doit être démarré sur l'ordinateur distant. Si le service de registre distant n'est pas démarré sur l'ordinateur distant, le message d'erreur "L'interface est inconnue" sera affiché.
Cmdlet PowerShell
Start-SpecopsEventViewer
-ADComputer <ADComputer[]>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
Démarrer l'Explorateur
Démarre une fenêtre de l'explorateur affichant un lecteur sur un ordinateur distant.
Prérequis
Pour exécuter avec succès la commande Démarrer l'Explorateur, tous les ordinateurs concernés doivent avoir l'exception d'administration à distance du Pare-feu Windows activée.
Cmdlet PowerShell
Start-SpecopsExplorer
-ADComputer <ADComputer[]>
[-DriveLetter <String>]
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
Démarrer le Bureau à distance
Initie une session de bureau à distance avec l'ordinateur distant.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande:
- Exigences système: L'ordinateur distant doit exécuter Windows XP, Windows 2003, Windows Vista ou Windows Server 2008.
- Exception de pare-feu: Pour exécuter avec succès la commande Bureau à distance, l'ordinateur concerné doit avoir l'exception de bureau à distance du Pare-feu Windows activée.
Cmdlet PowerShell
Start-SpecopsRemoteDesktop
-ADComputer <ADComputer[]>
-Console
-FullScreen
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm
Exemples
# Démarrer une session de bureau à distance avec l'ordinateur Client47
Start-SpecopsRemoteDesktop Client47 -Fullscreen -Console
Démarrer l'assistance à distance
Initie une session d'assistance à distance avec l'ordinateur distant.
Prérequis
Les prérequis suivants doivent être remplis pour exécuter avec succès la commande.
- Exigences système: L'ordinateur distant doit exécuter Windows XP, Windows 2003, Windows Vista ou Windows Server 2008.
- Exceptions de pare-feu
- Exception d'administration à distance
- Exception de bureau à distance
Exceptions de programme
Cette procédure peut être effectuée à l'aide de la stratégie de groupe.
- Ouvrez le composant logiciel enfichable Éditeur d'objet de stratégie de groupe pour modifier l'objet de stratégie de groupe (GPO) utilisé pour gérer les paramètres du Pare-feu Windows dans votre organisation.
- Ouvrez Configuration de l'ordinateur, ouvrez Modèles d'administration, ouvrez Réseau, ouvrez Connexions réseau, ouvrez Pare-feu Windows, puis ouvrez soit Profil de domaine soit Profil standard, selon le profil que vous souhaitez configurer.
- Dans le volet des détails, double-cliquez sur Pare-feu Windows: Définir les exceptions de programme.
- Dans le Pare-feu Windows: Dans la boîte de dialogue Définir les propriétés des exceptions de programme, dans l'onglet Paramètres, cliquez sur Activé.
- Cliquez sur le bouton Afficher.
- Ajoutez les entrées suivantes pour Windows XP et Windows Server 2003:
- %WINDIR%\PCHealth\HelpCtr\Binaries\Helpctr.exe:*:Activé:Offrir une Assistance à Distance – Messenger
- %WINDIR%\PCHealth\HelpCtr\Binaries\Helpsvc.exe:*:Activé:Offrir une Assistance à Distance
- %WINDIR%\System32\Sessmgr.exe:*:Activé:Assistance à Distance
- Ajoutez les entrées suivantes pour Windows Vista et Windows Server 2008:
- %WINDIR%\System32\msra.exe:*:Activé:Client d'Assistance à Distance
- %WINDIR%\System32\raserver.exe:*:Activé:Serveur d'Assistance à Distance
Activer l'Assistance à Distance sur les ordinateurs distants
La commande Assistance à Distance utilise le concept d'Offrir une Assistance à Distance. Elle est utilisée lorsque le service d'assistance souhaite offrir de l'aide à un utilisateur même si celui-ci ne l'a pas demandée. Cette procédure peut être effectuée à l'aide de la Stratégie de Groupe.
- Ouvrez le composant logiciel enfichable Éditeur d'Objet de Stratégie de Groupe pour modifier l'objet de stratégie de groupe (GPO) utilisé pour gérer les paramètres d'Assistance à Distance dans votre organisation.
- Ouvrez Configuration de l'ordinateur, ouvrez Modèles d'administration, ouvrez Système et ouvrez Assistance à Distance.
- Dans le volet des détails, double-cliquez sur le paramètre Offrir une Assistance à Distance.
- Dans la boîte de dialogue des propriétés d'Offrir une Assistance à Distance, cliquez sur Activé, puis sélectionnez soit Autoriser les assistants à seulement voir l'ordinateur, soit Autoriser les assistants à contrôler l'ordinateur à distance.
- Pour configurer la liste des assistants, cliquez sur le bouton Afficher. Cela ouvre une nouvelle fenêtre où vous pouvez entrer les noms des assistants. Ajoutez chaque utilisateur ou groupe un par un. Lorsque vous entrez le nom de l'utilisateur assistant ou des groupes d'utilisateurs, utilisez le format \
\ ou \\ .
Cmdlet PowerShell
Start-SpecopsRemoteAssistance
-ADComputer <ADComputer[]>
-NoPing
-PingTimeout <Int32>
-PassThru
-Verbose
-Debug
-ErrorAction <ActionPreference>
-ErrorVariable <String>
-OutVariable <String>
-OutBuffer <Int32>
-WhatIf
-Confirm