22e73c46-53cf-42f0-9e8f-9f6161e7001a
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
r2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAA
wCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEA
APAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIA
AAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4Y
AAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoAr
BgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHg
igEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AA
uGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsY
AK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAK
BoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8
ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAA
r2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAA
wCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEA
APAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIA
AAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4Y
AAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoAr
BgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHg
igEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AA
uGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsY
AK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAK
BoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8
ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAA
r2AAuGIAAAC8ggHgigEAAPAKBoArBgAAwCsYAK4YAAAAr2AAuGIAAAC8ggHgigEAAPAKBoArBgAA
wCsYAK4YAAAAr2AAuBoeAK+++qquX78+9BABAPDwseecPe8YACb7ADQ0NOixxx5TRkaGCgsLiYiI
HsrsOWfPO3vueX4AtLe3y+fz6YMPPtAbb7yhCRMmEBERPZTZc86ed/bcs+ffaOfinfRADYDhBgYG
1NfXR0RE9FBnz7vRzsGx6IEcAERERHRnMQCIiIg8GAOAiIh+Z/bP8452++c63eva7/JZygAgIqJv
1G5qaW1VRV2jymsbVUH3tPLaBtU1Nt/VEcAAICKib9TS0qoacwB1dHbL10X3PPO4N7S0q978Goz2
6zMWMQCIiOi27Iefq8wz/1Zfpzr9fudL0OjeZn8denp6VFHfrNbW1m/8Go1FDAAiIrot9wDw+3yj
XobubvbQ7+7uUSUDgIiI7lUMgB8+BgAREd3zGAA/fAwAIiK65zEAfvgYAEREdM9jAPzwMQCIiOie
xwD44WMAEBHRPe9OBkBnZ6d6e3vJVVdX16iP1e+LAUBERPe87zMA7CFlD7rc3FydP3+eXNl/198O
o9Eet98VA4CIiO5532cA2APOHnRffPGFLl26pJiYGEVHR3s6+xiEh4dr69atSkhI+E4fCWAAEBHR
Pe/7DAD7b9efPHnSOfCs69evk8lKTExUcHCw8xiN9tiNFgOAiIjued93AJw6dco57Pr7+0f59rZ+
9TvHocuNPvm+cbl7nXl//d26MXSXBnrsh+rNy8375O/uG3qp1NdtHwef+syh3tNl/3vw+m3tHeod
GDCv9zvXGXn79tv55uTkKCQkxPl8gNEeu9FiABAR0T3vTgZAfHz8Nw86c0i2t1Up+kSQdu/aqR07
d2qnaf/XV1TZ1uGMgNsu/10zB2S7r0t9A73ytbU6B2Z7R6f5uR0Y5uejXcdmLtfR1avu5iId3W3v
11e6klWr673m/e69rpaSOAXs2uG8PLG0Xdd76hR17oKyylvU5bP3uV2dvlZlRF5WVFqJOjp9zghw
v43u7m5lZWUxAIiI6P7v+w6A06dPKy4uzjn0WlpabtbW0aWmigua8F//WRPmfayVy5ZqyZIlWvtZ
qMo7+3S9r0utzS3ymQOvp8u8zc4u9fT2acA8s+7t8ZvXNavZ1O7vUr952UBfjzraWszLWs2z9G71
37iu1vJEHd5+XGW+HvnN/W+uSdeRrcEqaDG3ZwZIT7+53kC/c3Db23LumxkJ3dXJWv3BW5owfbHW
LZmt596ZrDPptWotuKpZk8fp/QWrtGbpJL32ygcKS8nUp6/8Qi8vPCrfDTM2zOhoKzqnF//2J1p1
Mle9fea+ut5vm/3ciMzMTAYAERHd/93pALCf7GYP2eFa2/2qLTyjuS8sUNbA0MfUhxTEXtKpCylq
7+9WQdwVnb8So6zUVF09d0z79u1X2NUstXX71eHvVG1evA7v36sDIVdU2eyXr6NOOTExunjunL7c
8K7+/a8e18GkKjMeepR+Zr1+9hc/1Y7IUnW31+hScID2BgQrqbDeHMpmBDSZw9kc2Fe3zdLbszer
xvk7gAGF71mrzw+E68qe+Xrq+dXqdO6ldHb7cq08kqry6C/01GPjda2mXzf6exX15Sz99JVVquzp
VYfrfR7O7/c7AyA0NJQBQERE93d3MgDsZ77bg6+ysvJm1bWNqiwI05s//ie98NY0zZg+TVOnTtfS
nUd1+egn+tmPn9D2oEN68yc/1xxz+Cx85hf62399VnPnv6dnn35Du6IKzTP8OM2d9ITGT1uoCb95
RtO2hKi5NUWz//1f9NQbC/XRzBf1d3/xr9p4MkUt7a26sneu/uH//getCY7Sgc/f1fMvvaMPJ7+q
p6Z9qPjiOjXWN8jfkKUV48Zr1o4ravY3q6qySvX1jWpqaVR+dIAmPPqEXp8yQxMXfaakojrncWkv
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
YII=
Param (
[ValidateNotNull()]
[Parameter(Mandatory = $true)]
[System.Windows.Forms.DataGridView]$DataGridView,
[ValidateNotNull()]
[Parameter(Mandatory = $true)]
$Item,
[Parameter(Mandatory = $false)]
[string]$DataMember
)
$DataGridView.SuspendLayout()
$DataGridView.DataMember = $DataMember
if ($Item -is [System.ComponentModel.IListSource]`
-or $Item -is [System.ComponentModel.IBindingList] -or $Item -is [System.ComponentModel.IBindingListView])
{
$DataGridView.DataSource = $Item
}
else
{
$array = New-Object System.Collections.ArrayList
if ($Item -is [System.Collections.IList])
{
$array.AddRange($Item)
}
else
{
$array.Add($Item)
}
$DataGridView.DataSource = $array
}
$DataGridView.ResumeLayout()
}
function ConvertTo-DataTable
{
<#
.SYNOPSIS
Converts objects into a DataTable.
.DESCRIPTION
Converts objects into a DataTable, which are used for DataBinding.
.PARAMETER InputObject
The input to convert into a DataTable.
.PARAMETER Table
The DataTable you wish to load the input into.
.PARAMETER RetainColumns
This switch tells the function to keep the DataTable's existing columns.
.PARAMETER FilterWMIProperties
This switch removes WMI properties that start with an underline.
.EXAMPLE
$DataTable = ConvertTo-DataTable -InputObject (Get-Process)
#>
[OutputType([System.Data.DataTable])]
param (
[ValidateNotNull()]
$InputObject,
[ValidateNotNull()]
[System.Data.DataTable]$Table,
[switch]$RetainColumns,
[switch]$FilterWMIProperties)
if ($Table -eq $null)
{
$Table = New-Object System.Data.DataTable
}
if ($InputObject -is [System.Data.DataTable])
{
$Table = $InputObject
}
else
{
if (-not $RetainColumns -or $Table.Columns.Count -eq 0)
{
#Clear out the Table Contents
$Table.Clear()
if ($InputObject -eq $null) { return } #Empty Data
$object = $null
#find the first non null value
foreach ($item in $InputObject)
{
if ($item -ne $null)
{
$object = $item
break
}
}
if ($object -eq $null) { return } #All null then empty
#Get all the properties in order to create the columns
foreach ($prop in $object.PSObject.Get_Properties())
{
if (-not $FilterWMIProperties -or -not $prop.Name.StartsWith('__')) #filter out WMI properties
{
#Get the type from the Definition string
$type = $null
if ($prop.Value -ne $null)
{
try { $type = $prop.Value.GetType() }
catch { }
}
if ($type -ne $null) # -and [System.Type]::GetTypeCode($type) -ne 'Object')
{
[void]$table.Columns.Add($prop.Name, $type)
}
else #Type info not found
{
[void]$table.Columns.Add($prop.Name)
}
}
}
if ($object -is [System.Data.DataRow])
{
foreach ($item in $InputObject)
{
$Table.Rows.Add($item)
}
return @(, $Table)
}
}
else
{
$Table.Rows.Clear()
}
foreach ($item in $InputObject)
{
$row = $table.NewRow()
if ($item)
{
foreach ($prop in $item.PSObject.Get_Properties())
{
if ($table.Columns.Contains($prop.Name))
{
$row.Item($prop.Name) = $prop.Value
}
}
}
[void]$table.Rows.Add($row)
}
}
return @(, $Table)
}
function Load-ComboBox
{
<#
.SYNOPSIS
This functions helps you load items into a ComboBox.
.DESCRIPTION
Use this function to dynamically load items into the ComboBox control.
.PARAMETER ComboBox
The ComboBox control you want to add items to.
.PARAMETER Items
The object or objects you wish to load into the ComboBox's Items collection.
.PARAMETER DisplayMember
Indicates the property to display for the items in this control.
.PARAMETER Append
Adds the item(s) to the ComboBox without clearing the Items collection.
.EXAMPLE
Load-ComboBox $combobox1 "Red", "White", "Blue"
.EXAMPLE
Load-ComboBox $combobox1 "Red" -Append
Load-ComboBox $combobox1 "White" -Append
Load-ComboBox $combobox1 "Blue" -Append
.EXAMPLE
Load-ComboBox $combobox1 (Get-Process) "ProcessName"
#>
Param (
[ValidateNotNull()]
[Parameter(Mandatory = $true)]
[System.Windows.Forms.ComboBox]$ComboBox,
[ValidateNotNull()]
[Parameter(Mandatory = $true)]
$Items,
[Parameter(Mandatory = $false)]
[string]$DisplayMember,
[switch]$Append
)
if (-not $Append)
{
$ComboBox.Items.Clear()
}
if ($Items -is [Object[]])
{
$ComboBox.Items.AddRange($Items)
}
elseif ($Items -is [Array])
{
$ComboBox.BeginUpdate()
foreach ($obj in $Items)
{
$ComboBox.Items.Add($obj)
}
$ComboBox.EndUpdate()
}
else
{
$ComboBox.Items.Add($Items)
}
$ComboBox.DisplayMember = $DisplayMember
}
#endregion
$datagridDisplayResults_CellContentClick = [System.Windows.Forms.DataGridViewCellEventHandler]{
Event Argument: $_ = [System.Windows.Forms.DataGridViewCellEventArgs]
#TODO: Place custom script here
}
$formIAMV10_Load={
#TODO: Place custom script here
}
]]>
1
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.ServiceProcess, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a