Invoke-GPUpdate
Schedules a remote Group Policy refresh on the specified computer.
Syntax
Invoke-GPUpdate
[-AsJob]
[-Boot]
[[-Computer] <String>]
[[-RandomDelayInMinutes] <Int32>]
[-Force]
[-LogOff]
[-Target <String>]
[<CommonParameters>]
Invoke-GPUpdate
[-AsJob]
[-Boot]
[[-Computer] <String>]
[[-RandomDelayInMinutes] <Int32>]
[-LogOff]
[-Target <String>]
[-Sync]
[<CommonParameters>]
Description
The Invoke-GPUpdate cmdlet refreshes Group Policy settings, including security settings that are set on remote computers by scheduling the running of the Gpupdate command on a remote computer. You can combine this cmdlet in a scripted fashion to schedule the Gpupdate command on a group of computers.
The refresh can be scheduled to immediately start a refresh of policy settings or wait for a specified period of time, up to a maximum of 31 days. To avoid putting a load on the network, the refresh times will be offset by a random delay.
Examples
Example 1: Schedule a Group Policy refresh on the current computer
PS C:\> Invoke-GPUpdate
This command schedules a Group Policy refresh on the computer on which you are running the Invoke-GPUpdate cmdlet.
Example 2: Schedule a Group Policy refresh on a remote computer
PS C:\> Invoke-GPUpdate -Computer "CONTOSO\COMPUTER-02" -Target "User"
This command schedules a Group Policy refresh on a remote computer named CONTOSO\COMPUTER-02 that only schedule to update the user policy settings in synchronous mode.
Parameters
-AsJob
Runs the cmdlet as a background job.
Use this parameter to run commands that take a long time to complete.
The cmdlet immediately returns an object that represents the job and then displays the command prompt.
You can continue to work in the session while the job completes.
To manage the job, use the *-Job
cmdlets.
To get the job results, use the Receive-Job cmdlet.
For more information about Windows PowerShell® background jobs, see about_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Boot
Indicates that the cmdlet restarts the computer after the Group Policy settings are applied. This is required for those Group Policy client side extensions (CSEs) that do not process Group Policy on a background update cycle, but do process Group Policy at computer startup, for instance, per-computer Software Installation policy settings.
This parameter has no effect if there are no CSEs called that require a restart.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Computer
Specifies the name of the computer for which this cmdlet schedules a Group Policy refresh. You can specify the computer name in one of the following formats:
Full computer name (FQDN computer name); for example, computer-01.sales.contoso.com.
Fully qualified domain name (FQDN)\computer name; for example, sales.contoso.com\computer-01.
NetBIOS domain name\computer name; for example, sales\computer-01.
Computer name (host name): for example, computer-01.
If the computer name is not specified, the computer in which this cmdlet is run will have its Group Policy settings refreshed.
Type: | String |
Aliases: | DNSHostName |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Forces the command to run without asking for user confirmation.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LogOff
Indicates that the cmdlet logs off the current user after the policy settings have been updated. This is required for those Group Policy client-side extensions (CSEs) that do not process Group Policy on a background update cycle but do process Group Policy when a user logs on. Examples include per-user Software Installation policy settings and the Folder Redirection extension.
This parameter has no effect if there are no CSEs called that require a logoff.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RandomDelayInMinutes
Specifies the delay, in minutes, that Task Scheduler waits, with a random factor added to lower the network load, before running a scheduled Group Policy refresh.
You can specify a delay in from 0 minutes to a maximum of 44640 minutes (31 days):
- A value of 0 causes the Group Policy refresh to run as soon as the gpupdate task has been scheduled.
-A value in the range of 1 minute to the maximum value of 44640 minutes cause the Group Policy refresh to delay the specified number of minutes plus a random offset before starting the Group Policy refresh.
Type: | Int32 |
Aliases: | RandomnessInMinutes |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Sync
Indicates that the cmdlet processes the next foreground Group Policy application to be done synchronously. Foreground Group Policy applications occur at computer startup and user logon. You can specify this for the user, computer or both using the Target parameter.
On a client computer, by default, Group Policy processes synchronously at computer startup and asynchronously at user logon.
On a server, by default, Group Policy processes synchronously at computer startup and at user logon.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Target
Specifies that only the user or computer policy settings are refreshed. By default, both user and computer policy settings are refreshed.
The acceptable values for this parameter are:
- User
- Computer
If the Target parameter is not specified both user and computer policy settings are refreshed.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
This cmdlet does not take any object as input.
Outputs
None
This cmdlet does not generate any output.
Notes
- This cmdlet does not support scheduling a Group Policy refresh for computers running Windows XP or earlier.
- In order to successfully schedule a Group Policy refresh for computers using this cmdlet, the following Firewall rules must be set on each client computer to allow the following connections:
- Remote Scheduled Tasks Management (RPC)
- Remote Scheduled Tasks Management (RPC-ERMAP)
- Windows Management Instrumentation (WMI-IN)