Skip to main content

Accessing the Values of Properties

We need to be able to access the values of properties to make decisions.  There are multiple ways to do this.
Using Select-Object
PS C:\> Get-Volume | Select-Object -ExpandProperty Size
471855104
366997504
255919648768
255919648768
515895296
116280782848
9694433280

Using dot notation
PS C:\> (Get-Volume).Size
471855104
366997504
255919648768
255919648768
515895296
116280782848
9694433280

Using a variable
PS C:\> $Data = Get-Volume

PS C:\> $Data.Size
471855104
366997504
255919648768
255919648768
515895296
116280782848
9694433280

Using array syntax
PS C:\> $Data[0].Size
471855104

You have access to all information in a property.  Just choose the method that works best for you and your situation. The important thing to remember is that Get-Member shows you the correct property name to use.  Some formatted output changes the property names.
PS C:\> Get-Process | Select-Object -First 1

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id  SI ProcessName                
-------  ------    -----      ----- -----   ------     --  -- -----------                
    106      10     1564       3640    91    73.70   7080   1 ApMsgFwd 

Notice the name of the column CPU(S).  If you try to use it, you will not get good results.
PS C:\> Get-Process | Select-Object -Property "CPU(S)"

CPU(S)
------
      

Using Get-Member you will discover that the correct name of the property is actually CPU.  Now you get the correct results.
PS C:\> Get-Process | Select-Object -Property "CPU"

        CPU
        ---
  73.828125
   46.34375
   52.03125



Comments

Popular posts from this blog

How to list all the AD LDS instances on a server

AD LDS allows you to provide directory services to applications that are free of the confines of Active Directory.  To list all the AD LDS instances on a server, follow this procedure: Log into the server in question Open a command prompt. Type dsdbutil and press Enter Type List Instances and press Enter . You will receive a list of the instance name, both the LDAP and SSL port numbers, the location of the database, and its status.

How to run GPResult on a remote client with PowerShell

In the past, to run the GPResult command, you would need to either physically visit this client, have the user do it, or use and RDP connection.  In all cases, this will disrupt the user.  First, you need PowerShell remoting enabled on the target machine.  You can do this via Group Policy . Open PowerShell and type this command. Invoke-Command –ScriptBlock {GPResult /r} –ComputerName <ComputerName> Replace <ComputerName> with the name of the target.  Remember, the target needs to be online and accessible to you.

Error icon when creating a GPO Preference drive map

You may not have an error at all.  Take a look at the drive mapping below. The red triangle is what threw us off.  It is not an error.  It is simply a color representation of the Replace option of the Action field in the properties of the drive mappings. Create action This give you a green triangle. The Create action creates a new mapped drive for users. Replace Action The Replace action gives you a red triangle.  This action will delete and recreate mapped drives for users. The net result of the Replace action is to overwrite all existing settings associated with the mapped drive. If the drive mapping does not exist, then the Replace action creates a new drive mapping. Update Action The Update action will have a yellow triangle. Update will modify settings of an existing mapped drive for users. This action differs from Replace in that it only updates settings defined within the preference item. All other settings remain as configured on the ma...