Sunday, April 12, 2015

Changing Registry Key Values using PowerShell

As you may be knowing, you can use Windows PowerShell to change registry values. In this article I am going to do five things.

I have created few registry entries to use in this example as seen below. In real world you can use whatever entries in your registry. It is always advisable to backup your registry before changing it.

clip_image002[13]

1. Set a registry key value.

To set a value you need to use the “Set-ItemProperty” cmdlet as below.

Set-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "TestValue2" –Value “TestData2”

Above command will put “TestData2” in the registry key “TestValue2” located in HKEY_LOCAL_MACHINE\Software\Test\Live.

 

2. Read a registry key value.

Reading from the registry can be done by using the cmdlet “Get-ItemProperty”.

Below command will get the value in the “TestValue1” key.

Get-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "TestValue1"

 

3. Using variables in PowerShell.

Here I am going to read a registry key value and put it to another registry key. This can be done using a variable. First you need to read the value into a variable using the “Get-ItemProperty” cmdlet and that value can be saved using the “Set-ItemProperty” cmdlet.





  1. # Check for the existance of the registry key.
  2. IF (Get-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "TestValue1" -ea 0)
  3. {
  4.     # Fetching the value from TestValue1.
  5.     $OldValue = Get-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "TestValue1"
  6. }
  7. ELSE
  8. {
  9. # Inserting a blank, if the registry key is not present.
  10.     $OldValue = ""
  11. }
  12. # Printing the value in the variable.
  13. Write-Host $OldValue.TestValue1
  14. # Setting the value to TestValue2.
  15. Set-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "TestValue2" -Value $OldValue.TestValue1




4. Working with registry keys with spaces.

In case your registry keys contain spaces, you need to use double quotes in your script as seen below.





  1. # Check for the existance of the registry key.
  2. IF (Get-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "Test Value 1" -ea 0)
  3. {
  4.     # Fetching the value from Test Value 1.
  5.     $OldValue = Get-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "Test Value 1"
  6. }
  7. ELSE
  8. {
  9.     # Inserting a blank, if the registry key is not present.
  10.     $OldValue = ""
  11. }
  12. # Printing the value in the variable.
  13. Write-Host $OldValue."Test Value 1"
  14. # Setting the value to Test Value 2.
  15. Set-ItemProperty -Path "HKLM:\Software\Test\Live" -Name "Test Value 2" -Value $OldValue."Test Value 1"




 

5. Saving PowerShell commands as scripts and running them.

Both above can be saved as a PowerShell script by saving it in a file with the extension ps1. For example I did save it as “ChangeReg.ps1” in my C drive inside the folder “new”. Then the script can be run by browsing to the folder and using the command “.\ChangeReg.ps1”.

clip_image002[10]

After the script is run my registry keys looked like this.

clip_image002[3]

In case you need to retrieve values from other registry hives (locations), following table may be helpful.

 

Registry Hive

Abbreviation

1. HKEY_CLASSES_ROOT HKCR
2. HKEY_CURRENT-USER HKCU
3. HKEY_LOCAL_MACHINE HKLM
4. HKEY_USERS HKU
5. HKEY_CURRENT_CONFIG HKCC

 

In case you need to read more on “Get-ItemProperty” and “Set-ItemProperty”, use the links to visit official documentation from Microsoft TechNet.

Sunday, February 01, 2015

Deleting Service Application Pools in SharePoint 2010

Recently while deleting a service application my system got unresponsive and while trying to create the service application again i constantly got the following error.

“An unhandled exception occurred in the user interface.Exception Information: An object of the type Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool named "SearchServiceApplication" already exists under the parent Microsoft.SharePoint.Administration.SPIisWebServiceSettings named "SharePoint Web Services". Rename your object or delete the existing object.”

This seems to be happening because one of the service application pools were not removed while deleting the service application. This can be removed by using PowerShell.

First load the SharePoint 2010 Management Shell by navigating to Start –> Microsoft SharePoint 2010 Products –> SharePoint 2010 Management Shell.

SPStartMenu

Then use the “Get-SPServiceApplicationPool” command to view all the existing service application pools.

Get-SPServiceApplicationPool

Now use the “Remove-SPServiceApplicationPool -Identity SearchServiceApplicationPoolName” command to remove the service application you want removed. If the service application pool’s name is having spaces remember to use double quotes.

Remove-SPServiceApplicationPool -Identity SearchServiceApplicationPool1

PowerShell will ask to confirm the deletion, after confirming the action, it will remove the service application pool.

Saturday, January 24, 2015

Magnetic Hill – Black Rock South Australia

If you like to experience nature’s amazing things it has to offer, one place you should not miss is the magnetic mountain in Black Rock South Australia. What is interesting in this place is that natural (magnetic) forces will take your car up the hill without the engine power.

Normally if you switch your car off, put it to neutral while at the middle of a hill and release the brake, your car will start moving downhill, but in this mountain your car will start moving up the hill. When I read about the place prior to my visit I thought it is a illusion in the eye. But after visiting the place I got amazed by seeing the way it moved my vehicle up the hill. To experience this I would encourage you to visit this mountain.

Magnetic Hill is located about 260 km from Adelaide and will take about 3 hour 30 minutes. The road to the magnetic hill is a unsealed road, but you can use a 2WD car to reach there.

Until you visit Magnetic Hill your self, enjoy me travelling up the hill while my engine is off.

Map


View Larger Map

Monday, January 05, 2015

Harben Vale Cherry Farm – Balhannah South Australia

If you like Cherries like me, another orchard you should visit is Harben Vale Cherries in Balhannah SA 5242. Located on Altmanns road, this orchard is about 100 hectares and produce Beef cattle, Potatoes and Cherries. This is a family owned farm which was with Altmann’s family for some 160 years.

They have started growing Cherries for about 10 to 12 years now and has a very open rural outlook rather than the steeper more traditional areas around Lenswood. You will find ample free parking in the property. This orchard has about 8 main Cherry varieties grown in 3 Hectares. Picking is easy since the trees are well trained and you can easily pick Cherries without using ladders.

Cherry season is a short 2 month period normally from December to January each year. Produce might even finish before the end of the season depending of the number of people visiting farms, So always call or check their web site before visiting. Current farm managers, Wayne and Julie Altman are very friendly people and they would be happy to help if you contact them.

When visiting, it is better to wear shoes in which you can easily walk on grass. Since it will be summer, hats are also recommended. Buckets will be provided to all visitor groups to pick Cherries into so you do not want to take anything for collecting what you pick. At the time I visited, they did not charge any admission fee and one kilo of Cherries were sold for $ 5. These prices can always change so I recommend you to check with the owners before picking since whatever you pick, you should buy. Since these Cherries are fresh you can keep them for few weeks without any problems, if you freeze you may even be able to keep them for few months. But I like to consume them within 2 – 3 weeks from picking.

Address : Altmanns Road, Balhannah 5242.
Phone : 04 3900 1962
EMail : wjaltman@adam.com.au
Web : http://harbenvale.com/

 

Map