PoshCode Logo PowerShell Code Repository

Get-PipeLineObject by foobar 3 years ago
View followups from foobar | diff | embed code: <script type="text/javascript" src="http://PoshCode.org/embed/782"></script>download | new post

For TabExpansion.ps1
this requires latest TabExpansion.ps1 in a same directory

  1. # For TabExpansion.ps1
  2. # this requires latest TabExpansion.ps1 in a same directory
  3. function Get-PipeLineObject {
  4.  
  5.     $i = -2
  6.     $property = $null
  7.     do {
  8.         $str = $line.Split("|")
  9.         # extract the command name from the string
  10.         # first split the string into statements and pipeline elements
  11.         # This doesn't handle strings however.
  12.         $_cmdlet = [regex]::Split($str[$i], '[|;=]')[-1]
  13.  
  14.         # take the first space separated token of the remaining string
  15.         # as the command to look up. Trim any leading or trailing spaces
  16.         # so you don't get leading empty elements.
  17.         $_cmdlet = $_cmdlet.Trim().Split()[0]
  18.  
  19.         if ( $_cmdlet -eq "?" )
  20.         {
  21.             $_cmdlet = "Where-Object"
  22.         }
  23.  
  24.         $global:_exp = $_cmdlet
  25.  
  26.         # now get the info object for it...
  27.         $_cmdlet = @(Get-Command -type 'cmdlet,alias' $_cmdlet)[0]
  28.  
  29.         # loop resolving aliases...
  30.         while ($_cmdlet.CommandType -eq 'alias')
  31.         {
  32.             $_cmdlet = @(Get-Command -type 'cmdlet,alias' $_cmdlet.Definition)[0]
  33.         }
  34.  
  35.         if ( "Select-Object" -eq $_cmdlet )
  36.         {
  37.             if ( $str[$i] -match '\s+-Exp\w*[\s:]+(\w+)' )
  38.             {
  39.                 $property = $Matches[1] + ";" + $property
  40.             }
  41.         }
  42.  
  43.         $i--
  44.     } while ( "Get-Unique", "Select-Object", "Sort-Object", "Tee-Object", "Where-Object" -contains $_cmdlet )
  45.  
  46.     if ( $global:_forgci -eq $null )
  47.     {
  48.         $a = @(ls "Alias:\")[0]
  49.         $e = @(ls "Env:\")[0]
  50.         $f = @(ls "Function:\")[0]
  51.         $h = @(ls "HKCU:\")[0]
  52.         $v = @(ls "Variable:\")[0]
  53.         $c = @(ls "cert:\")[0]
  54.         $global:_forgci = gi $PSHOME\powershell.exe |
  55.         Add-Member -Name CommandType -MemberType 'NoteProperty' -Value $f.CommandType -PassThru |
  56.         Add-Member -Name Definition -MemberType 'NoteProperty' -Value $a.Definition -PassThru |
  57.         Add-Member -Name Description -MemberType 'NoteProperty' -Value $a.Description -PassThru |
  58.         Add-Member -Name Key -MemberType 'NoteProperty' -Value $e.Key -PassThru |
  59.         Add-Member -Name Location -MemberType 'NoteProperty' -Value $c.Location -PassThru |
  60.         Add-Member -Name LocationName -MemberType 'NoteProperty' -Value $c.LocationName -PassThru |
  61.         Add-Member -Name Options -MemberType 'NoteProperty' -Value $a.Options -PassThru |
  62.         Add-Member -Name ReferencedCommand -MemberType 'NoteProperty' -Value $a.ReferencedCommand -PassThru |
  63.         Add-Member -Name ResolvedCommand -MemberType 'NoteProperty' -Value $a.ResolvedCommand -PassThru |
  64.         Add-Member -Name ScriptBlock -MemberType 'NoteProperty' -Value $f.ScriptBlock -PassThru |
  65.         Add-Member -Name StoreNames -MemberType 'NoteProperty' -Value $c.StoreNames -PassThru |
  66.         Add-Member -Name SubKeyCount -MemberType 'NoteProperty' -Value $h.SubKeyCount -PassThru |
  67.         Add-Member -Name Value -MemberType 'NoteProperty' -Value $e.Value -PassThru |
  68.         Add-Member -Name ValueCount -MemberType 'NoteProperty' -Value $h.ValueCount -PassThru |
  69.         Add-Member -Name Visibility -MemberType 'NoteProperty' -Value $a.Visibility -PassThru |
  70.         Add-Member -Name Property -MemberType 'NoteProperty' -Value $h.Property -PassThru |
  71.         Add-Member -Name ResolvedCommandName -MemberType 'NoteProperty' -Value $a.ResolvedCommandName -PassThru |
  72.         Add-Member -Name Close -MemberType 'ScriptMethod' -Value {} -PassThru |
  73.         Add-Member -Name CreateSubKey -MemberType 'ScriptMethod' -Value {} -PassThru |
  74.         Add-Member -Name DeleteSubKey -MemberType 'ScriptMethod' -Value {} -PassThru |
  75.         Add-Member -Name DeleteSubKeyTree -MemberType 'ScriptMethod' -Value {} -PassThru |
  76.         Add-Member -Name DeleteValue -MemberType 'ScriptMethod' -Value {} -PassThru |
  77.         Add-Member -Name Flush -MemberType 'ScriptMethod' -Value {} -PassThru |
  78.         Add-Member -Name GetSubKeyNames -MemberType 'ScriptMethod' -Value {} -PassThru |
  79.         Add-Member -Name GetValue -MemberType 'ScriptMethod' -Value {} -PassThru |
  80.         Add-Member -Name GetValueKind -MemberType 'ScriptMethod' -Value {} -PassThru |
  81.         Add-Member -Name GetValueNames -MemberType 'ScriptMethod' -Value {} -PassThru |
  82.         Add-Member -Name IsValidValue -MemberType 'ScriptMethod' -Value {} -PassThru |
  83.         Add-Member -Name OpenSubKey -MemberType 'ScriptMethod' -Value {} -PassThru |
  84.         Add-Member -Name SetValue -MemberType 'ScriptMethod' -Value {} -PassThru
  85.     }
  86.  
  87.     if ( $global:_mix -eq $null )
  88.     {
  89.         $f = gi $PSHOME\powershell.exe
  90.         $t = [type]
  91.         $s = ""
  92.         $global:_mix = `
  93.         Add-Member -InputObject (New-Object PSObject) -Name Mode -MemberType 'NoteProperty' -Value $f.Mode -PassThru |
  94.         Add-Member -Name Assembly -MemberType 'NoteProperty' -Value $t.Assembly -PassThru |
  95.         Add-Member -Name AssemblyQualifiedName -MemberType 'NoteProperty' -Value $t.AssemblyQualifiedName -PassThru |
  96.         Add-Member -Name Attributes -MemberType 'NoteProperty' -Value $f.Attributes -PassThru |
  97.         Add-Member -Name BaseType -MemberType 'NoteProperty' -Value $t.BaseType -PassThru |
  98.         Add-Member -Name ContainsGenericParameters -MemberType 'NoteProperty' -Value $t.ContainsGenericParameters -PassThru |
  99.         Add-Member -Name CreationTime -MemberType 'NoteProperty' -Value $f.CreationTime -PassThru |
  100.         Add-Member -Name CreationTimeUtc -MemberType 'NoteProperty' -Value $f.CreationTimeUtc -PassThru |
  101.         Add-Member -Name DeclaringMethod -MemberType 'NoteProperty' -Value $t.DeclaringMethod -PassThru |
  102.         Add-Member -Name DeclaringType -MemberType 'NoteProperty' -Value $t.DeclaringType -PassThru |
  103.         Add-Member -Name Exists -MemberType 'NoteProperty' -Value $f.Exists -PassThru |
  104.         Add-Member -Name Extension -MemberType 'NoteProperty' -Value $f.Extension -PassThru |
  105.         Add-Member -Name FullName -MemberType 'NoteProperty' -Value $f.FullName -PassThru |
  106.         Add-Member -Name GenericParameterAttributes -MemberType 'NoteProperty' -Value $t.GenericParameterAttributes -PassThru |
  107.         Add-Member -Name GenericParameterPosition -MemberType 'NoteProperty' -Value $t.GenericParameterPosition -PassThru |
  108.         Add-Member -Name GUID -MemberType 'NoteProperty' -Value $t.GUID -PassThru |
  109.         Add-Member -Name HasElementType -MemberType 'NoteProperty' -Value $t.HasElementType -PassThru |
  110.         Add-Member -Name IsAbstract -MemberType 'NoteProperty' -Value $t.IsAbstract -PassThru |
  111.         Add-Member -Name IsAnsiClass -MemberType 'NoteProperty' -Value $t.IsAnsiClass -PassThru |
  112.         Add-Member -Name IsArray -MemberType 'NoteProperty' -Value $t.IsArray -PassThru |
  113.         Add-Member -Name IsAutoClass -MemberType 'NoteProperty' -Value $t.IsAutoClass -PassThru |
  114.         Add-Member -Name IsAutoLayout -MemberType 'NoteProperty' -Value $t.IsAutoLayout -PassThru |
  115.         Add-Member -Name IsByRef -MemberType 'NoteProperty' -Value $t.IsByRef -PassThru |
  116.         Add-Member -Name IsClass -MemberType 'NoteProperty' -Value $t.IsClass -PassThru |
  117.         Add-Member -Name IsCOMObject -MemberType 'NoteProperty' -Value $t.IsCOMObject -PassThru |
  118.         Add-Member -Name IsContextful -MemberType 'NoteProperty' -Value $t.IsContextful -PassThru |
  119.         Add-Member -Name IsEnum -MemberType 'NoteProperty' -Value $t.IsEnum -PassThru |
  120.         Add-Member -Name IsExplicitLayout -MemberType 'NoteProperty' -Value $t.IsExplicitLayout -PassThru |
  121.         Add-Member -Name IsGenericParameter -MemberType 'NoteProperty' -Value $t.IsGenericParameter -PassThru |
  122.         Add-Member -Name IsGenericType -MemberType 'NoteProperty' -Value $t.IsGenericType -PassThru |
  123.         Add-Member -Name IsGenericTypeDefinition -MemberType 'NoteProperty' -Value $t.IsGenericTypeDefinition -PassThru |
  124.         Add-Member -Name IsImport -MemberType 'NoteProperty' -Value $t.IsImport -PassThru |
  125.         Add-Member -Name IsInterface -MemberType 'NoteProperty' -Value $t.IsInterface -PassThru |
  126.         Add-Member -Name IsLayoutSequential -MemberType 'NoteProperty' -Value $t.IsLayoutSequential -PassThru |
  127.         Add-Member -Name IsMarshalByRef -MemberType 'NoteProperty' -Value $t.IsMarshalByRef -PassThru |
  128.         Add-Member -Name IsNested -MemberType 'NoteProperty' -Value $t.IsNested -PassThru |
  129.         Add-Member -Name IsNestedAssembly -MemberType 'NoteProperty' -Value $t.IsNestedAssembly -PassThru |
  130.         Add-Member -Name IsNestedFamANDAssem -MemberType 'NoteProperty' -Value $t.IsNestedFamANDAssem -PassThru |
  131.         Add-Member -Name IsNestedFamily -MemberType 'NoteProperty' -Value $t.IsNestedFamily -PassThru |
  132.         Add-Member -Name IsNestedFamORAssem -MemberType 'NoteProperty' -Value $t.IsNestedFamORAssem -PassThru |
  133.         Add-Member -Name IsNestedPrivate -MemberType 'NoteProperty' -Value $t.IsNestedPrivate -PassThru |
  134.         Add-Member -Name IsNestedPublic -MemberType 'NoteProperty' -Value $t.IsNestedPublic -PassThru |
  135.         Add-Member -Name IsNotPublic -MemberType 'NoteProperty' -Value $t.IsNotPublic -PassThru |
  136.         Add-Member -Name IsPointer -MemberType 'NoteProperty' -Value $t.IsPointer -PassThru |
  137.         Add-Member -Name IsPrimitive -MemberType 'NoteProperty' -Value $t.IsPrimitive -PassThru |
  138.         Add-Member -Name IsPublic -MemberType 'NoteProperty' -Value $t.IsPublic -PassThru |
  139.         Add-Member -Name IsSealed -MemberType 'NoteProperty' -Value $t.IsSealed -PassThru |
  140.         Add-Member -Name IsSerializable -MemberType 'NoteProperty' -Value $t.IsSerializable -PassThru |
  141.         Add-Member -Name IsSpecialName -MemberType 'NoteProperty' -Value $t.IsSpecialName -PassThru |
  142.         Add-Member -Name IsUnicodeClass -MemberType 'NoteProperty' -Value $t.IsUnicodeClass -PassThru |
  143.         Add-Member -Name IsValueType -MemberType 'NoteProperty' -Value $t.IsValueType -PassThru |
  144.         Add-Member -Name IsVisible -MemberType 'NoteProperty' -Value $t.IsVisible -PassThru |
  145.         Add-Member -Name LastAccessTime -MemberType 'NoteProperty' -Value $f.LastAccessTime -PassThru |
  146.         Add-Member -Name LastAccessTimeUtc -MemberType 'NoteProperty' -Value $f.LastAccessTimeUtc -PassThru |
  147.         Add-Member -Name LastWriteTime -MemberType 'NoteProperty' -Value $f.LastWriteTime -PassThru |
  148.         Add-Member -Name LastWriteTimeUtc -MemberType 'NoteProperty' -Value $f.LastWriteTimeUtc -PassThru |
  149.         Add-Member -Name MemberType -MemberType 'NoteProperty' -Value $t.MemberType -PassThru |
  150.         Add-Member -Name MetadataToken -MemberType 'NoteProperty' -Value $t.MetadataToken -PassThru |
  151.         Add-Member -Name Module -MemberType 'NoteProperty' -Value $t.Module -PassThru |
  152.         Add-Member -Name Name -MemberType 'NoteProperty' -Value $t.Name -PassThru |
  153.         Add-Member -Name Namespace -MemberType 'NoteProperty' -Value $t.Namespace -PassThru |
  154.         Add-Member -Name Parent -MemberType 'NoteProperty' -Value $f.Parent -PassThru |
  155.         Add-Member -Name ReflectedType -MemberType 'NoteProperty' -Value $t.ReflectedType -PassThru |
  156.         Add-Member -Name Root -MemberType 'NoteProperty' -Value $f.Root -PassThru |
  157.         Add-Member -Name StructLayoutAttribute -MemberType 'NoteProperty' -Value $t.StructLayoutAttribute -PassThru |
  158.         Add-Member -Name TypeHandle -MemberType 'NoteProperty' -Value $t.TypeHandle -PassThru |
  159.         Add-Member -Name TypeInitializer -MemberType 'NoteProperty' -Value $t.TypeInitializer -PassThru |
  160.         Add-Member -Name UnderlyingSystemType -MemberType 'NoteProperty' -Value $t.UnderlyingSystemType -PassThru |
  161.         Add-Member -Name PSChildName -MemberType 'NoteProperty' -Value $f.PSChildName -PassThru |
  162.         Add-Member -Name PSDrive -MemberType 'NoteProperty' -Value $f.PSDrive -PassThru |
  163.         Add-Member -Name PSIsContainer -MemberType 'NoteProperty' -Value $f.PSIsContainer -PassThru |
  164.         Add-Member -Name PSParentPath -MemberType 'NoteProperty' -Value $f.PSParentPath -PassThru |
  165.         Add-Member -Name PSPath -MemberType 'NoteProperty' -Value $f.PSPath -PassThru |
  166.         Add-Member -Name PSProvider -MemberType 'NoteProperty' -Value $f.PSProvider -PassThru |
  167.         Add-Member -Name BaseName -MemberType 'NoteProperty' -Value $f.BaseName -PassThru |
  168.         Add-Member -Name Clone -MemberType 'ScriptMethod' -Value {} -PassThru |
  169.         Add-Member -Name CompareTo -MemberType 'ScriptMethod' -Value {} -PassThru |
  170.         Add-Member -Name Contains -MemberType 'ScriptMethod' -Value {} -PassThru |
  171.         Add-Member -Name CopyTo -MemberType 'ScriptMethod' -Value {} -PassThru |
  172.         Add-Member -Name Create -MemberType 'ScriptMethod' -Value {} -PassThru |
  173.         Add-Member -Name CreateObjRef -MemberType 'ScriptMethod' -Value {} -PassThru |
  174.         Add-Member -Name CreateSubdirectory -MemberType 'ScriptMethod' -Value {} -PassThru |
  175.         Add-Member -Name Delete -MemberType 'ScriptMethod' -Value {} -PassThru |
  176.         Add-Member -Name EndsWith -MemberType 'ScriptMethod' -Value {} -PassThru |
  177.         Add-Member -Name FindInterfaces -MemberType 'ScriptMethod' -Value {} -PassThru |
  178.         Add-Member -Name FindMembers -MemberType 'ScriptMethod' -Value {} -PassThru |
  179.         Add-Member -Name GetAccessControl -MemberType 'ScriptMethod' -Value {} -PassThru |
  180.         Add-Member -Name GetArrayRank -MemberType 'ScriptMethod' -Value {} -PassThru |
  181.         Add-Member -Name GetConstructor -MemberType 'ScriptMethod' -Value {} -PassThru |
  182.         Add-Member -Name GetConstructors -MemberType 'ScriptMethod' -Value {} -PassThru |
  183.         Add-Member -Name GetCustomAttributes -MemberType 'ScriptMethod' -Value {} -PassThru |
  184.         Add-Member -Name GetDefaultMembers -MemberType 'ScriptMethod' -Value {} -PassThru |
  185.         Add-Member -Name GetDirectories -MemberType 'ScriptMethod' -Value {} -PassThru |
  186.         Add-Member -Name GetElementType -MemberType 'ScriptMethod' -Value {} -PassThru |
  187.         Add-Member -Name GetEnumerator -MemberType 'ScriptMethod' -Value {} -PassThru |
  188.         Add-Member -Name GetEvent -MemberType 'ScriptMethod' -Value {} -PassThru |
  189.         Add-Member -Name GetEvents -MemberType 'ScriptMethod' -Value {} -PassThru |
  190.         Add-Member -Name GetField -MemberType 'ScriptMethod' -Value {} -PassThru |
  191.         Add-Member -Name GetFields -MemberType 'ScriptMethod' -Value {} -PassThru |
  192.         Add-Member -Name GetFiles -MemberType 'ScriptMethod' -Value {} -PassThru |
  193.         Add-Member -Name GetFileSystemInfos -MemberType 'ScriptMethod' -Value {} -PassThru |
  194.         Add-Member -Name GetGenericArguments -MemberType 'ScriptMethod' -Value {} -PassThru |
  195.         Add-Member -Name GetGenericParameterConstraints -MemberType 'ScriptMethod' -Value {} -PassThru |
  196.         Add-Member -Name GetGenericTypeDefinition -MemberType 'ScriptMethod' -Value {} -PassThru |
  197.         Add-Member -Name GetInterface -MemberType 'ScriptMethod' -Value {} -PassThru |
  198.         Add-Member -Name GetInterfaceMap -MemberType 'ScriptMethod' -Value {} -PassThru |
  199.         Add-Member -Name GetInterfaces -MemberType 'ScriptMethod' -Value {} -PassThru |
  200.         Add-Member -Name GetLifetimeService -MemberType 'ScriptMethod' -Value {} -PassThru |
  201.         Add-Member -Name GetMember -MemberType 'ScriptMethod' -Value {} -PassThru |
  202.         Add-Member -Name GetMembers -MemberType 'ScriptMethod' -Value {} -PassThru |
  203.         Add-Member -Name GetMethod -MemberType 'ScriptMethod' -Value {} -PassThru |
  204.         Add-Member -Name GetMethods -MemberType 'ScriptMethod' -Value {} -PassThru |
  205.         Add-Member -Name GetNestedType -MemberType 'ScriptMethod' -Value {} -PassThru |
  206.         Add-Member -Name GetNestedTypes -MemberType 'ScriptMethod' -Value {} -PassThru |
  207.         Add-Member -Name GetObjectData -MemberType 'ScriptMethod' -Value {} -PassThru |
  208.         Add-Member -Name GetProperties -MemberType 'ScriptMethod' -Value {} -PassThru |
  209.         Add-Member -Name GetProperty -MemberType 'ScriptMethod' -Value {} -PassThru |
  210.         Add-Member -Name GetTypeCode -MemberType 'ScriptMethod' -Value {} -PassThru |
  211.         Add-Member -Name IndexOf -MemberType 'ScriptMethod' -Value {} -PassThru |
  212.         Add-Member -Name IndexOfAny -MemberType 'ScriptMethod' -Value {} -PassThru |
  213.         Add-Member -Name InitializeLifetimeService -MemberType 'ScriptMethod' -Value {} -PassThru |
  214.         Add-Member -Name Insert -MemberType 'ScriptMethod' -Value {} -PassThru |
  215.         Add-Member -Name InvokeMember -MemberType 'ScriptMethod' -Value {} -PassThru |
  216.         Add-Member -Name IsAssignableFrom -MemberType 'ScriptMethod' -Value {} -PassThru |
  217.         Add-Member -Name IsDefined -MemberType 'ScriptMethod' -Value {} -PassThru |
  218.         Add-Member -Name IsInstanceOfType -MemberType 'ScriptMethod' -Value {} -PassThru |
  219.         Add-Member -Name IsNormalized -MemberType 'ScriptMethod' -Value {} -PassThru |
  220.         Add-Member -Name IsSubclassOf -MemberType 'ScriptMethod' -Value {} -PassThru |
  221.         Add-Member -Name LastIndexOf -MemberType 'ScriptMethod' -Value {} -PassThru |
  222.         Add-Member -Name LastIndexOfAny -MemberType 'ScriptMethod' -Value {} -PassThru |
  223.         Add-Member -Name MakeArrayType -MemberType 'ScriptMethod' -Value {} -PassThru |
  224.         Add-Member -Name MakeByRefType -MemberType 'ScriptMethod' -Value {} -PassThru |
  225.         Add-Member -Name MakeGenericType -MemberType 'ScriptMethod' -Value {} -PassThru |
  226.         Add-Member -Name MakePointerType -MemberType 'ScriptMethod' -Value {} -PassThru |
  227.         Add-Member -Name MoveTo -MemberType 'ScriptMethod' -Value {} -PassThru |
  228.         Add-Member -Name Normalize -MemberType 'ScriptMethod' -Value {} -PassThru |
  229.         Add-Member -Name PadLeft -MemberType 'ScriptMethod' -Value {} -PassThru |
  230.         Add-Member -Name PadRight -MemberType 'ScriptMethod' -Value {} -PassThru |
  231.         Add-Member -Name Refresh -MemberType 'ScriptMethod' -Value {} -PassThru |
  232.         Add-Member -Name Remove -MemberType 'ScriptMethod' -Value {} -PassThru |
  233.         Add-Member -Name Replace -MemberType 'ScriptMethod' -Value {} -PassThru |
  234.         Add-Member -Name SetAccessControl -MemberType 'ScriptMethod' -Value {} -PassThru |
  235.         Add-Member -Name Split -MemberType 'ScriptMethod' -Value {} -PassThru |
  236.         Add-Member -Name StartsWith -MemberType 'ScriptMethod' -Value {} -PassThru |
  237.         Add-Member -Name Substring -MemberType 'ScriptMethod' -Value {} -PassThru |
  238.         Add-Member -Name ToCharArray -MemberType 'ScriptMethod' -Value {} -PassThru |
  239.         Add-Member -Name ToLower -MemberType 'ScriptMethod' -Value {} -PassThru |
  240.         Add-Member -Name ToLowerInvariant -MemberType 'ScriptMethod' -Value {} -PassThru |
  241.         Add-Member -Name ToUpper -MemberType 'ScriptMethod' -Value {} -PassThru |
  242.         Add-Member -Name ToUpperInvariant -MemberType 'ScriptMethod' -Value {} -PassThru |
  243.         Add-Member -Name Trim -MemberType 'ScriptMethod' -Value {} -PassThru |
  244.         Add-Member -Name TrimEnd -MemberType 'ScriptMethod' -Value {} -PassThru |
  245.         Add-Member -Name TrimStart -MemberType 'ScriptMethod' -Value {} -PassThru |
  246.         Add-Member -Name Chars -MemberType 'NoteProperty' -Value $s.Chars -PassThru
  247.     }
  248.  
  249.  
  250.     if ( "Add-Member" -eq $_cmdlet )
  251.     {
  252.         $global:_dummy = $null
  253.     }
  254.  
  255.  
  256.     if ( "Compare-Object" -eq $_cmdlet )
  257.     {
  258.         $global:_dummy =  (Compare-Object 1 2)[0]
  259.     }
  260.  
  261.  
  262.     if ( "ConvertFrom-SecureString" -eq $_cmdlet )
  263.     {
  264.         $global:_dummy = $null
  265.     }
  266.  
  267.  
  268.     if ( "ConvertTo-SecureString" -eq $_cmdlet )
  269.     {
  270.         $global:_dummy = convertto-securestring "P@ssW0rD!" -asplaintext -force
  271.     }
  272.  
  273.  
  274.     if ( "ForEach-Object" -eq $_cmdlet )
  275.     {
  276.         $global:_dummy = $null
  277.     }
  278.  
  279.  
  280.     if ( "Get-Acl" -eq $_cmdlet )
  281.     {
  282.         $global:_dummy = Get-Acl
  283.     }
  284.  
  285.  
  286.     if ( "Get-Alias" -eq $_cmdlet )
  287.     {
  288.         $global:_dummy = (Get-Alias)[0]
  289.     }
  290.  
  291.  
  292.     if ( "Get-AuthenticodeSignature" -eq $_cmdlet )
  293.     {
  294.         $global:_dummy = Get-AuthenticodeSignature $PSHOME\powershell.exe
  295.     }
  296.  
  297.  
  298.     if ( "Get-ChildItem" -eq $_cmdlet )
  299.     {
  300.         $global:_dummy = $global:_forgci
  301.     }
  302.  
  303.  
  304.     if ( "Get-Command" -eq $_cmdlet )
  305.     {
  306.         $global:_dummy = gcm Add-Content
  307.     }
  308.  
  309.  
  310.     if ( "Get-Content" -eq $_cmdlet )
  311.     {
  312.         $global:_dummy = (type $PSHOME\profile.ps1)[0]
  313.     }
  314.  
  315.  
  316.     if ( "Get-Credential" -eq $_cmdlet )
  317.     {
  318.         $global:_dummy = $null
  319.     }
  320.  
  321.  
  322.     if ( "Get-Culture" -eq $_cmdlet )
  323.     {
  324.         $global:_dummy = Get-Culture
  325.     }
  326.  
  327.  
  328.     if ( "Get-Date" -eq $_cmdlet )
  329.     {
  330.         $global:_dummy = Get-Date
  331.     }
  332.  
  333.  
  334.     if ( "Get-Event" -eq $_cmdlet )
  335.     {
  336.         $global:_dummy = (Get-Event)[0]
  337.     }
  338.  
  339.  
  340.     if ( "Get-EventLog" -eq $_cmdlet )
  341.     {
  342.         $global:_dummy = Get-EventLog Windows` PowerShell -Newest 1
  343.     }
  344.  
  345.  
  346.     if ( "Get-ExecutionPolicy" -eq $_cmdlet )
  347.     {
  348.         $global:_dummy = Get-ExecutionPolicy
  349.     }
  350.  
  351.  
  352.     if ( "Get-Help" -eq $_cmdlet )
  353.     {
  354.         $global:_dummy = Get-Help Add-Content
  355.     }
  356.  
  357.  
  358.     if ( "Get-History" -eq $_cmdlet )
  359.     {
  360.         $global:_dummy = Get-History -Count 1
  361.     }
  362.  
  363.  
  364.     if ( "Get-Host" -eq $_cmdlet )
  365.     {
  366.         $global:_dummy = Get-Host
  367.     }
  368.  
  369.  
  370.     if ( "Get-Item" -eq $_cmdlet )
  371.     {
  372.         $global:_dummy = $global:_forgci
  373.     }
  374.  
  375.  
  376.     if ( "Get-ItemProperty" -eq $_cmdlet )
  377.     {
  378.         $global:_dummy = $null
  379.     }
  380.  
  381.  
  382.     if ( "Get-Location" -eq $_cmdlet )
  383.     {
  384.         $global:_dummy = Get-Location
  385.     }
  386.  
  387.  
  388.     if ( "Get-Member" -eq $_cmdlet )
  389.     {
  390.         $global:_dummy = (1|Get-Member)[0]
  391.     }
  392.  
  393.  
  394.     if ( "Get-Module" -eq $_cmdlet )
  395.     {
  396.         $global:_dummy = (Get-Module)[0]
  397.     }
  398.  
  399.  
  400.     if ( "Get-PfxCertificate" -eq $_cmdlet )
  401.     {
  402.         $global:_dummy = $null
  403.     }
  404.  
  405.  
  406.     if ( "Get-Process" -eq $_cmdlet )
  407.     {
  408.         $global:_dummy = ps powershell
  409.     }
  410.  
  411.  
  412.     if ( "Get-PSBreakpoint" -eq $_cmdlet )
  413.     {
  414.         $global:_dummy =
  415.         Add-Member -InputObject (New-Object PSObject) -Name Action -MemberType 'NoteProperty' -Value '' -PassThru |
  416.         Add-Member -Name Command -MemberType 'NoteProperty' -Value '' -PassThru |
  417.         Add-Member -Name Enabled -MemberType 'NoteProperty' -Value '' -PassThru |
  418.         Add-Member -Name HitCount -MemberType 'NoteProperty' -Value '' -PassThru |
  419.         Add-Member -Name Id -MemberType 'NoteProperty' -Value '' -PassThru |
  420.         Add-Member -Name Script -MemberType 'NoteProperty' -Value '' -PassThru
  421.     }
  422.  
  423.  
  424.     if ( "Get-PSCallStack" -eq $_cmdlet )
  425.     {
  426.         $global:_dummy = Get-PSCallStack
  427.     }
  428.  
  429.  
  430.     if ( "Get-PSDrive" -eq $_cmdlet )
  431.     {
  432.         $global:_dummy = Get-PSDrive Function
  433.     }
  434.  
  435.  
  436.     if ( "Get-PSProvider" -eq $_cmdlet )
  437.     {
  438.         $global:_dummy = Get-PSProvider FileSystem
  439.     }
  440.  
  441.  
  442.     if ( "Get-PSSnapin" -eq $_cmdlet )
  443.     {
  444.         $global:_dummy = Get-PSSnapin Microsoft.PowerShell.Core
  445.     }
  446.  
  447.  
  448.     if ( "Get-Service" -eq $_cmdlet )
  449.     {
  450.         $global:_dummy = (Get-Service)[0]
  451.     }
  452.  
  453.  
  454.     if ( "Get-TraceSource" -eq $_cmdlet )
  455.     {
  456.         $global:_dummy = Get-TraceSource AddMember
  457.     }
  458.  
  459.  
  460.     if ( "Get-UICulture" -eq $_cmdlet )
  461.     {
  462.         $global:_dummy = Get-UICulture
  463.     }
  464.  
  465.  
  466.     if ( "Get-Variable" -eq $_cmdlet )
  467.     {
  468.         $global:_dummy = Get-Variable _
  469.     }
  470.  
  471.  
  472.     if ( "Get-WmiObject" -eq $_cmdlet )
  473.     {
  474.         $global:_dummy = @(iex $str[$i+1])[0]
  475.     }
  476.  
  477.  
  478.     if ( "Group-Object" -eq $_cmdlet )
  479.     {
  480.         $global:_dummy = 1 | group
  481.     }
  482.  
  483.  
  484.     if ( "Measure-Command" -eq $_cmdlet )
  485.     {
  486.         $global:_dummy = Measure-Command {}
  487.     }
  488.  
  489.  
  490.     if ( "Measure-Object" -eq $_cmdlet )
  491.     {
  492.         $global:_dummy = Measure-Object
  493.     }
  494.  
  495.  
  496.     if ( "New-PSDrive" -eq $_cmdlet )
  497.     {
  498.         $global:_dummy =  Get-PSDrive Alias
  499.     }
  500.  
  501.  
  502.     if ( "New-TimeSpan" -eq $_cmdlet )
  503.     {
  504.         $global:_dummy = New-TimeSpan
  505.     }
  506.  
  507.  
  508.     if ( "Resolve-Path" -eq $_cmdlet )
  509.     {
  510.         $global:_dummy = $PWD
  511.     }
  512.  
  513.  
  514.     if ( "Select-String" -eq $_cmdlet )
  515.     {
  516.         $global:_dummy = " " | Select-String " "
  517.     }
  518.  
  519.  
  520.     if ( "Set-Date" -eq $_cmdlet )
  521.     {
  522.         $global:_dummy =  Get-Date
  523.     }
  524.  
  525.     if ( $property -ne $null)
  526.     {
  527.         foreach ( $name in $property.Split(";", "RemoveEmptyEntries" -as [System.StringSplitOptions]) )
  528.         {
  529.         $global:_dummy = @($global:_dummy.$name)[0]
  530.         }
  531.     }
  532. }

Submit a correction or amendment below (
click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.

Syntax highlighting:


Remember me