Public/Hosts/Lock-FleetHost.ps1
|
function Lock-FleetHost { <# .SYNOPSIS Locks a host. .DESCRIPTION Sends POST /api/v1/fleet/hosts/{id}/lock. macOS, iOS, and iPadOS require MDM. Windows and Linux require scripts. .PARAMETER Id Host ID. .PARAMETER ViewPin For macOS, return the unlock PIN. .EXAMPLE Lock-FleetHost -Id 123 -ViewPin .NOTES This cmdlet requires Fleet Premium. Fleet Free responds with HTTP 402. https://fleetdm.com/docs/rest-api/rest-api#lock-host .LINK https://fleetdm.com/docs/rest-api/rest-api#lock-host #> [CmdletBinding(SupportsShouldProcess, ConfirmImpact = 'High')] param( [Parameter(Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] [ValidateRange(1, [int]::MaxValue)] [int]$Id, [switch]$ViewPin ) process { if ($PSCmdlet.ShouldProcess("host $Id", 'Lock')) { $query = @{} if ($ViewPin) { $query['view_pin'] = 'true' } $params = @{ Endpoint = "hosts/$Id/lock" Method = 'POST' } if ($query.Count -gt 0) { $params['QueryParameters'] = $query } $result = Invoke-FleetDMRequest @params if ($result -and $result.PSObject) { $result.PSObject.TypeNames.Insert(0, 'FleetDM.HostLock') } return $result } } } |