Select-DbaObject
|
|
Author |
Friedrich Weinmann (@FredWeinmann) |
Availability |
Windows, Linux, macOS |
Want to see the source code for this command? Check out Select-DbaObject on GitHub.
Want to see the Bill Of Health for this command? Check out Select-DbaObject.
Synopsis
Wrapper around Select-Object, extends property parameter.
Description
Wrapper around Select-Object, extends property parameter.
This function allows specifying in-line transformation of the properties specified without needing to use complex hashtables.
For example, renaming a property becomes as simple as 'Length as Size'
Also supported:
- Specifying a typename
- Picking the default display properties
- Adding to an existing object without destroying its type
See the description of the Property parameter for an exhaustive list of legal notations for in-line transformations.
Syntax
Select-DbaObject
[-Property <DbaSelectParameter[]>]
[-Alias <SelectAliasParameter[]>]
[-ScriptProperty <SelectScriptPropertyParameter[]>]
[-ScriptMethod <SelectScriptMethodParameter[]>]
[-InputObject ]
[-ExcludeProperty <string[]>]
[-ExpandProperty ]
-Unique
[-Last ]
[-First ]
[-Skip ]
-Wait
[-ShowProperty <string[]>]
[-ShowExcludeProperty <string[]>]
[-TypeName ]
-KeepInputObject
[]
Select-DbaObject
[-Property <DbaSelectParameter[]>]
[-Alias <SelectAliasParameter[]>]
[-ScriptProperty <SelectScriptPropertyParameter[]>]
[-ScriptMethod <SelectScriptMethodParameter[]>]
[-InputObject ]
[-ExcludeProperty <string[]>]
[-ExpandProperty ]
-Unique
[-SkipLast ]
[-ShowProperty <string[]>]
[-ShowExcludeProperty <string[]>]
[-TypeName ]
-KeepInputObject
[]
Select-DbaObject
[-InputObject ]
-Unique
-Wait
[-Index <int[]>]
[-ShowProperty <string[]>]
[-ShowExcludeProperty <string[]>]
[-TypeName ]
-KeepInputObject
[]
Examples
Example 1: Renaming a property
Get-ChildItem | Select-DbaObject Name, "Length as Size"<br>
Selects the properties Name and Length, renaming Length to Size in the process.<br>
Example 2: Converting type
Import-Csv .\file.csv | Select-DbaObject Name, "Length as Size to DbaSize"<br>
Selects the properties Name and Length, renaming Length to Size and converting it to [DbaSize] (a userfriendly representation of<br>
size numbers contained in the dbatools module)<br>
Example 3: Selecting from another object 1
$obj = [PSCustomObject]@{ Name = "Foo" }<br>
Get-ChildItem | Select-DbaObject FullName, Length, "Name from obj"<br>
Selects the properties FullName and Length from the input and the Name property from the object stored in $obj<br>
Example 4: Selecting from another object 2
$list = @()<br>
$list += [PSCustomObject]@{ Type = "Foo"; ID = 1 }<br>
$list += [PSCustomObject]@{ Type = "Bar"; ID = 2 }<br>
$obj | Select-DbaObject Name, "ID from list WHERE Type = Name"<br>
This allows you to LEFT JOIN contents of another variable. Note that it can only do simple property-matching at this point.<br>
It will select Name from the objects stored in $obj, and for each of those the ID Property on any object in $list that has a<br>
Type property of equal value as Name on the input.<br>
Example 5: Naming and styling
Get-ChildItem | Select-DbaObject Name, Length, FullName, Used, LastWriteTime, Mode -TypeName MyType -ShowExcludeProperty Mode,<br>
Used<br>
Lists all items in the current path, selects the properties specified (whether they exist or not) , then ...<br>
- Sets the name to "MyType"<br>
- Hides the properties "Mode" and "Used" from the default display set, causing them to be hidden from default view<br>
Optional Parameters
-Alias
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ExcludeProperty
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ExpandProperty
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-First
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Index
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
|
|
Alias |
|
Required |
False |
Pipeline |
true (ByValue) |
Default Value |
|
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Last
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Property
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ScriptMethod
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ScriptProperty
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ShowExcludeProperty
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-ShowProperty
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Skip
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-SkipLast
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-TypeName
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Unique
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|
-Wait
|
|
Alias |
|
Required |
False |
Pipeline |
false |
Default Value |
|