Join-String.ps1
<#PSScriptInfo
.VERSION 1.0 .GUID e76c02b2-9bba-4f5f-8f00-4016d954ce4e .AUTHOR saw-friendship .COMPANYNAME .COPYRIGHT .TAGS Join String Pipeline .LICENSEURI .PROJECTURI .ICONURI .EXTERNALMODULEDEPENDENCIES .REQUIREDSCRIPTS .EXTERNALSCRIPTDEPENDENCIES .RELEASENOTES #> <# .DESCRIPTION Join String from Array .EXAMPLE Join-String (Get-Process) -Property id .EXAMPLE Get-Process | Join-String -Property id .EXAMPLE Join-String @(1..3) .EXAMPLE 1..3 | Join-String #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)]$InputObject, [string]$Property = 'Name', [string]$Delimiter = [System.Globalization.CultureInfo]::CurrentCulture.TextInfo.ListSeparator ) Begin { $Objects = @() } Process { $Objects += $InputObject } End { if($Objects | Get-Member -Name $Property){ ($Objects | % {$_.$Property}) -join $Delimiter } else { ($Objects | % {$_.ToString()}) -join $Delimiter } } |