NAME

Set-RegString

SYNOPSIS

Sets or creates a string (REG_SZ) registry value on local or remote computers.

SYNTAX

Set-RegString [[-ComputerName] <>] [[-Hive] <>] [-Key] <> [-Value] <> [-Data] <> [-Force] [-View] [-Ping] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

 

PARAMETERS

-ComputerName <String[]>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? 1
Default value $env:COMPUTERNAME
Accept pipeline input? true (ByValue, ByPropertyName)
Accept wildcard characters? false

 

-Hive <String>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? 2
Default value LocalMachine
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false

 

-Key <String>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? true
Position? 3
Default value  
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false

 

-Value <String>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? true
Position? 4
Default value  
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? false

 

-Data <String>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? true
Position? 5
Default value  
Accept pipeline input? false
Accept wildcard characters? false

 

-Force <SwitchParameter>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value False
Accept pipeline input? false
Accept wildcard characters? false

 

-View <RegistryView>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value Default
Accept pipeline input? false
Accept wildcard characters? false

 

-Ping <SwitchParameter>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value False
Accept pipeline input? false
Accept wildcard characters? false

 

-PassThru <SwitchParameter>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value False
Accept pipeline input? false
Accept wildcard characters? false

 

-WhatIf <SwitchParameter>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value  
Accept pipeline input? false
Accept wildcard characters? false

 

-Confirm <SwitchParameter>

Adds a new member even the object has a custom member with the same name. You cannot use the Force parameter to replace a standard member of a type.

Required? false
Position? named
Default value  
Accept pipeline input? false
Accept wildcard characters? false

 

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS

 

OUTPUTS

PSFanatic.Registry.RegistryValue (PSCustomObject)

NOTES

Author: Shay Levy
Blog : http://PowerShay.com

EXAMPLES

-------------------------- EXAMPLE 1 --------------------------

C:\PS>$Key = "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"

Set-RegString -Key $Key -Value Notepad -Data "notepad.exe"

Description
-----------
The command Sets or Creates a registry value named Notepad on the local computer RunOnce key.
The name of ComputerName parameter, which is optional, is omitted.

-------------------------- EXAMPLE 2 --------------------------

C:\PS>[Environment]::Is64BitProcess

False

PS> Set-RegString -Hive LocalMachine -Key SOFTWARE\MyKey -ComputerName Server1 -Value 64String -Data powershell -View Registry64 -Force -PassThru

ComputerName Hive Key Value Data Type
------------ ---- --- ----- ---- ----
Server1 LocalMachine SOFTWARE\MyKey 64String powershell String


Description
-----------
This command is using an elevated 32-bit instance of Windows PowerShell to set values on
a 64-bit registry section of a remote 64-bit server. First we verify that the current console
is a 32-bit instance by using the Is64BitProcess system environment variable.

Connecting to the 64-bit section of the remote server registry is done using the View
parameter.

-------------------------- EXAMPLE 3 --------------------------

C:\PS>"SERVER1","SERVER1","SERVER3" | Set-RegString -Key $Key -Value Notepad -Data "notepad.exe" -Ping

Description
-----------
The command sets or creates a registry value named Notepad on three remote computers local computer's RunOnce key.
When the Switch parameter Ping is specified the command issues a ping test to each computer.
If the computer is not responding to the ping request a warning message is written to the console and the computer is not processed.

-------------------------- EXAMPLE 4 --------------------------

C:\PS>Get-Content servers.txt | Set-RegString -Key $Key -Value Notepad -Data "notepad.exe" -Force -PassThru

ComputerName Hive Key Value Data Type
------------ ---- --- ----- ---- ----
SERVER1 LocalMachine SOFTWARE\Microsoft\Windows\CurrentVersion\Run Notepad notepad.exe String
SERVER2 LocalMachine SOFTWARE\Microsoft\Windows\CurrentVersion\Run Notepad notepad.exe String
SERVER3 LocalMachine SOFTWARE\Microsoft\Windows\CurrentVersion\Run Notepad notepad.exe String

Description
-----------
The command uses the Get-Content cmdlet to get the server names from a text file.
It Sets or Creates a registry String value named Notepad on three remote computers.
By default, the caller is prompted to confirm each action. To override confirmations, the Force Switch parameter is specified.
By default, the command doesn't return any objects back. To get the values objects, specify the PassThru Switch parameter.

RELATED LINKS

http://psrr.codeplex.com
Get-RegString
Get-RegValue
Remove-RegValue
Test-RegValue

Last edited Jun 11, 2012 at 1:39 PM by Shay, version 3

Comments

No comments yet.