functions/ServerEye.Powershell.Helper.Generated.ps1
<# AUTOR: This file is auto-generated DATE: 2019-06-12T13:42:58.324Z DESC: Module enables easier access to the PowerShell API #> <# .SYNOPSIS Get an agent. .PARAMETER $AId The id of the agent. #> function Get-Agent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId" -authtoken $AuthToken } } <# .SYNOPSIS Get an agent's action log. .PARAMETER $AId The id of the agent. .PARAMETER $Start Start index for reading entries. .PARAMETER $Limit How many entries should be returned? #> function Get-AgentActionlogList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] $Limit, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/actionlog?start=$Start&limit=$Limit" -authtoken $AuthToken } } <# .SYNOPSIS List all agent categories. #> function Get-AgentCategoryList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/category" -authtoken $AuthToken } } <# .SYNOPSIS Get an agent's chart. .PARAMETER $AId The id of the agent. .PARAMETER $Start Start date in milliseconds. .PARAMETER $End End date in milliseconds. .PARAMETER $ValueType Which values do you need? .PARAMETER $FillGaps If there are gaps in the chart, do you want them to be auto-filled with the previous chart value? #> function Get-AgentChart { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] $End, [Parameter(Mandatory=$false)] [ValidateSet('AVG','MIN','MAX','ALL')] $ValueType, [Parameter(Mandatory=$false)] $FillGaps, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/chart?start=$Start&end=$End&valueType=$ValueType&fillGaps=$FillGaps" -authtoken $AuthToken } } <# .SYNOPSIS List an agent's notes. .PARAMETER $AId The id of the agent. #> function Get-AgentNoteList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/note" -authtoken $AuthToken } } <# .SYNOPSIS List an agent's notifications. .PARAMETER $AId The id of the agent. #> function Get-AgentNotificationList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/notification" -authtoken $AuthToken } } <# .SYNOPSIS Get a settings remote information. .PARAMETER $AId The id of the agent. .PARAMETER $Key The key of the setting. .PARAMETER $Information An additional information for the agent. Sometimes required. Please check the call made by the OCC for possible values. #> function Get-AgentRemoteSetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $Key, [Parameter(Mandatory=$false)] $Information, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/setting/$Key/remote?information=$Information" -authtoken $AuthToken } } <# .SYNOPSIS List an agent's settings. .PARAMETER $AId The id of the agent. #> function Get-AgentSettingList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/setting" -authtoken $AuthToken } } <# .SYNOPSIS Get the current state or a state history of this agent. .PARAMETER $AId The id of the agent. .PARAMETER $Limit How many entries of the state history do you need? <b>This param is ignored if start AND end are provided.</b> .PARAMETER $Start Either an integer which describes how many entries of the history you want to skip or an utc date in milliseconds. .PARAMETER $End An utc date in milliseconds. Only required if start is an utc timestamp, too. .PARAMETER $IncludeHints Include user hints? .PARAMETER $IncludeMessage Include the status message? .PARAMETER $IncludeRawData Include the status' raw data if available? .PARAMETER $Format In which format do you want the message to be rendered? #> function Get-AgentStateList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$false)] $Limit, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] $End, [Parameter(Mandatory=$false)] $IncludeHints, [Parameter(Mandatory=$false)] $IncludeMessage, [Parameter(Mandatory=$false)] $IncludeRawData, [Parameter(Mandatory=$false)] [ValidateSet('plain','html')] $Format, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/state?limit=$Limit&start=$Start&end=$End&includeHints=$IncludeHints&includeMessage=$IncludeMessage&includeRawData=$IncludeRawData&format=$Format" -authtoken $AuthToken } } <# .SYNOPSIS List an agent's tags. .PARAMETER $AId The id of the agent. #> function Get-AgentTagList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/$AId/tag" -authtoken $AuthToken } } <# .SYNOPSIS List all possible agent types. .PARAMETER $Category List only agent types of a specific category. For possible categories see <code>GET /agent/category</code>. #> function Get-AgentTypeList { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] $Category, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/type?category=$Category" -authtoken $AuthToken } } <# .SYNOPSIS Get the settings and default values of an agent type. .PARAMETER $AkId The id of the agent type. #> function Get-AgentTypeSettingList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AkId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/agent/type/$AkId/setting" -authtoken $AuthToken } } <# .SYNOPSIS Check the given containers for compliance-violations. Returns true if at least one violation is found for this container. .PARAMETER $ContainerId The id of a container or multiple ids as array. .PARAMETER $CustomerId The id of the customer. .PARAMETER $ViewFilterId The id of the view filter. #> function Get-ComplianceCheck { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ContainerId, [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $ViewFilterId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/compliance/check?containerId=$ContainerId&customerId=$CustomerId&viewFilterId=$ViewFilterId" -authtoken $AuthToken } } <# .SYNOPSIS Get the compliance template and config for a customer/view filter. .PARAMETER $ViewFilterId The id of a view filter. .PARAMETER $CustomerId The id of the customer #> function Get-ComplianceConfig { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ViewFilterId, [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/compliance/config?viewFilterId=$ViewFilterId&customerId=$CustomerId" -authtoken $AuthToken } } <# .SYNOPSIS Get all compliance configs for the given customers. Returns all configs for each given id. .PARAMETER $CustomerId The id or an array of ids of the customer #> function Get-ComplianceConfigCustomer { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/compliance/config/customer?customerId=$CustomerId" -authtoken $AuthToken } } <# .SYNOPSIS Get all differences between a container / multiple containers the template configured via /compliance/config. .PARAMETER $ContainerId The id of a container or multiple ids as array. .PARAMETER $CustomerId The id of the customer. .PARAMETER $ViewFilterId The id of the view filter. .PARAMETER $MessageFormat If the entry should be human readable, specify the format of the message. This will include a 'message' property in each entry or not. #> function Get-ComplianceViolation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ContainerId, [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $ViewFilterId, [Parameter(Mandatory=$false)] [ValidateSet('none','md','html')] $MessageFormat, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/compliance/violation?containerId=$ContainerId&customerId=$CustomerId&viewFilterId=$ViewFilterId&messageFormat=$MessageFormat" -authtoken $AuthToken } } <# .SYNOPSIS Get a container. .PARAMETER $CId The id of the container. #> function Get-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId" -authtoken $AuthToken } } <# .SYNOPSIS Get an container's action log. .PARAMETER $CId The id of the container. .PARAMETER $Start Start index for reading entries. .PARAMETER $Limit How many entries should be returned? #> function Get-ContainerActionlogList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] $Limit, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/actionlog?start=$Start&limit=$Limit" -authtoken $AuthToken } } <# .SYNOPSIS List a container's agents. .PARAMETER $CId The id of the container. #> function Get-ContainerAgentList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/agents" -authtoken $AuthToken } } <# .SYNOPSIS Get a container's inventory. .PARAMETER $CId The id of the container. .PARAMETER $Format What kind of return format do you expect? #> function Get-ContainerInventory { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] [ValidateSet('json','xml')] $Format, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/inventory?format=$Format" -authtoken $AuthToken } } <# .SYNOPSIS List a container's notes. .PARAMETER $CId The id of the container. #> function Get-ContainerNoteList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/note" -authtoken $AuthToken } } <# .SYNOPSIS List a container's notifications. .PARAMETER $CId The id of the container. #> function Get-ContainerNotificationList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/notification" -authtoken $AuthToken } } <# .SYNOPSIS Get a container's proposals. .PARAMETER $CId The id of the container. #> function Get-ContainerProposalList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/proposal" -authtoken $AuthToken } } <# .SYNOPSIS Get the settings of a proposal. .PARAMETER $CId The id of the container. .PARAMETER $PId The id of the proposal. #> function Get-ContainerProposalSettingList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $PId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/proposal/$PId/setting" -authtoken $AuthToken } } <# .SYNOPSIS Get the current state or a state history of this container. .PARAMETER $CId The id of the container. .PARAMETER $Limit How many entries of the state history do you need? <b>This param is ignored if start AND end are provided.</b> .PARAMETER $Start Either an integer which describes how many entries of the history you want to skip or an utc date in milliseconds. .PARAMETER $End An utc date in milliseconds. Only required if start is an utc timestamp, too. .PARAMETER $IncludeHints Include user hints? .PARAMETER $IncludeMessage Include the status message? #> function Get-ContainerStateList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $Limit, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] $End, [Parameter(Mandatory=$false)] $IncludeHints, [Parameter(Mandatory=$false)] $IncludeMessage, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/state?limit=$Limit&start=$Start&end=$End&includeHints=$IncludeHints&includeMessage=$IncludeMessage" -authtoken $AuthToken } } <# .SYNOPSIS List a container's tags. .PARAMETER $CId The id of the container. #> function Get-ContainerTagList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/container/$CId/tag" -authtoken $AuthToken } } <# .SYNOPSIS Get a customer of your distributor. .PARAMETER $CId The id of the customer. #> function Get-Customer { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId" -authtoken $AuthToken } } <# .SYNOPSIS Get a specific api key. .PARAMETER $CId The id of the customer. .PARAMETER $Name The name of the api key you want to read. #> function Get-CustomerApikey { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/apiKey?name=$Name" -authtoken $AuthToken } } <# .SYNOPSIS Get your distributor's, its customer's and their user's api keys. #> function Get-CustomerApikeyList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/apiKey" -authtoken $AuthToken } } <# .SYNOPSIS Lists all buckets of a customer #> function Get-CustomerBucketList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/bucket" -authtoken $AuthToken } } <# .SYNOPSIS Lists all users of a bucket .PARAMETER $BId The id of the bucket. #> function Get-CustomerBucketUserList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/bucket/$BId/user" -authtoken $AuthToken } } <# .SYNOPSIS List a customer's containers. .PARAMETER $CId The id of the customer. #> function Get-CustomerContainerList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/containers" -authtoken $AuthToken } } <# .SYNOPSIS Lists all deferred dispatch times of a customer #> function Get-CustomerDispatchtimeList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/dispatchTime" -authtoken $AuthToken } } <# .SYNOPSIS Lists all customers of your distributor. #> function Get-CustomerList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer" -authtoken $AuthToken } } <# .SYNOPSIS Returns the customers location. .PARAMETER $CId The id of the customer. #> function Get-CustomerLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/location" -authtoken $AuthToken } } <# .SYNOPSIS Lists all managers of a customer. .PARAMETER $CId The customer id. #> function Get-CustomerManagerList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/manager" -authtoken $AuthToken } } <# .SYNOPSIS Returns all customer properties. .PARAMETER $CId The id of the customer. #> function Get-CustomerPropertyList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/property" -authtoken $AuthToken } } <# .SYNOPSIS Get a customers secretKey. .PARAMETER $CId The id of the customer. #> function Get-CustomerSecret { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/secret" -authtoken $AuthToken } } <# .SYNOPSIS List customer settings. .PARAMETER $CId The id of the customer. #> function Get-CustomerSettingList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/setting" -authtoken $AuthToken } } <# .SYNOPSIS Lists all tags of a customer #> function Get-CustomerTagList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/tag" -authtoken $AuthToken } } <# .SYNOPSIS List the agents of one of your container templates. .PARAMETER $TId The id of the template. #> function Get-CustomerTemplateAgentList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/template/$TId/agent" -authtoken $AuthToken } } <# .SYNOPSIS List all container templates of your customer. #> function Get-CustomerTemplateList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/template" -authtoken $AuthToken } } <# .SYNOPSIS Get a customer's usage data. Returns the number of agents, containers, ... for a specific month. .PARAMETER $CId The id of the customer. .PARAMETER $Year Year of the usage. .PARAMETER $Month Month of the usage. #> function Get-CustomerUsage { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Year, [Parameter(Mandatory=$true)] [ValidateSet('1','2','3','4','5','6','7','8','9','10','11','12')] $Month, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/$CId/usage?year=$Year&month=$Month" -authtoken $AuthToken } } <# .SYNOPSIS Get usage data of your distributor's customers. Returns the number of agents, containers, ... for a specific month. .PARAMETER $Year Year of the usage. .PARAMETER $Month Month of the usage. #> function Get-CustomerUsageList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Year, [Parameter(Mandatory=$true)] [ValidateSet('1','2','3','4','5','6','7','8','9','10','11','12')] $Month, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/usage?year=$Year&month=$Month" -authtoken $AuthToken } } <# .SYNOPSIS Lists all view filters of a customer #> function Get-CustomerViewfilterList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/viewFilter" -authtoken $AuthToken } } <# .SYNOPSIS Get a specific group. .PARAMETER $GId The id of the group. #> function Get-Group { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/group/$GId" -authtoken $AuthToken } } <# .SYNOPSIS Get all groups. #> function Get-GroupList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/group" -authtoken $AuthToken } } <# .SYNOPSIS Get the users of a specific group. .PARAMETER $GId The id of the group. #> function Get-GroupUserList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/group/$GId/user" -authtoken $AuthToken } } <# .SYNOPSIS Searches for one of your api keys by name. .PARAMETER $Name The name of the wanted key. #> function Get-Key { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/key?name=$Name" -authtoken $AuthToken } } <# .SYNOPSIS Returns your user object. #> function Get-Me { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me" -authtoken $AuthToken } } <# .SYNOPSIS Returns your customer object. #> function Get-MyCustomer { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/customer" -authtoken $AuthToken } } <# .SYNOPSIS Returns your last known location. #> function Get-MyLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/location" -authtoken $AuthToken } } <# .SYNOPSIS Checks if you have already registered your mobile push handle. .PARAMETER $Handle The Android or iOS push handle. #> function Get-MyMobilepush { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Handle, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/mobilepush/$Handle" -authtoken $AuthToken } } <# .SYNOPSIS A list of all registered push handles of your devices. #> function Get-MyMobilepushList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/mobilepush" -authtoken $AuthToken } } <# .SYNOPSIS A list of all your nodes. That means every customer, container, agent, template, and so on you are allowed to see. .PARAMETER $ListType The way the nodes will be returned, flat array or object. .PARAMETER $Filter Filters are applied to the result data and remove nodes from the result set, that don't match the filters. Can be a comma-seperated list. <b>Note: 'own' can not be combined with 'nativeOnly'!</b> .PARAMETER $IncludeTemplates Do you need all of the templates? .PARAMETER $IncludeDistributorsCustomers Do you need all customers of your distributor? .PARAMETER $IncludeDistributorsNodes If you want all customers, containers and agents of your distributor set this to true. <b>Usually you don't want to do this!</b> #> function Get-MyNodesList { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] [ValidateSet('list','object')] $ListType, [Parameter(Mandatory=$false)] [ValidateSet('user','customer','container','agent','errors','own','nativeOnly')] $Filter, [Parameter(Mandatory=$false)] $IncludeTemplates, [Parameter(Mandatory=$false)] $IncludeDistributorsCustomers, [Parameter(Mandatory=$false)] $IncludeDistributorsNodes, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/nodes?listType=$ListType&filter=$Filter&includeTemplates=$IncludeTemplates&includeDistributorsCustomers=$IncludeDistributorsCustomers&includeDistributorsNodes=$IncludeDistributorsNodes" -authtoken $AuthToken } } <# .SYNOPSIS List all your notifications. .PARAMETER $Type List the notifications of the user or of its' groups. #> function Get-MyNotificationList { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] [ValidateSet('user','groups')] $Type, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/notification?type=$Type" -authtoken $AuthToken } } <# .SYNOPSIS Returns your user's settings. #> function Get-MySetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/setting" -authtoken $AuthToken } } <# .SYNOPSIS Returns the user's two factor authentication settings and if two factor is enabled or not. #> function Get-MyTwofactor { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/twofactor" -authtoken $AuthToken } } <# .SYNOPSIS Returns the user's two factor secret. Returns only successfull if two factor authentication is not enabled and active, yet! .PARAMETER $Format The 6 digit code of the authenticator app to validate the user and prove that you know the correct secret. #> function Get-MyTwofactorSecret { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [ValidateSet('string','qrcode')] $Format, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/me/twofactor/secret?format=$Format" -authtoken $AuthToken } } <# .SYNOPSIS Lists all install jobs you have triggered during your browser session. .PARAMETER $CustomerId The id of the customer of the network. .PARAMETER $CId The id of the OCC Connector within the network. .PARAMETER $JobIds Pass an array of job IDs if you want the status of specific jobs only. #> function Get-NetworkSystemInstallstatusList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $JobIds, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/network/$CustomerId/$CId/system/installstatus?jobIds=$JobIds" -authtoken $AuthToken } } <# .SYNOPSIS Lists all systems within a Windows Active Directory or Workgroup. .PARAMETER $CustomerId The id of the customer of the network. .PARAMETER $CId The id of the OCC Connector within the network. #> function Get-NetworkSystemList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/network/$CustomerId/$CId/system" -authtoken $AuthToken } } <# .SYNOPSIS Get system details related to remote access. .PARAMETER $CustomerId The id of the customer the container belongs to. .PARAMETER $CId The id of the container. #> function Get-Pcvisit { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/pcvisit/$CustomerId/$CId" -authtoken $AuthToken } } <# .SYNOPSIS Check if pcvisit is installed on a remote system and start the service. .PARAMETER $CustomerId The id of the customer the container belongs to. .PARAMETER $CId The id of the container. #> function Get-PcvisitCheck { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/pcvisit/$CustomerId/$CId/check" -authtoken $AuthToken } } <# .SYNOPSIS Get details of a reports and its' history. .PARAMETER $CId The id of a customer. .PARAMETER $RId The id of a report of the customer. #> function Get-ReportingCustomReport { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $RId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/reporting/$CId/report/$RId" -authtoken $AuthToken } } <# .SYNOPSIS List all defined reports of a customer. .PARAMETER $CId The id of a customer. #> function Get-ReportingCustomReportList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/reporting/$CId/report" -authtoken $AuthToken } } <# .SYNOPSIS Returns a report template and its widgets. .PARAMETER $RtId The id of a report template. #> function Get-ReportingTemplate { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $RtId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/reporting/template/$RtId" -authtoken $AuthToken } } <# .SYNOPSIS List all available report templates. #> function Get-ReportingTemplateList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/reporting/template" -authtoken $AuthToken } } <# .SYNOPSIS Get all users with this specific role. .PARAMETER $Role The role to search for #> function Get-RoleList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Role, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/role/$Role/user" -authtoken $AuthToken } } <# .SYNOPSIS Get a specific user. .PARAMETER $UId The id of the user. #> function Get-User { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/user/$UId" -authtoken $AuthToken } } <# .SYNOPSIS Get the groups of a specific user. .PARAMETER $UId The id of the user. #> function Get-UserGroupList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/user/$UId/group" -authtoken $AuthToken } } <# .SYNOPSIS List users by criteria. Use a query or a customer id to limit the result data. Otherwise a list of all users of all customers is provided. .PARAMETER $Query A search string the emailaddress or surname or prename must container. .PARAMETER $CustomerId Restrict the result list to a specific customer. .PARAMETER $IncludeLocation Should your result contain the last known location of every user? #> function Get-UserList { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] $Query, [Parameter(Mandatory=$false)] $CustomerId, [Parameter(Mandatory=$false)] $IncludeLocation, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/user?query=$Query&customerId=$CustomerId&includeLocation=$IncludeLocation" -authtoken $AuthToken } } <# .SYNOPSIS Get a specific users last known location. .PARAMETER $UId The id of the user. #> function Get-UserLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/user/$UId/location" -authtoken $AuthToken } } <# .SYNOPSIS Returns a user's settings. .PARAMETER $UId The id of the user. #> function Get-UserSettingList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/user/$UId/setting" -authtoken $AuthToken } } <# .SYNOPSIS Logs the logged in user out and destroys his session. #> function New-Logout { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/auth/logout" -authtoken $AuthToken } } <# .SYNOPSIS Empties all the bucket content into the reponse. Warning: Bucket is empty after calling this! .PARAMETER $BId The id of the bucket. #> function Read-CustomerBucket { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-GetJson -url "https://api.server-eye.de/2/customer/bucket/$BId/empty" -authtoken $AuthToken } } <# .SYNOPSIS Add a tag to an agent. .PARAMETER $AId The id of the agent. .PARAMETER $TId The id of the tag. #> function New-AgentTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'tId' = $TId } return Intern-PutJson -url "https://api.server-eye.de/2/agent/$AId/tag/$TId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Add a tag to a container. .PARAMETER $CId The id of the container. .PARAMETER $TId The id of the tag. #> function New-ContainerTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'tId' = $TId } return Intern-PutJson -url "https://api.server-eye.de/2/container/$CId/tag/$TId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Change an agent. .PARAMETER $AId The id of the agent. .PARAMETER $Name The name to display to the user. .PARAMETER $Interval The interval in minutes. The agent will be executed every X minutes. #> function Set-Agent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$false)] $Name, [Parameter(Mandatory=$false)] $Interval, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'name' = $Name 'interval' = $Interval } return Intern-PutJson -url "https://api.server-eye.de/2/agent/$AId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update an existing notification of an agent. .PARAMETER $AId The id of the agent. .PARAMETER $NId The id of the notification. .PARAMETER $UserId The id of the user or group that should receive a notification. .PARAMETER $Email Send an email as notification. .PARAMETER $Phone Send a phone text message as notification. .PARAMETER $Ticket Create a ticket as notification. .PARAMETER $DeferId Should this notification be triggered with defered dispatch? Pass an ID of a dispatchTime entry. #> function Set-AgentNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$false)] $UserId, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Ticket, [Parameter(Mandatory=$false)] $DeferId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'nId' = $NId 'userId' = $UserId 'email' = $Email 'phone' = $Phone 'ticket' = $Ticket 'deferId' = $DeferId } return Intern-PutJson -url "https://api.server-eye.de/2/agent/$AId/notification/$NId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update an existing setting of an agent. .PARAMETER $AId The id of the agent. .PARAMETER $Key The key of the setting you want to change. This has to be a currently existing key. .PARAMETER $Value The new value of the setting. #> function Set-AgentSetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $Key, [Parameter(Mandatory=$true)] $Value, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'key' = $Key 'value' = $Value } return Intern-PutJson -url "https://api.server-eye.de/2/agent/$AId/setting/$Key" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Set the compliance template and config for a customer/view filter. .PARAMETER $ViewFilterId The id of a view filter. .PARAMETER $CustomerId The id of a customer .PARAMETER $TemplateId The id of a template. .PARAMETER $Checks An array of checks to check for violations between template and the viewvilter's containers. #> function Set-ComplianceConfig { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ViewFilterId, [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $TemplateId, [Parameter(Mandatory=$true)] [ValidateSet('applyNotifications','dropNotifications','applyTags','dropTags','applyAgents','dropAgents','applyAgentSettings')] $Checks, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'viewFilterId' = $ViewFilterId 'customerId' = $CustomerId 'templateId' = $TemplateId 'checks' = $Checks } return Intern-PutJson -url "https://api.server-eye.de/2/compliance/config" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Apply the changes to the containers. .PARAMETER $Changes An array of changes to apply. A change corresponds to one returnvalue of <code>GET compliance/violation</code> #> function Set-ComplianceFix { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Changes, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'changes' = $Changes } return Intern-PutJson -url "https://api.server-eye.de/2/compliance/fix" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates attributes of a container. .PARAMETER $CId The id of the container. .PARAMETER $Name The display name of the container .PARAMETER $AlertOffline Send an alert if the container reached maxHeartbeatTimeout. .PARAMETER $AlertShutdown Send an alert if the container reached maxHeartbeatTimeout and has cleanShutdown:true. .PARAMETER $MaxHeartbeatTimeout How many minutes without contact to the cloud are ok for this container? #> function Set-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $Name, [Parameter(Mandatory=$false)] $AlertOffline, [Parameter(Mandatory=$false)] $AlertShutdown, [Parameter(Mandatory=$false)] $MaxHeartbeatTimeout, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'name' = $Name 'alertOffline' = $AlertOffline 'alertShutdown' = $AlertShutdown 'maxHeartbeatTimeout' = $MaxHeartbeatTimeout } return Intern-PutJson -url "https://api.server-eye.de/2/container/$CId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update an existing notification of a container. .PARAMETER $CId The id of the container. .PARAMETER $NId The id of the notification. .PARAMETER $Email Send an email as notification. .PARAMETER $Phone Send a phone text message as notification. .PARAMETER $Ticket Create a ticket as notification. .PARAMETER $DeferId Should this notification be triggered with defered dispatch? Pass an ID of a dispatchTime entry. #> function Set-ContainerNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Ticket, [Parameter(Mandatory=$false)] $DeferId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'nId' = $NId 'email' = $Email 'phone' = $Phone 'ticket' = $Ticket 'deferId' = $DeferId } return Intern-PutJson -url "https://api.server-eye.de/2/container/$CId/notification/$NId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Accept a proposal and turn it into an agent. .PARAMETER $CId The id of the container. .PARAMETER $PId The id of the proposal. #> function Set-ContainerProposal { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $PId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'pId' = $PId } return Intern-PutJson -url "https://api.server-eye.de/2/container/$CId/proposal/$PId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates a customer of your distributor. Nearly any property of the <code>GET /customer/:id</code> result object can be modified and send to the server. .PARAMETER $CId The id of the customer. .PARAMETER $CompanyName The name of the customer. .PARAMETER $ZipCode The zip code of the customer. .PARAMETER $City The city of the customer. .PARAMETER $Country The country of the customer. .PARAMETER $Street The street of the customer. .PARAMETER $StreetNumber The street number of the customer. .PARAMETER $Email An email address of this customer. .PARAMETER $Phone A phone number of this customer. .PARAMETER $Language The default language for emails and other background translation for this customer. .PARAMETER $Timezone The timezone of this customer. #> function Set-Customer { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $CompanyName, [Parameter(Mandatory=$false)] $ZipCode, [Parameter(Mandatory=$false)] $City, [Parameter(Mandatory=$false)] $Country, [Parameter(Mandatory=$false)] $Street, [Parameter(Mandatory=$false)] $StreetNumber, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] [ValidateSet('en','de')] $Language, [Parameter(Mandatory=$false)] $Timezone, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'companyName' = $CompanyName 'zipCode' = $ZipCode 'city' = $City 'country' = $Country 'street' = $Street 'streetNumber' = $StreetNumber 'email' = $Email 'phone' = $Phone 'language' = $Language 'timezone' = $Timezone } return Intern-PutJson -url "https://api.server-eye.de/2/customer/$CId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates your customer's bucket. .PARAMETER $BId The id of the bucket. .PARAMETER $Name A describing name for the bucket. #> function Set-CustomerBucket { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'bId' = $BId 'name' = $Name } return Intern-PutJson -url "https://api.server-eye.de/2/customer/bucket/$BId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Add a user to the bucket. .PARAMETER $BId The id of the bucket. .PARAMETER $UId The id of the user. #> function Set-CustomerBucketUser { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'bId' = $BId 'uId' = $UId } return Intern-PutJson -url "https://api.server-eye.de/2/customer/bucket/$BId/user/$UId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates your customer's deferred dispatch time. .PARAMETER $DtId The id of the dispatch time. .PARAMETER $Name A describing short name for the dispatch time. .PARAMETER $Defer How many minutes will the dispatch defer? #> function Set-CustomerDispatchtime { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $DtId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] $Defer, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'dtId' = $DtId 'name' = $Name 'defer' = $Defer } return Intern-PutJson -url "https://api.server-eye.de/2/customer/dispatchTime/$DtId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Adds a user as manager to a customer. .PARAMETER $CId The customer id. .PARAMETER $Email What's the email address of the user you want to add? This address has to be registered as Server-Eye user. #> function Set-CustomerManager { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Email, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'email' = $Email } return Intern-PutJson -url "https://api.server-eye.de/2/customer/$CId/manager/$Email" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates settings of a customer. Nearly any parameter of <code>GET /customer/:cId/setting</code> is valid. .PARAMETER $CId The id of the customer. .PARAMETER $TanssUrl The URL of an instance of TANSS. .PARAMETER $DefaultLanguage The language of this customers reports and other automatically generated stuff .PARAMETER $Timezone The timezone this customer is based. #> function Set-CustomerSetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $TanssUrl, [Parameter(Mandatory=$false)] [ValidateSet('de','en')] $DefaultLanguage, [Parameter(Mandatory=$false)] $Timezone, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'tanssUrl' = $TanssUrl 'defaultLanguage' = $DefaultLanguage 'timezone' = $Timezone } return Intern-PutJson -url "https://api.server-eye.de/2/customer/$CId/setting" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates your customer's tag. .PARAMETER $TId The id of the tag. .PARAMETER $Name A describing name for the tag. Should be short and without spaces. Only 'A-Za-z0-9-.' allowed. #> function Set-CustomerTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'tId' = $TId 'name' = $Name } return Intern-PutJson -url "https://api.server-eye.de/2/customer/tag/$TId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates your customer's view filter. .PARAMETER $VfId The id of the view filter. .PARAMETER $Name A describing name for the view filter. .PARAMETER $Query A query object the view filter executes on the view data. We use LokiJs syntax. #> function Set-CustomerViewfilter { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $VfId, [Parameter(Mandatory=$false)] $Name, [Parameter(Mandatory=$false)] $Query, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'vfId' = $VfId 'name' = $Name 'query' = $Query } return Intern-PutJson -url "https://api.server-eye.de/2/customer/viewFilter/$VfId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Change a group. .PARAMETER $GId The id of the group. .PARAMETER $Name The name of the group. #> function Set-Group { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'gId' = $GId 'name' = $Name } return Intern-PutJson -url "https://api.server-eye.de/2/group/$GId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Add a user to the group. .PARAMETER $GId The id of the group. .PARAMETER $UId The id of the user to add. #> function Set-GroupUser { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'gId' = $GId 'uId' = $UId } return Intern-PutJson -url "https://api.server-eye.de/2/group/$GId/user/$UId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update an existing notification. .PARAMETER $NId The id of the notification. .PARAMETER $AId The id of the container or agent this notification belongs to. .PARAMETER $Mail Send an email as notification. .PARAMETER $Phone Send a phone text message as notification. .PARAMETER $Ticket Create a ticket as notification. .PARAMETER $DeferId Should this notification be triggered with defered dispatch? Pass an ID of a dispatchTime entry. #> function Set-MyNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$false)] $Mail, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Ticket, [Parameter(Mandatory=$false)] $DeferId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'nId' = $NId 'aId' = $AId 'mail' = $Mail 'phone' = $Phone 'ticket' = $Ticket 'deferId' = $DeferId } return Intern-PutJson -url "https://api.server-eye.de/2/me/notification/$NId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates settings of your user. Any parameter of <code>GET /me/setting</code> is valid. #> function Set-MySetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ } return Intern-PutJson -url "https://api.server-eye.de/2/me/setting" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update a report template and its included widgets. .PARAMETER $RtId The id of a report template. .PARAMETER $Name The name of the report template. .PARAMETER $Widgets The widgets that this report template contains. #> function Set-ReportingTemplate { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $RtId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] $Widgets, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'rtId' = $RtId 'name' = $Name 'widgets' = $Widgets } return Intern-PutJson -url "https://api.server-eye.de/2/reporting/template/$RtId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Change a user. .PARAMETER $UId The id of the user. .PARAMETER $Prename The users' prename. .PARAMETER $Surname The users' surname. .PARAMETER $Email The users' email address. It has to be unique throughout Server-Eye. .PARAMETER $Roles The roles of the user. .PARAMETER $Phone The mobile phone number of the user. It is used to send mobile message notifications or reset the password. #> function Set-User { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $Prename, [Parameter(Mandatory=$true)] $Surname, [Parameter(Mandatory=$true)] $Email, [Parameter(Mandatory=$false)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Roles, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'prename' = $Prename 'surname' = $Surname 'email' = $Email 'roles' = $Roles 'phone' = $Phone } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Add the users to a group. .PARAMETER $UId The id of the user. .PARAMETER $GId The id of the group. #> function Set-UserGroup { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'gId' = $GId } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId/group/$GId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Set the roles of a user .PARAMETER $UId The id of the user. .PARAMETER $Roles The roles, that this user should have, as array #> function Set-UserRole { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Roles, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'roles' = $Roles } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId/role" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates settings of a user. Any parameter of <code>GET /user/:uId/setting</code> is valid. .PARAMETER $UId The id of the user. #> function Set-UserSetting { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId/setting" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates a setting of a user. .PARAMETER $UId The id of the user. .PARAMETER $Key The setting that you want to modify. .PARAMETER $Value The new value of the setting. #> function Set-UserSettingKey { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [ValidateSet('sendSummary','defaultNotifyEmail','defaultNotifyPhone','defaultNotifyTicket','timezone','theme')] $Key, [Parameter(Mandatory=$true)] [ValidateSet('Boolean','Valid timezone','bright/dark/colorblind theme')] $Value, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'key' = $Key 'value' = $Value } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId/setting/$Key" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Is the user on vacation? You can set a user ID as substitude ID. All alerts will be redirected to that user. .PARAMETER $UId The id of the user. .PARAMETER $SubstitudeId The user ID of the substitude. #> function Set-UserSubstitude { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $SubstitudeId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'substitudeId' = $SubstitudeId } return Intern-PutJson -url "https://api.server-eye.de/2/user/$UId/substitude/$SubstitudeId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Query the actionlog. .PARAMETER $Of A comma separated list of ids or an Array of ids. This can be any ids in any combination, e.g. id of a container or id of a user. You will receive the complete history behind any of these ids. .PARAMETER $Type You can reduce the result to a specific change type. For a list of change types, please query the action log and pick one form the change object. .PARAMETER $Limit How many entries of the actionlog do you need? Max value is 100. .PARAMETER $Start The number of entries that you want to skip. .PARAMETER $MessageFormat If the entry should be human readable, specify the format of the message. This will include a 'message' property in each entry or not. .PARAMETER $IncludeRawData If the entry should contain the raw data. This includes the change object and additional information, if available, in each resulting entry. #> function Get-ActionlogList { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Of, [Parameter(Mandatory=$false)] $Type, [Parameter(Mandatory=$false)] $Limit, [Parameter(Mandatory=$false)] $Start, [Parameter(Mandatory=$false)] [ValidateSet('none','md','html')] $MessageFormat, [Parameter(Mandatory=$false)] $IncludeRawData, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'of' = $Of 'type' = $Type 'limit' = $Limit 'start' = $Start 'messageFormat' = $MessageFormat 'includeRawData' = $IncludeRawData } return Intern-PostJson -url "https://api.server-eye.de/2/search/actionlog" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS The same as <code>GET /agent/:id/state</code>, but aId can be a comma seperated list or an array of agent ids. The result will be an object of state arrays with agent id as keys. .PARAMETER $AId The ids of the agents. #> function Get-AgentStateListbulk { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId } return Intern-PostJson -url "https://api.server-eye.de/2/agent/state" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS The same as <code>GET /container/:id/proposal</code>, but id can be a comma seperated list or an array of container ids. The result will be an object of proposal arrays with container id as keys. .PARAMETER $CId The ids of the container. #> function Get-ContainerProposalListbulk { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/container/proposal" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS The same as <code>GET /container/:id/state</code>, but id can be a comma seperated list or an array of container ids. The result will be an object of state arrays with container id as keys. .PARAMETER $CId The ids of the container. #> function Get-ContainerStateListbulk { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/container/state" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create an agent. .PARAMETER $ParentId The id of the parent container. .PARAMETER $Type What type does the agent have? Use <code>GET /agent/type</code> to list all valid agent types. .PARAMETER $Name The name of the agent. If not set a matching default name will be used. #> function New-Agent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ParentId, [Parameter(Mandatory=$true)] $Type, [Parameter(Mandatory=$false)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'parentId' = $ParentId 'type' = $Type 'name' = $Name } return Intern-PostJson -url "https://api.server-eye.de/2/agent" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Copy an agent and all of its attributes. .PARAMETER $AId The id of the agent. .PARAMETER $ParentId The id of the container that should host the copied agent. #> function New-AgentCopy { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $ParentId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'parentId' = $ParentId } return Intern-PostJson -url "https://api.server-eye.de/2/agent/$AId/copy" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new note for an agent. .PARAMETER $AId The id of the agent. .PARAMETER $Message The note's message. #> function New-AgentNote { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $Message, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'message' = $Message } return Intern-PostJson -url "https://api.server-eye.de/2/agent/$AId/note" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new notification for an agent. .PARAMETER $AId The id of the agent. .PARAMETER $UserId The id of the user or group that should receive a notification. .PARAMETER $Email Send an email as notification. .PARAMETER $Phone Send a phone text message as notification. .PARAMETER $Ticket Create a ticket as notification. .PARAMETER $DeferId Should this notification be triggered with defered dispatch? Pass an ID of a dispatchTime entry. #> function New-AgentNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $UserId, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Ticket, [Parameter(Mandatory=$false)] $DeferId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'userId' = $UserId 'email' = $Email 'phone' = $Phone 'ticket' = $Ticket 'deferId' = $DeferId } return Intern-PostJson -url "https://api.server-eye.de/2/agent/$AId/notification" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Write a hint for a state. Depending on the hint type the state is changed to working on, reopen, and so on. .PARAMETER $AId The id of the agent. .PARAMETER $SId The id of the state. .PARAMETER $Author The user id or email address of the author of the hint. If not provided it's the session user. .PARAMETER $HintType The type of the hint. .PARAMETER $Message The message of the hint. .PARAMETER $AssignedUser The user that is assigned to this hint. e.g the user that is responsible to fix an alert. .PARAMETER $MentionedUsers The users that should receive an information mail. A comma seperated list or array of IDs or email addresses. .PARAMETER $Private Is this note only visible to the posters customer? .PARAMETER $Until If you are working on this state, how long will it take? 0 for forever, 1 for one houer, 2 for two hours and so on. #> function New-AgentStateHint { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $SId, [Parameter(Mandatory=$false)] $Author, [Parameter(Mandatory=$true)] [ValidateSet('working','reopen','false alert','hint')] $HintType, [Parameter(Mandatory=$true)] $Message, [Parameter(Mandatory=$false)] $AssignedUser, [Parameter(Mandatory=$false)] $MentionedUsers, [Parameter(Mandatory=$false)] $Private, [Parameter(Mandatory=$false)] $Until, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId 'sId' = $SId 'author' = $Author 'hintType' = $HintType 'message' = $Message 'assignedUser' = $AssignedUser 'mentionedUsers' = $MentionedUsers 'private' = $Private 'until' = $Until } return Intern-PostJson -url "https://api.server-eye.de/2/agent/$AId/state/$SId/hint" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates an API key for an user, customer or container. .PARAMETER $Email Email address of the user to login. .PARAMETER $Password Password of the user. .PARAMETER $Code If the user has two-factor enabled you have to send the 6-digit code during the auth process. The HTTP code 420 will tell you that two-factor is enabled. .PARAMETER $Name Give the key a name. .PARAMETER $Type What kind of key do you want? .PARAMETER $ValidUntil Do you want this key to expire? .PARAMETER $MaxUses Is this key meant to be used only a couple of times? #> function New-ApiKey { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Email, [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$false)] $Code, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$false)] [ValidateSet('user','customer','container')] $Type, [Parameter(Mandatory=$false)] [ValidateSet('JavaScript UTC timestamp')] $ValidUntil, [Parameter(Mandatory=$false)] $MaxUses, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'email' = $Email 'password' = $Password 'code' = $Code 'name' = $Name 'type' = $Type 'validUntil' = $ValidUntil 'maxUses' = $MaxUses } return Intern-PostJson -url "https://api.server-eye.de/2/auth/key" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new note for a container. .PARAMETER $CId The id of the container. .PARAMETER $Message The note's message. #> function New-ContainerNote { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Message, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'message' = $Message } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/note" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new notification for a container. .PARAMETER $CId The id of the container. .PARAMETER $UserId The id of the user or group that should receive a notification. .PARAMETER $Email Send an email as notification. .PARAMETER $Phone Send a phone text message as notification. .PARAMETER $Ticket Create a ticket as notification. .PARAMETER $DeferId Should this notification be triggered with defered dispatch? Pass an ID of a dispatchTime entry. #> function New-ContainerNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $UserId, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Ticket, [Parameter(Mandatory=$false)] $DeferId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'userId' = $UserId 'email' = $Email 'phone' = $Phone 'ticket' = $Ticket 'deferId' = $DeferId } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/notification" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Write a hint for a state. Depending on the hint type the state is changed to working on, reopen, and so on. .PARAMETER $CId The id of the container. .PARAMETER $SId The id of the state. .PARAMETER $Author The user id or email address of the author of the hint. .PARAMETER $HintType The type of the hint. .PARAMETER $Message The message of the hint. .PARAMETER $AssignedUser The user that is assigned to this hint. e.g the user that is responsible to fix an alert. .PARAMETER $MentionedUsers The users that should receive an information mail. A comma seperated list or array of IDs or email addresses. .PARAMETER $Private Is this note only visible to the posters customer? .PARAMETER $Until If you are working on this state, how long will it take? 0 for forever, 1 for one houer, 2 for two hours and so on. #> function New-ContainerStateHint { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $SId, [Parameter(Mandatory=$true)] $Author, [Parameter(Mandatory=$true)] [ValidateSet('working','reopen','false alert','hint')] $HintType, [Parameter(Mandatory=$true)] $Message, [Parameter(Mandatory=$false)] $AssignedUser, [Parameter(Mandatory=$false)] $MentionedUsers, [Parameter(Mandatory=$false)] $Private, [Parameter(Mandatory=$false)] $Until, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'sId' = $SId 'author' = $Author 'hintType' = $HintType 'message' = $Message 'assignedUser' = $AssignedUser 'mentionedUsers' = $MentionedUsers 'private' = $Private 'until' = $Until } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/state/$SId/hint" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates a new customer of your distributor. Nearly any property of the <code>GET /customer/:id</code> result object can be modified and send to the server. .PARAMETER $CompanyName The name of the customer. .PARAMETER $ZipCode The zip code of the customer. .PARAMETER $City The city of the customer. .PARAMETER $Country The country of the customer. .PARAMETER $Street The street of the customer. .PARAMETER $StreetNumber The street number of the customer. .PARAMETER $Email An email address of this customer. .PARAMETER $Phone A phone number of this customer. .PARAMETER $Language The default language for emails and other background translation for this customer. .PARAMETER $Timezone The timezone of this customer. #> function New-Customer { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CompanyName, [Parameter(Mandatory=$true)] $ZipCode, [Parameter(Mandatory=$true)] $City, [Parameter(Mandatory=$true)] $Country, [Parameter(Mandatory=$false)] $Street, [Parameter(Mandatory=$false)] $StreetNumber, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] [ValidateSet('en','de')] $Language, [Parameter(Mandatory=$false)] $Timezone, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'companyName' = $CompanyName 'zipCode' = $ZipCode 'city' = $City 'country' = $Country 'street' = $Street 'streetNumber' = $StreetNumber 'email' = $Email 'phone' = $Phone 'language' = $Language 'timezone' = $Timezone } return Intern-PostJson -url "https://api.server-eye.de/2/customer" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates a bucket for your customer. .PARAMETER $Name A describing name for the bucket. #> function New-CustomerBucket { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'name' = $Name } return Intern-PostJson -url "https://api.server-eye.de/2/customer/bucket" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Uses a coupon for your customer .PARAMETER $CId The id of the customer. .PARAMETER $CouponCode The couponCode you want to use. Only 'A-Za-z0-9-._' allowed. #> function New-CustomerCoupon { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $CouponCode, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'couponCode' = $CouponCode } return Intern-PostJson -url "https://api.server-eye.de/2/customer/$CId/coupon" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates a deferred dispatch time for your customer. .PARAMETER $Name A describing short name for the dispatch time. .PARAMETER $Defer How many minutes will the dispatch defer? #> function New-CustomerDispatchtime { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] $Defer, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'name' = $Name 'defer' = $Defer } return Intern-PostJson -url "https://api.server-eye.de/2/customer/dispatchTime" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update a customers location. .PARAMETER $CId The id of the customer. .PARAMETER $Geo The customers new location. .PARAMETER $AddressObject The address of the customer. #> function New-CustomerLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Geo, [Parameter(Mandatory=$false)] $AddressObject, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'geo' = $Geo 'addressObject' = $AddressObject } return Intern-PostJson -url "https://api.server-eye.de/2/customer/$CId/location" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Updates a property of a customer. .PARAMETER $CId The id of the user. .PARAMETER $Key The name of your custom property. .PARAMETER $Value The value of the property. #> function New-CustomerProperty { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Key, [Parameter(Mandatory=$true)] $Value, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'key' = $Key 'value' = $Value } return Intern-PostJson -url "https://api.server-eye.de/2/customer/$CId/property" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates a tag for your customer. .PARAMETER $Name A describing name for the tag. Should be short and without spaces. Only 'A-Za-z0-9-.' allowed. #> function New-CustomerTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'name' = $Name } return Intern-PostJson -url "https://api.server-eye.de/2/customer/tag" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Creates a view filter for your customer. .PARAMETER $Name A describing name for the view filter. .PARAMETER $Query A query object the view filter executes on the view data. We use LokiJs syntax. #> function New-CustomerViewfilter { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] $Query, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'name' = $Name 'query' = $Query } return Intern-PostJson -url "https://api.server-eye.de/2/customer/viewFilter" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a group. .PARAMETER $CustomerId The customer the new group should belong to. .PARAMETER $Name The name of the group. #> function New-Group { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'customerId' = $CustomerId 'name' = $Name } return Intern-PostJson -url "https://api.server-eye.de/2/group" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Validates the session und logs the user in by the given credentials. .PARAMETER $Email Email address of the user to login. .PARAMETER $Password Password of the user. .PARAMETER $Code If the user has two-factor enabled you have to send the 6-digit code during the auth process. The HTTP code 420 will tell you that two-factor is enabled. .PARAMETER $CreateApiKey Do you want to get an one time api key for this user? .PARAMETER $ApiKeyName If you want an api key, please give the baby a name. #> function New-Login { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Password, [Parameter(Mandatory=$false)] $Code, [Parameter(Mandatory=$false)] $CreateApiKey, [Parameter(Mandatory=$false)] $ApiKeyName, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'email' = $Email 'password' = $Password 'code' = $Code 'createApiKey' = $CreateApiKey 'apiKeyName' = $ApiKeyName } return Intern-PostJson -url "https://api.server-eye.de/2/auth/login" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update your location. .PARAMETER $NoGeocoding If the given position should bo geocoded. .PARAMETER $Geo Your new location. #> function New-MyLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $NoGeocoding, [Parameter(Mandatory=$true)] $Geo, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'noGeocoding' = $NoGeocoding 'geo' = $Geo } return Intern-PostJson -url "https://api.server-eye.de/2/me/location" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Register your device for mobile push notifications. .PARAMETER $Handle The Android, Firebase or iOS push handle. .PARAMETER $Type What kind of device do you want to register? #> function New-MyMobilepush { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Handle, [Parameter(Mandatory=$true)] [ValidateSet('GCM','FCM','APNS')] $Type, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'handle' = $Handle 'type' = $Type } return Intern-PostJson -url "https://api.server-eye.de/2/me/mobilepush" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Enables two factor authentication for your user. .PARAMETER $Password Your Server-Eye account password. .PARAMETER $Code The 6 digit code of the authenticator app to validate the user and prove that you know the correct secret. #> function New-MyTwofactor { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$true)] $Code, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'password' = $Password 'code' = $Code } return Intern-PostJson -url "https://api.server-eye.de/2/me/twofactor" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Install Server-Eye on a machine in that OCC Connector's network. Installation takes longer than this single request. The status of the installation job can be requestst using <code>GET /network/:customerId/:cId/system/installstatus</code>. .PARAMETER $CustomerId The id of the customer of the network. .PARAMETER $CId The id of the OCC Connector within the network. .PARAMETER $User The username of a user that has an administrative role on the container's operating system. .PARAMETER $Password The password of a user that has an administrative role on the container's operating system. .PARAMETER $Domain Does the user belong to a specific Windows domain? .PARAMETER $Host The host name of the system Server-Eye will be installed to. Should be a name retrived through <code>GET /network/:customerId/:cId/system</code>. #> function New-NetworkSystem { [CmdletBinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingUserNameAndPassWordParams", "")] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $User, [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$false)] $Domain, [Parameter(Mandatory=$true)] $Host, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'customerId' = $CustomerId 'cId' = $CId 'user' = $User 'password' = $Password 'domain' = $Domain 'host' = $Host } return Intern-PostJson -url "https://api.server-eye.de/2/network/$CustomerId/$CId/system" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Install pcvisit on a container and start the remote agent service if not already started. .PARAMETER $CustomerId The id of the customer the container belongs to. .PARAMETER $CId The id of the container. .PARAMETER $SupporterId Your pcvisit supporter ID. .PARAMETER $SupporterPassword Secure the remote access with a password. .PARAMETER $User The username of a user that has an administrative role on the container's operating system. .PARAMETER $Password The password of a user that has an administrative role on the container's operating system. .PARAMETER $Domain Does the user belong to a specific (windows) domain? #> function New-PcvisitStart { [CmdletBinding()] [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingUserNameAndPassWordParams", "")] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $SupporterId, [Parameter(Mandatory=$true)] $SupporterPassword, [Parameter(Mandatory=$true)] $User, [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$false)] $Domain, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'customerId' = $CustomerId 'cId' = $CId 'supporterId' = $SupporterId 'supporterPassword' = $SupporterPassword 'user' = $User 'password' = $Password 'domain' = $Domain } return Intern-PostJson -url "https://api.server-eye.de/2/pcvisit/$CustomerId/$CId/start" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Start a remote powershell session on a system. .PARAMETER $CustomerId The id of the customer the container belongs to. .PARAMETER $CId The id of the container. #> function New-PowershellStart { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'customerId' = $CustomerId 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/powershell/$CustomerId/$CId/start" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new report, which the Server-Eye backends generates as PDF files. .PARAMETER $CId The id of a customer. .PARAMETER $RtId The id of the report template. .PARAMETER $RepeatCron A unix cron that describes in which intervals the report will be generated. Note that time settings will be reset to midnight. A report can only be generated and send once a day. .PARAMETER $Recipients An array of user ids. Those users will receive the generated reports by email. #> function New-ReportingCustomReport { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $RtId, [Parameter(Mandatory=$true)] $RepeatCron, [Parameter(Mandatory=$false)] $Recipients, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'rtId' = $RtId 'repeatCron' = $RepeatCron 'recipients' = $Recipients } return Intern-PostJson -url "https://api.server-eye.de/2/reporting/$CId/report" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a new report template with the included widgets. .PARAMETER $Name The name of the report template. .PARAMETER $Widgets The widgets that this report template contains. #> function New-ReportingTemplate { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Name, [Parameter(Mandatory=$true)] $Widgets, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'name' = $Name 'widgets' = $Widgets } return Intern-PostJson -url "https://api.server-eye.de/2/reporting/template" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Reset a user's password. .PARAMETER $Email undefined .PARAMETER $Phone undefined .PARAMETER $Code undefined #> function New-Reset { [CmdletBinding()] Param( [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$false)] $Code, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'email' = $Email 'phone' = $Phone 'code' = $Code } return Intern-PostJson -url "https://api.server-eye.de/2/auth/reset" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Copy all agents of this container and pack them into one template. .PARAMETER $CId The id of the container. #> function New-Template { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/template" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Create a user. .PARAMETER $CustomerId The customer the new user should belong to. .PARAMETER $Prename The users' prename. .PARAMETER $Surname The users' surname. .PARAMETER $Email The users' email address. It has to be unique throughout Server-Eye. .PARAMETER $Roles The roles of the user. .PARAMETER $Phone The mobile phone number of the user. It is used to send mobile message notifications or reset the password. #> function New-User { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] $Prename, [Parameter(Mandatory=$true)] $Surname, [Parameter(Mandatory=$false)] $Email, [Parameter(Mandatory=$false)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Roles, [Parameter(Mandatory=$false)] $Phone, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'customerId' = $CustomerId 'prename' = $Prename 'surname' = $Surname 'email' = $Email 'roles' = $Roles 'phone' = $Phone } return Intern-PostJson -url "https://api.server-eye.de/2/user" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Update a specific users location. .PARAMETER $UId The id of the user. .PARAMETER $NoGeocoding If the given position should bo geocoded. .PARAMETER $Geo The new location of the user. #> function New-UserLocation { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $NoGeocoding, [Parameter(Mandatory=$true)] $Geo, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'noGeocoding' = $NoGeocoding 'geo' = $Geo } return Intern-PostJson -url "https://api.server-eye.de/2/user/$UId/location" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Add a role to the user .PARAMETER $UId The id of the user. .PARAMETER $Role The name of the role, that should be added to this user #> function New-UserRole { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Role, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'uId' = $UId 'role' = $Role } return Intern-PostJson -url "https://api.server-eye.de/2/user/$UId/role/$Role" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Restart an agent .PARAMETER $AId The id of the agent. #> function Restart-Agent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'aId' = $AId } return Intern-PostJson -url "https://api.server-eye.de/2/agent/$AId/restart" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Restart a container .PARAMETER $CId The id of the container. #> function Restart-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/restart" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Copy all agents of a template onto this container. .PARAMETER $CId The id of the container. .PARAMETER $TId The id of the template. #> function Set-Template { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'tId' = $TId } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/template/$TId" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Start a container .PARAMETER $CId The id of the container. #> function Start-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/start" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Stop a container .PARAMETER $CId The id of the container. .PARAMETER $Until Stop the container until a specific date. Send as date in milliseconds. #> function Stop-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$false)] $Until, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { $reqBody = @{ 'cId' = $CId 'until' = $Until } return Intern-PostJson -url "https://api.server-eye.de/2/container/$CId/stop" -authtoken $AuthToken -body $reqBody } } <# .SYNOPSIS Deletes an agent and all of its historical data. .PARAMETER $AId The id of the agent. #> function Remove-Agent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/agent/$AId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a specific note of an agent. .PARAMETER $AId The id of the agent. .PARAMETER $NId The id of the note. #> function Remove-AgentNote { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/agent/$AId/note/$NId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a notification of an agent. .PARAMETER $AId The id of the agent. .PARAMETER $NId The id of the notification. #> function Remove-AgentNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/agent/$AId/notification/$NId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a specific tag of an agent. .PARAMETER $AId The id of the agent. .PARAMETER $TId The id of the tag. #> function Remove-AgentTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/agent/$AId/tag/$TId" -authtoken $AuthToken } } <# .SYNOPSIS Delete the compliance config for a customer/view filter. .PARAMETER $ViewFilterId The id of a view filter. .PARAMETER $CustomerId The id of the customer #> function Remove-ComplianceConfig { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $ViewFilterId, [Parameter(Mandatory=$true)] $CustomerId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/compliance/config?viewFilterId=$ViewFilterId&customerId=$CustomerId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a container, all of its historical data and all its agents. .PARAMETER $CId The id of the container. #> function Remove-Container { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/container/$CId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a specific note of a container. .PARAMETER $CId The id of the container. .PARAMETER $NId The id of the note. #> function Remove-ContainerNote { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/container/$CId/note/$NId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a notification of a container. .PARAMETER $CId The id of the container. .PARAMETER $NId The id of the notification. #> function Remove-ContainerNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/container/$CId/notification/$NId" -authtoken $AuthToken } } <# .SYNOPSIS Deny a proposal. Denied proposals will never show up again. .PARAMETER $CId The id of the container. .PARAMETER $PId The id of the proposal. #> function Remove-ContainerProposal { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $PId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/container/$CId/proposal/$PId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a specific tag of a container. .PARAMETER $CId The id of the container. .PARAMETER $TId The id of the tag. #> function Remove-ContainerTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/container/$CId/tag/$TId" -authtoken $AuthToken } } <# .SYNOPSIS Removes an api key. .PARAMETER $CId The id of the customer. .PARAMETER $Key The api key you want to delete. #> function Remove-CustomerApikey { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Key, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/$CId/apiKey/$Key" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a bucket of your customer. .PARAMETER $BId The id of the bucket. #> function Remove-CustomerBucket { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/bucket/$BId" -authtoken $AuthToken } } <# .SYNOPSIS Remove a user from the bucket. .PARAMETER $BId The id of the bucket. .PARAMETER $UId The id of the user. #> function Remove-CustomerBucketUser { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $BId, [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/bucket/$BId/user/$UId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a deferred dispatch time of your customer. .PARAMETER $DtId The id of the dispatch time. #> function Remove-CustomerDispatchtime { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $DtId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/dispatchTime/$DtId" -authtoken $AuthToken } } <# .SYNOPSIS Removes a manager from a user. .PARAMETER $CId The id of the managed customer. .PARAMETER $UId The id of the managing user. #> function Remove-CustomerManager { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/$CId/manager/$UId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a customer property. .PARAMETER $CId The id of the customer. .PARAMETER $Key The custom property that you want to delete. #> function Remove-CustomerProperty { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $Key, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/$CId/property/$Key" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a tag of your customer. .PARAMETER $TId The id of the tag. #> function Remove-CustomerTag { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/tag/$TId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a container template of your customer. .PARAMETER $TId The id of the template. #> function Remove-CustomerTemplate { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/template/$TId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes an agent from a container template of your customer. .PARAMETER $TId The id of the template. .PARAMETER $AId The id of the agent. #> function Remove-CustomerTemplateAgent { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $TId, [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/template/$TId/agent/$AId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a view filter of your customer. .PARAMETER $VfId The id of the view filter. #> function Remove-CustomerViewfilter { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $VfId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/customer/viewFilter/$VfId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a group. .PARAMETER $GId The id of the group. #> function Remove-Group { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/group/$GId" -authtoken $AuthToken } } <# .SYNOPSIS Remove a user from the group. .PARAMETER $GId The id of the group. .PARAMETER $UId The id of the user to remove. #> function Remove-GroupUser { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/group/$GId/user/$UId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes the push handle if you want to unsubscribe from mobile notifications. .PARAMETER $Handle The Android or iOS push handle. #> function Remove-MyMobilepush { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Handle, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/me/mobilepush/$Handle" -authtoken $AuthToken } } <# .SYNOPSIS Delete a notification of your user. .PARAMETER $NId The id of the notification. .PARAMETER $AId The id of the container or agent this notification belongs to. #> function Remove-MyNotification { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $NId, [Parameter(Mandatory=$true)] $AId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/me/notification/$NId?aId=$AId" -authtoken $AuthToken } } <# .SYNOPSIS Disable your user's two factor authentication and enable one factor authentication. .PARAMETER $Password Your Server-Eye account password. .PARAMETER $Code The 6 digit code of the authenticator app to validate the user. #> function Remove-MyTwofactor { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$true)] $Code, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/me/twofactor?password=$Password&code=$Code" -authtoken $AuthToken } } <# .SYNOPSIS Delete a report. .PARAMETER $CId The id of a customer. .PARAMETER $RId The id of a report of the customer. #> function Remove-ReportingCustomReport { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $CId, [Parameter(Mandatory=$true)] $RId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/reporting/$CId/report/$RId" -authtoken $AuthToken } } <# .SYNOPSIS Delete a report template and its widgets. .PARAMETER $RtId The id of a report template. #> function Remove-ReportingTemplate { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $RtId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/reporting/template/$RtId" -authtoken $AuthToken } } <# .SYNOPSIS Deletes a user. .PARAMETER $UId The id of the user. #> function Remove-User { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/user/$UId" -authtoken $AuthToken } } <# .SYNOPSIS Remove the user from a group. .PARAMETER $UId The id of the user. .PARAMETER $GId The id of the group. #> function Remove-UserGroup { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $GId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/user/$UId/group/$GId" -authtoken $AuthToken } } <# .SYNOPSIS Remove a role of the user .PARAMETER $UId The id of the user. .PARAMETER $Role The name of the role, that should be deleted #> function Remove-UserRole { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [ValidateSet('lead','installer','architect','techie','hr','hinter','reporting','pcvisit','pm','mav','powershell','tanss')] $Role, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/user/$UId/role/$Role" -authtoken $AuthToken } } <# .SYNOPSIS Remove the substitude of the user. .PARAMETER $UId The id of the user. #> function Remove-UserSubstitude { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/user/$UId/substitude" -authtoken $AuthToken } } <# .SYNOPSIS Disable a user's two factor authentication and enable one factor authentication. .PARAMETER $UId The id of the user. .PARAMETER $Password The Server-Eye account password of the logged in user / the user that correspondents to the api key. #> function Remove-UserTwofactor { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] $UId, [Parameter(Mandatory=$true)] $Password, [Parameter(Mandatory=$true)] [alias("ApiKey","Session")] $AuthToken ) Process { return Intern-DeleteJson -url "https://api.server-eye.de/2/user/$UId/twofactor?password=$Password" -authtoken $AuthToken } } # SIG # Begin signature block # MIIknAYJKoZIhvcNAQcCoIIkjTCCJIkCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUGRZrB8PKo+0y22e2ni/qGoY1 # IB+ggh+oMIIEhDCCA2ygAwIBAgIQQhrylAmEGR9SCkvGJCanSzANBgkqhkiG9w0B # AQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNV # BAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRU # cnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTA1MDYwNzA4MDkxMFoXDTIwMDUzMDEw # NDgzOFowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2Fs # dCBMYWtlIENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8G # A1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNF # UkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6q # gT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VRloTN2+O5bj4x # 2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ # w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbH # d2pBnqcP1/vulBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh # 2JU022R5KP+6LhHC5ehbkkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzT # bafc8H9vg2XiaquHhnUCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rE # JlTvA73gJMtUGjAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8ydgwDgYDVR0P # AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQG # A1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVz # dEV4dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGG # GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEFBQADggEBAE1C # L6bBiusHgJBYRoz4GTlmKjxaLG3P1NmHVY15CxKIe0CP1cf4S41VFmOtt1fcOyu9 # 08FPHgOHS0Sb4+JARSbzJkkraoTxVHrUQtr802q7Zn7Knurpu9wHx8OSToM8gUmf # ktUyCepJLqERcZo20sVOaLbLDhslFq9s3l122B9ysZMmhhfbGN6vRenf+5ivFBjt # pF72iZRF8FUESt3/J90GSkD2tLzx5A+ZArv9XQ4uKMG+O18aP5cQhLwWPtijnGMd # ZstcX9o+8w8KCTUi29vAPwD55g1dZ9H9oB4DK9lA977Mh2ZUgKajuPUZYtXSJrGY # Ju6ay0SnRVqBlRUa9VEwggTmMIIDzqADAgECAhBiXE2QjNVC+6supXM/8VQZMA0G # CSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNV # BAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdv # cmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTEdMBsGA1UEAxMU # VVROLVVTRVJGaXJzdC1PYmplY3QwHhcNMTEwNDI3MDAwMDAwWhcNMjAwNTMwMTA0 # ODM4WjB6MQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy # MRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEg # MB4GA1UEAxMXQ09NT0RPIFRpbWUgU3RhbXBpbmcgQ0EwggEiMA0GCSqGSIb3DQEB # AQUAA4IBDwAwggEKAoIBAQCqgvGEqVvYcbXSXSvt9BMgDPmb6dGPdF5u7uspSNjI # vizrCmFgzL2SjXzddLsKnmhOqnUkcyeuN/MagqVtuMgJRkx+oYPp4gNgpCEQJ0Ca # WeFtrz6CryFpWW1jzM6x9haaeYOXOh0Mr8l90U7Yw0ahpZiqYM5V1BIR8zsLbMaI # upUu76BGRTl8rOnjrehXl1/++8IJjf6OmqU/WUb8xy1dhIfwb1gmw/BC/FXeZb5n # OGOzEbGhJe2pm75I30x3wKoZC7b9So8seVWx/llaWm1VixxD9rFVcimJTUA/vn9J # AV08m1wI+8ridRUFk50IYv+6Dduq+LW/EDLKcuoIJs0ZAgMBAAGjggFKMIIBRjAf # BgNVHSMEGDAWgBTa7WR0FJwUPKvdmam9WyhNizzJ2DAdBgNVHQ4EFgQUZCKGtkqJ # yQQP0ARYkiuzbj0eJ2wwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C # AQAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwEQYDVR0gBAowCDAGBgRVHSAAMEIGA1Ud # HwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZp # cnN0LU9iamVjdC5jcmwwdAYIKwYBBQUHAQEEaDBmMD0GCCsGAQUFBzAChjFodHRw # Oi8vY3J0LnVzZXJ0cnVzdC5jb20vVVROQWRkVHJ1c3RPYmplY3RfQ0EuY3J0MCUG # CCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqGSIb3DQEB # BQUAA4IBAQARyT3hBeg7ZazJdDEDt9qDOMaSuv3N+Ntjm30ekKSYyNlYaDS18Ash # U55ZRv1jhd/+R6pw5D9eCJUoXxTx/SKucOS38bC2Vp+xZ7hog16oYNuYOfbcSV4T # p5BnS+Nu5+vwQ8fQL33/llqnA9abVKAj06XCoI75T9GyBiH+IV0njKCv2bBS7vzI # 7bec8ckmONalMu1Il5RePeA9NbSwyVivx1j/YnQWkmRB2sqo64sDvcFOrh+RMrjh # JDt77RRoCYaWKMk7yWwowiVp9UphreAn+FOndRWwUTGw8UH/PlomHmB+4uNqOZrE # 6u4/5rITP1UDBE0LkHLU6/u8h5BRsjgZMIIE/jCCA+agAwIBAgIQK3PbdGMRTFpb # MkryMFdySTANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJHQjEbMBkGA1UECBMS # R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD # T01PRE8gQ0EgTGltaXRlZDEgMB4GA1UEAxMXQ09NT0RPIFRpbWUgU3RhbXBpbmcg # Q0EwHhcNMTkwNTAyMDAwMDAwWhcNMjAwNTMwMTA0ODM4WjCBgzELMAkGA1UEBhMC # R0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9y # ZDEYMBYGA1UECgwPU2VjdGlnbyBMaW1pdGVkMSswKQYDVQQDDCJTZWN0aWdvIFNI # QS0xIFRpbWUgU3RhbXBpbmcgU2lnbmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A # MIIBCgKCAQEAv1I2gjrcdDcNeNV/FlAZZu26GpnRYziaDGayQNungFC/aS42Lwpn # P0ChSopjNZvQGcx0qhcZkSu1VSAZ+8AaOm3KOZuC8rqVoRrYNMe4iXtwiHBRZmns # d/7GlHJ6zyWB7TSCmt8IFTcxtG2uHL8Y1Q3P/rXhxPuxR3Hp+u5jkezx7M5ZBBF8 # rgtgU+oq874vAg/QTF0xEy8eaQ+Fm0WWwo0Si2euH69pqwaWgQDfkXyVHOaeGWTf # dshgRC9J449/YGpFORNEIaW6+5H6QUDtTQK0S3/f4uA9uKrzGthBg49/M+1BBuJ9 # nj9ThI0o2t12xr33jh44zcDLYCQD3npMqwIDAQABo4IBdDCCAXAwHwYDVR0jBBgw # FoAUZCKGtkqJyQQP0ARYkiuzbj0eJ2wwHQYDVR0OBBYEFK7u2WC6XvUsARL9jo2y # VXI1Rm/xMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMBYGA1UdJQEB/wQM # MAoGCCsGAQUFBwMIMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQMIMCUwIwYIKwYB # BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMEIGA1UdHwQ7MDkwN6A1oDOG # MWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vQ09NT0RPVGltZVN0YW1waW5nQ0FfMi5j # cmwwcgYIKwYBBQUHAQEEZjBkMD0GCCsGAQUFBzAChjFodHRwOi8vY3J0LnNlY3Rp # Z28uY29tL0NPTU9ET1RpbWVTdGFtcGluZ0NBXzIuY3J0MCMGCCsGAQUFBzABhhdo # dHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAen+pStKw # pBwdDZ0tXMauWt2PRR3wnlyQ9l6scP7T2c3kGaQKQ3VgaoOkw5mEIDG61v5MzxP4 # EPdUCX7q3NIuedcHTFS3tcmdsvDyHiQU0JzHyGeqC2K3tPEG5OfkIUsZMpk0uRlh # dwozkGdswIhKkvWhQwHzrqJvyZW9ljj3g/etfCgf8zjfjiHIcWhTLcuuquIwF4Mi # KRi14YyJ6274fji7kE+5Xwc0EmuX1eY7kb4AFyFu4m38UnnvgSW6zxPQ+90rzYG2 # V4lO8N3zC0o0yoX/CLmWX+sRE+DhxQOtVxzhXZIGvhvIPD+lIJ9p0GnBxcLJPufF # cvfqG5bilK+GLjCCBVUwggQ9oAMCAQICEDYundkGUmnZYKGqqVRkDDgwDQYJKoZI # hvcNAQELBQAwfDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl # c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVk # MSQwIgYDVQQDExtTZWN0aWdvIFJTQSBDb2RlIFNpZ25pbmcgQ0EwHhcNMTkwMzE0 # MDAwMDAwWhcNMjEwMzEzMjM1OTU5WjCBpzELMAkGA1UEBhMCREUxDjAMBgNVBBEM # BTY2NTcxMREwDwYDVQQIDAhTYWFybGFuZDESMBAGA1UEBwwJRXBwZWxib3JuMRkw # FwYDVQQJDBBLb3NzbWFuc3RyYXNzZSA3MSIwIAYDVQQKDBlLcsOkbWVyIElUIFNv # bHV0aW9ucyBHbWJIMSIwIAYDVQQDDBlLcsOkbWVyIElUIFNvbHV0aW9ucyBHbWJI # MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs+f9rpEc+fjIZAYqOnrM # kRYOoVtXoSya3uOqTtqdfXqQHuv4Ap40JTFyADNmHabJ7fGfCxFCq1axhjg0Ly0O # n7KzReBQz4Y+M3OR+cByP0jjAbtbugzbVrySif1AX55JPQm60c5MxnklWfNU4l0/ # ieN/lTYV7SfY19fbXCxN1Z8mgkBZ+KbFcBes30D2DsoT/u4kb0oMxBjNL8+aIvUq # eFKm8LLrNnuKGfn0++IghY/X2F3j/6NXyjoldohW5OHFTASMNYTQjZFvXfPAu8or # 7R+BOepmGF5eUjpNpOCjgAmj46RCOCGX3KCf8iyhY88s8oNrvdKaBCe0mYpzUnBQ # CQIDAQABo4IBpTCCAaEwHwYDVR0jBBgwFoAUDuE6qFM6MdWKvsG7rWcaA4WtNA4w # HQYDVR0OBBYEFJIH3xQ1u7lnPAdIlJzhOJWhhIiXMA4GA1UdDwEB/wQEAwIHgDAM # BgNVHRMBAf8EAjAAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG+EIBAQQE # AwIEEDBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEDAjAlMCMGCCsGAQUFBwIBFhdo # dHRwczovL3NlY3RpZ28uY29tL0NQUzBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8v # Y3JsLnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDb2RlU2lnbmluZ0NBLmNybDBzBggr # BgEFBQcBAQRnMGUwPgYIKwYBBQUHMAKGMmh0dHA6Ly9jcnQuc2VjdGlnby5jb20v # U2VjdGlnb1JTQUNvZGVTaWduaW5nQ0EuY3J0MCMGCCsGAQUFBzABhhdodHRwOi8v # b2NzcC5zZWN0aWdvLmNvbTAdBgNVHREEFjAUgRJpbmZvQGtyYWVtZXItaXQuZGUw # DQYJKoZIhvcNAQELBQADggEBAASLXBPt/BJ0qNRYiALS1Hw9aSynGBIxg6CJbIFr # q7qNfmYIdPnYtLrm07y96eSSr8rMuG8ncyssS4gG1PtjNnOrdTSGmessr8ad2NUU # H+9iCHA6qyKa85n2xCptlVtcAIKoIJd8M7CPYXRTScSHOvw5gd2flOt4PGleMoXq # on6FxLUyi8usK+DpkjJ8add9wTjifksLIYMjgJFhDkuyNM8+sO6I0zDos8AT+xMV # GD3PjSoqmzbYa2dzIrX1Z9gXQEK6u9/MnewGbyillPDCY0E+azWNd9VeC/O9xRO3 # nFIvNtXoFvEdcu/mPd+P0SAUTChQ/iqkBvfEDMhus8PdkWwwggXeMIIDxqADAgEC # AhAB/W0w/KPKUagbvGQONQMtMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQGEwJV # UzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAc # BgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0 # IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMDAyMDEwMDAwMDBaFw0z # ODAxMTgyMzU5NTlaMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNl # eTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1Qg # TmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1 # dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIASZRc2DsPb # CLPQrFcNdu3NJ9NMrVCDYeKqIE0JLWQJ3M6Jn8w9qez2z8Hc8dOx1ns3KBErR9o5 # xrw6GbRfpr19naNjQrZ28qk7K5H44m/Q7BYgkAk+4uh0yRi0kdRiZNt/owbxiBhq # kCI8vP4T8IcUe/bkH47U5FHGEWdGCFHLhhRUP7wz/n5snP8WnRi9UY41pqdmyHJn # 2yFmsdSbeAPAUDrozPDcvJ5M/q8FljUfV1q3/875PbcstvZU3cjnEjpNrkyKt1ya # tLcgPcp/IjSufjtoZgFE5wFORlObM2D3lL5TN5BzQ/Myw1Pv26r+dE5px2uMYJPe # xMcM3+EyrsyTO1F4lWeL7j1W/gzQaQ8bD/MlJmszbfduR/pzQ+V+DqVmsSl8MoRj # VYnEDcGTVDAZE6zTfTen6106bDVc20HXEtqpSQvf2ICKCZNijrVmzyWIzYS4sT+k # OQ/ZAp7rEkyVfPNrBaleFoPMuGfi6BOdzFuC00yz7Vv/3uVzrCM7LQC/NVV0CUnY # SVgaf5I25lGSDvMmfRxNF7zJ7EMm0L9BX0CpRET0medXh55QH1dUqD79dGMvsVBl # CeZYQi5DGky08CVHWfoEHpPUJkZKUIGy3r54t/xnFeHJV4QeD2PW6WK61l9VLupc # xigIBCU5uA4rqfJMlxwHPw1S9e3vL4IPAgMBAAGjQjBAMB0GA1UdDgQWBBRTeb9a # qitKz1SA4dibwJ3ysgNmyzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB # /zANBgkqhkiG9w0BAQwFAAOCAgEAXNR8Dc/3AX1BmWUMc8VSn8v4z5kGfxvaQxWf # ngJVV5YU8VI8J4eUKO0fOgE3onb8U1DAhJvGa066jCFPoo5VYpHzaRXYvIjjxKoL # /e+o6UtVKgYgbVV4KRnuXzBcSyQRVf8kmm5eKivuC02ff/cBOJQUlUMHCftgqe4c # qxKMoJpep5hqWW2LPwj7yNFFrxgVZJASD3MoLsXiJE78WOzw9EX+IrPrL47S2UVh # BcGXb6h2co+LjDavvw0FznGN5qZvH2ymcWLF2NCDcgzxZxGJDJwTTHI037zVcd+q # cd3huWyMPBJdZdq9VxK2Q2v/5d5NZhFRz5mu7Be26HGRjN5J/t01caIVJ5Qcz2Hj # Jrtvo2clIV3m3R0LLmgbO4Kv7INnhdSYUXSxuZmAif9/eBlceUpgLpJArkw3KizJ # x2LIDl33NlvK4CUlAbTdGgecdwA/0NzV7D3U+rs/zIXWb3+pLd+5Avf1l5q1NdrD # Z7CHSqkoniOO/1wna+GwT/MH7gAu1FmHy1JBler0R9fuZEFVfI1ZApXdYp3Cue5a # KHSEpZu3kMcMB9/1iTZ0MtYowbCwC+CcTMMc1vzjabVHRoEvooKr02NEcMSN/y0z # uq2Pe7VwiK4+Gc9AKNj8yJC7XZki9VLmWMUfiDFD7ogd18aOPENqHacY3n09FvFi # +cqQqP0wggX1MIID3aADAgECAhAdokgwb5smGNCC4JZ9M9NqMA0GCSqGSIb3DQEB # DAUAMIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UE # BxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEu # MCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe # Fw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMHwxCzAJBgNVBAYTAkdCMRsw # GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAW # BgNVBAoTD1NlY3RpZ28gTGltaXRlZDEkMCIGA1UEAxMbU2VjdGlnbyBSU0EgQ29k # ZSBTaWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhiKN # MoV6GJ9J8JYvYwgeLdx8nxTP4ya2JWYpQIZURnQxYsUQ7bKHJ6aZy5UwwFb1pHXG # qQ5QYqVRkRBq4Etirv3w+Bisp//uLjMg+gwZiahse60Aw2Gh3GllbR9uJ5bXl1GG # pvQn5Xxqi5UeW2DVftcWkpwAL2j3l+1qcr44O2Pej79uTEFdEiAIWeg5zY/S1s8G # tFcFtk6hPldrH5i8xGLWGwuNx2YbSp+dgcRyQLXiX+8LRf+jzhemLVWwt7C8VGqd # vI1WU8bwunlQSSz3A7n+L2U18iLqLAevRtn5RhzcjHxxKPP+p8YU3VWRbooRDd8G # JJV9D6ehfDrahjVh0wIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAUU3m/WqorSs9U # gOHYm8Cd8rIDZsswHQYDVR0OBBYEFA7hOqhTOjHVir7Bu61nGgOFrTQOMA4GA1Ud # DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUF # BwMDBggrBgEFBQcDCDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOg # QYY/aHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmlj # YXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUFBwEBBGowaDA/BggrBgEFBQcwAoYz # aHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJTQUFkZFRydXN0Q0Eu # Y3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0GCSqG # SIb3DQEBDAUAA4ICAQBNY1DtRzRKYaTb3moqjJvxAAAeHWJ7Otcywvaz4GOz+2EA # iJobbRAHBE++uOqJeCLrD0bs80ZeQEaJEvQLd1qcKkE6/Nb06+f3FZUzw6GDKLfe # L+SU94Uzgy1KQEi/msJPSrGPJPSzgTfTt2SwpiNqWWhSQl//BOvhdGV5CPWpk95r # cUCZlrp48bnI4sMIFrGrY1rIFYBtdF5KdX6luMNstc/fSnmHXMdATWM19jDTz7UK # DgsEf6BLrrujpdCEAJM+U100pQA1aWy+nyAlEA0Z+1CQYb45j3qOTfafDh7+B1ES # ZoMmGUiVzkrJwX/zOgWb+W/fiH/AI57SHkN6RTHBnE2p8FmyWRnoao0pBAJ3fEtL # zXC+OrJVWng+vLtvAxAldxU0ivk2zEOS5LpP8WKTKCVXKftRGcehJUBqhFfGsp2x # vBwK2nxnfn0u6ShMGH7EezFBcZpLKewLPVdQ0srd/Z4FUeVEeN0B3rF1mA1UJP3w # TuPi+IO9crrLPTru8F4XkmhtyGH5pvEqCgulufSe7pgyBYWe6/mDKdPGLH29Oncu # izdCoGqC7TtKqpQQpOEN+BfFtlp5MxiS47V1+KHpjgolHuQe8Z9ahyP/n6RRnvs5 # gBHN27XEp6iAb+VT1ODjosLSWxr6MiYtaldwHDykWC6j81tLB9wyWfOHpxptWDGC # BF4wggRaAgEBMIGQMHwxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1h # bmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGlt # aXRlZDEkMCIGA1UEAxMbU2VjdGlnbyBSU0EgQ29kZSBTaWduaW5nIENBAhA2Lp3Z # BlJp2WChqqlUZAw4MAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgACh # AoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAM # BgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBRfJBN95Zy0ZL91qRhl6dZ8r7pB # wTANBgkqhkiG9w0BAQEFAASCAQBF/VCyGOBVci8zq4flsinQzjx48FNvIG6NAz7j # KbCizV8tIkDLQBpMntIYtTmWwfaiHAl+IGJBzClLqjJKDfSceeAwfyFaaXd5bWPw # gh2B9iA37uoIIxPB6eXZ8Ti5RvsH5cPQl/MaJKVVapsIpGyicS8tmH3LTlfm4s9q # M4hW/VgvdJPJhv/LHeaehiprMWIjt4RW1dSSbOm800yBycbZXrHgTn+ndMb6tIjg # F82KRzQHF1FrML2BJ5X8K5v68BCSSwhdW37SuOFNvfTuYQ3knaSvbPo4svhg78c6 # V1eelcTvDarpG0HEMwz+2YGO4Lh8yEUIQUCBXz9zDFhZOKNsoYICKDCCAiQGCSqG # SIb3DQEJBjGCAhUwggIRAgEBMIGOMHoxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJH # cmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNP # TU9ETyBDQSBMaW1pdGVkMSAwHgYDVQQDExdDT01PRE8gVGltZSBTdGFtcGluZyBD # QQIQK3PbdGMRTFpbMkryMFdySTAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsG # CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTkwNjEzMDY0ODA3WjAjBgkqhkiG # 9w0BCQQxFgQU/bEsz58+avIplu/I2Z0uxx8uanAwDQYJKoZIhvcNAQEBBQAEggEA # FgpJiLDQfU5c62fNraLgLLbasQ/24otRxXLXmx/ixiNRdiISWDWAkPCQfUH66yp5 # d0JlnBXL9IpKGifR/fPfsxFfy+E+mXuNSR10edHHuB5igqJsGq6R6kT73O3Q6t/T # JJSskLk/YI3p6QE8t8YK6x6GtS/KUrAANaI8HtMxXz4gAHnklUecoFtUbDlN5L3y # YR0RxXgo9K1jL1gUiqnfHADgESDctSHXU7IKEbgTrF1a9bBD6VgunvbzL4sBAidj # h4ZEf1cxY+Ob19HCZklqXG4YKysY4qIDur+LXxf12Heo8w/I3/A4q2Cwd52lU8dg # tYRcyAB3Fq5fJm4/LDa8iQ== # SIG # End signature block |