functions/General/Show-OspreyHelp.ps1

<#
.SYNOPSIS
    Show Osprey Help and creates the Osprey_Help.txt file
.DESCRIPTION
    Show Osprey Help and creates the Osprey_Help.txt file
.EXAMPLE
    PS C:\> <example usage>
    Explanation of what the example does
.INPUTS
    Inputs (if any)
.OUTPUTS
    Output (if any)
.NOTES
    General notes
#>

Function Show-OspreyHelp {

    Out-LogFile "Creating Osprey Help File"

    $help = "BASIC USAGE INFORMATION FOR THE OSPREY MODULE
    ===========================================
    Osprey is a fork of Hawk which differs from it in several ways. It is in constant development and is updated
    to reflect new tactics of threat actors.
    
    DISCLAIMER:
    ===========================================
    While the original Hawk module was created by Microsoft employees and other experienced developers,
    Osprey was created and is primarily maintained by a single person that does not have years of
    experience with PowerShell development. Complicated issues may take some time to fix or need to
    be written out of the module. Users of Osprey are encouraged to troubleshoot issues on their own
    and submit any fixes as a as a pull request to the modules Github repository.

    PURPOSE:
    ===========================================
    The Osprey module has been designed to ease the burden on M365 administrators who are performing
    a forensic analysis in their organization.

    It does NOT take the place of a human reviewing the data generated and is simply here to make
    data gathering easier.

    HOW TO USE:
    ===========================================
    You must run Start-Osprey to initialize the module and settings. If you run Start-Osprey again after
    it's first initialization, it will offer to redo the initialization with a new tenant or using
    different settings, such as changing the investigation range.
    
    Osprey is divided into two primary forms of cmdlets; user based Cmdlets and Tenant based cmdlets.
    User based cmdlets take the form Verb-OspreyUser<action>. They all expect a -user switch and
    will retrieve information specific to the user that is specified. Tenant based cmdlets take
    the form Verb-OspreyTenant<Action>. They don't need any switches and will return information
    about the whole tenant.

    You can then run Start-OspreyTenantInvestigation. This will run all the tenant-based
    cmdlets and provide a collection of data to start with. Once this data has been reviewed
    if there are specific user(s) that more information should be gathered on
    Start-OspreyUserInvestigation will gather all the User specific information for a single user.

    All Osprey cmdlets include help that provides an overview of the data they gather and a listing
    of all possible output files. Run Get-Help <cmdlet> -full to see the full help output for a
    given Osprey cmdlet.

    Some of the Osprey cmdlets will flag results that should be further reviewed. These will appear
    in _Investigate files. These are NOT indicative of unwanted activity but are simply things
    that should reviewed.

    REVIEW OSPREY CODE:
    ===========================================
    The Osprey module is written in PowerShell and only uses cmdlets and function that are available
    to all O365 customers. Since it is written in PowerShell anyone who has downloaded it can
    and is encouraged to review the code so that they have a clear understanding of what it is doing
    and are comfortable with it prior to running it in their environment.

    To view the code in notepad run the following command in powershell:
        notepad (join-path ((get-module Osprey -ListAvailable)[0]).modulebase 'Osprey.psm1')
    To get the path for the module for use in other application run:
        ((Get-module Osprey -listavailable)[0]).modulebase"


    $help | Out-MultipleFileType -FilePrefix "Osprey_Help" -txt

    Notepad (Join-Path $Osprey.filepath "Tenant\Osprey_Help.txt")

}