Look at a record events with get-vievent

How can I use get-vievent to see everything that follows?

-All exports of VMS in vCenter

-All exports of virtual machines in an ESXi host

-All downloads of files vmdk to a store of data using client operations or copy of Vmware on the vmdk from the dcui / ssh console?

The idea is to see every time a vmdk left the environment.

You can report export (EGGS or OVF) with the following

$start = (get-Date). AddHours(-1)

Get-VIEvent-Start $start - MaxSamples ([int]: MaxValue) |

where {$_-is [VMware.Vim.TaskEvent] - and $_.Info.DescriptionId - eq "VirtualMachine.ExportVmLRO"} |

Select CreatedTime,UserName,@{N='VM'; E={$_. UMM name}}, FullFormattedMessage,

@{N = 'Event'; {E = {$_.Info.DescriptionId}}

Download files through the browser data store does not all events as far as I know.

Tags: VMware

Similar Questions

  • Export of Get-VIEvent event

    Hello

    I found the get-vievent command output looks like this

    model: false

    key: 8240

    chainId: 8240

    Createduserid: 2009-03-23 14:38:03

    user name:

    Data Center: VimApi.DatacenterEventArgument

    computeResource: VimApi.ComputeResourceEventArgument

    Host: VimApi.HostEventArgument

    VM: VimApi.VmEventArgument

    fullFormattedMessage: Machine virtual viedfs1-clone is connected

    dynamicType:

    dynamicProperty:

    It is possible to get there real name of the host instead of the value VimApi.HostEventArgument?

    What I'm trying to do is to get the list of errors and warnings with time stamp, name the source (host or guest) and completely formatted message. Perfect example is event VC GUI export

    Error 2009-01-30 12:43:20 cannot communicate with a primary agent of HA cluster Cluster1 in Test environment

    error 30/01/2009 12:43:20 abcd.fqdn.com host in Test environment does not

    It is possible to reproduce the logfile that way by VI toolkit?

    Thnx a lot

    The following should do what you want.

    Note that I have export text to a CSV file, which makes it easier to see the different areas

    
    $report = @()
    get-vievent -Types Error,Warning -Start (Get-Date).addminutes(-15) | %{
      $row = "" | Select Time, Text, Host
      $row.Time = $_.CreatedTime.ToString()
      $row.Text = $_.fullFormattedMessage
      if($_.host -ne $null){
         $row.Host = $_.host.name
      }
      else{
        $row.Host = ""
      }
      $report += $row
    }
    $report | Export-Csv "C:\report.csv" -noTypeInformation 
    

    Post edited by: LucD

    Just noticed I put 1500 instead of 15 as an argument to the addminutes method.

  • Events not shown in get-vievent

    What types of events are NOT displayed in

    Get-vievent?

    For example, suppose that a user connects to a server ESXi directly, rather than connecting to vCenter Server.  This ESXi server is managed by the vcenter Server.  Everything is done on the ESXi server can still to report through

    '

    Get-vievent

    the server vCenter Server?

    What could be missing if I don't

    Get-vievent - username 'ADDOMAIN\adusername '.

    the server vCenter for this user?

    Server ESXi and vCenter server have their own set of events.

    As you can easily check with my Event-O-Matic script, when you connect to a server ESXi and vCenter server.

    ESXi events, both there are connectivity, are copied to the vCenter by the vpxa service that runs on the ESXi.

    So in theory you should, as far as I know, see all ESXi appearing in the vCenter events events & tasks

  • Get-VIEvent - how to export the event type?  error, warning, or info

    Hello

    I know that the Get-VIEvent command allows you to specify the type of events to get back... that is to say [-Types < EventCategory [>]

    but, I want to extract all the events and export them to a CSV file. I want one of the columns to be "EventCategory", which will be ERROR, WARNING, or INFO, but I can't seem to find it.  $_. GetType(). Name gets me the type of event, but not the category.  I know that I can have my script executed 3 times (each time specifying the - parameter Types) but I want to run only once.  Any ideas?

    Thank you!

    Jeff

    Hello, horningj-

    I worked on a few elements that should attract the event category.  The first selects a few properties, including a calculated property that gets the event category:

    ## works well if no events of type 'EventEx'## get the .Net View object of the EventManager (used for getting the event Category) $viewEventMgr = Get-View EventManager ## get some VIEvents, select a few properties, including a calculated property for EventCategory Get-VIEvent | Select FullFormattedMessage, CreatedTime, @{n="EventCategory"; e={$strThisEventType = $_.GetType().Name; ($viewEventMgr.Description.EventInfo | ?{$_.Key -eq $strThisEventType}).Category}}
    

    It becomes VIEvents (the last 100, because I did not specify the parameter - MaxSamples) and returns the properties of data.  The calculated "EventCategory" property uses the type of the VIEvent object to search for in the collection of items EventDescriptionEventDetail in ownership eventInfo found in .net object View for the EventManager.  He then grabs the 'Category' of the corresponding element of EventDescriptionEventDetail property.

    Works fine unless you have any VIEvents type "EventEx" - then, this 'research' in EventDescriptionEventDetail collection method fails, because there is more than one element of this type (there are 91 of them at the moment).

    This led me to the next bit.  It is similar to the previous method, but it handles EventEx events too:

    ## get the .Net View object of the EventManager (used for getting the event Category)$viewEventMgr = Get-View EventManager
    
    ## get some VIEvents (the last 100, as "-MaxSamples" is not specified) Get-VIEvent | %{    ## put the pipeline varible into another variable; get its type    $oThisEvent = $_; $strThisEventType = $_.GetType().Name    ## if this event is of type "EventEx"    if ($strThisEventType -eq "EventEx") {        $strEventTypeId = $oThisEvent.EventTypeId;        ## get the EventInfo item (of type EventDescriptionEventDetail) whose "FullFormat" property begins with the EventTypeId of the VIEvent at hand, and get its "Category" property        $strCategory = ($viewEventMgr.Description.EventInfo | ?{$strRegexPattern = "^$strEventTypeId\|.*"; $_.FullFormat -match $strRegexPattern}).Category    } ## end if     ## else, can just grab the EventInfo item whose "Key" is the same as this event's type    else {$strCategory = ($viewEventMgr.Description.EventInfo | ?{$_.Key -eq $strThisEventType}).Category}    ## add a NoteProperty "EventCategory" to this event    $oThisEvent | Add-Member -MemberType NoteProperty -Name EventCategory -Value $strCategory -PassThru} | Select FullFormattedMessage, CreatedTime, EventCategory
    

    It seems that the EventTypeId of the event returned by Get-VIEvent is included in the first part of the property FullFormat of elements EventDescriptionEventDetail with EventEx key, separate from the rest of the value by a vertical pipe.  Thus, the EventTypeId of the VIEvents can be used to make a match on EventEx of events .net EventManager View object types to get the event 'category' (info, warning, error, user).

    You can, of course, change the Select statements to choice/choose the pieces of information you want to export and then export to a file of data as you please.

    How does do for you?

    * The message has been edited by mattboren on April 5, 2011 - added line at the beginning of the second piece of code '$viewEventMgr = Get-view event Manager.  It was already in the first room and assumes that the user has run the two parts in the same session, but added for completeness.

  • How do I see the full message with the command Get-VIEvent

    Hello list,

    I was trying to see the VIevents with the command get-vievent as below

    Get-VIEvent-type error - MaxSamples 20 | Format-Table Createduserid, FullFormattedMessage - autosize

    In this case, if it's a great message, the fullFormattedMessage displays incomplete messages (for example/error found on & lt;) ESX IP & gt; in & lt; Centre for data & gt ;...) ... what should I wear to display the full message with the command Get-VIevent?

    Thank you

    Krishnaprsad

    This is the Format-Table cmdlet, which shows only a part of the message.

    If you want to see the full message, you could do

    Get-VIEvent -Type Error -MaxSamples 20 | %{Write-Host $_.CreatedTime $_.FullFormattedMessage}
    

    The alternative is to adapt the formatting instructions in the VMware.VimAutomation.Format.ps1xml file.

    But that could impact other cmdlets and is a bit more complicated.

  • Need help with "get-annotation" in a loop by comparing vievents to the vcenter data

    I have a loop in a script that I am running. I used the code that I found on a website earlier. I would add 2 values of annotation, "Department" and "request" to this specific report in each loop run. "." I tried different keys and nothing seems to work for me.

    $created = @()
    
    Get-VIEvent -Start (Get-Date).AddDays(-7) -MaxSamples $samples | `
    Where-Object {$_.Gettype().Name-eq "VmCreatedEvent" -or $_.Gettype().Name-eq "VmBeingClonedEvent" -or $_.Gettype().Name-eq "VmBeingDeployedEvent"} | % {
         $row = "" | Select Date, Msg, User, Cluster, Host
         $row.Date = $_.createdTime
         $row.Msg = $_.fullFormattedMessage
         $row.User = $_.userName
         
         $t = New-Object VMware.Vim.ManagedObjectReference
         $t.type = $_.computeResource.computeResource.type
         $t.Value = $_.computeResource.computeResource.Value
         $row.Cluster = (Get-View $t).Name
       
    
         $t.type = $_.host.host.type
         $t.Value = $_.host.host.Value
         $row.Host = (Get-View $t).Name
        
        if ($row.Cluster -eq $cluster){$created += $row}
    }
    $createdprocessed = ( $created | format-list | out-string)
    

    PS: I don't get my failed attempts because I'm embarrassed. : b

    PPS: I know that my use of loop 2 variable, I keep "created" for other uses later in the script

    I assumed that you ment the custom attributes defined on the guests.

    Then you can do it like this

    $created = @()
    
    Get-VIEvent -Start (Get-Date).AddDays(-7) -MaxSamples $samples | `
    Where-Object {$_.Gettype().Name-eq "VmCreatedEvent" -or $_.Gettype().Name-eq "VmBeingClonedEvent" -or $_.Gettype().Name-eq "VmBeingDeployedEvent"} | % {
         $row = "" | Select Date, Msg, User, Cluster, Host, Department, Application
         $row.Date = $_.createdTime
         $row.Msg = $_.fullFormattedMessage
         $row.User = $_.userName
         $row.Cluster = (Get-View $_.ComputeResource.ComputeResource).Name
         $row.Host = (Get-View $_.Host.Host).Name
         $vm = Get-View $_.VM.VM
         $row.Department = $vm.CustomFields.Item("Department")
         $row.Application = $vm.CustomFields.Item("Application")
    
         if ($row.Cluster -eq $cluster){$created += $row}
    }
    $createdprocessed = ( $created | format-list | out-string)
    

    Note that the recovery of the cluster and the host name can be simplified.

    No need to build the MoRef yourself from scratch.

    ____________

    Blog: LucD notes

    Twitter: lucd22

  • Adobe event with password recording

    I have a client who asks this question to the Event Module in Adobe.  Is this possible, if so?  How can we do this?

    He wants to use live event with unique access code feature where he sends in a spreadsheet excel with the access code for each user.

    He runs webinars on subscription and the unique password that it provides to grant access to each participant is therefore very important.

    Thank you!

    Katou

    I know that that does not answer the original question of the Katou client on a unique passcoade for each participant. I'll leave that for the team here at Adobe support.

    4 options of entry @I - don't-believe-it, when you start your room you have the same thing as visibility?

    The last option allows you to define a unique password that should be used by anyone who wants to enter more that of the above 3 options you have selected.

    Brett - Adobe for the development of talent

  • How to manage the structure of the event with two loops

    I have a question about the structure of the user event with 2 buttons?

    key 1: START LOGGING DATA

    key 2: STOP LOGGING DATA

    How do I control my

    structure of the event so that it will work? because now that the loop is save data... I can't stop the loop, when I clicked on buttons.

    super_saiyans wrote:

    the problem with moving it is that I don't have control of the DATA RECORD STARTING?

    Of course, you do.  When you get your press conference button, you say your state machine to move to the State of logging.  You must also make sure that you return to visit the State to wait for the event to check out the events of the stop button.

  • Cannot transfer messages saved in the journal of the events with the 50 State

    I use Vista 64 on a HP laptop.   I don't have a Vista installation CD but have the cd hp the only way I can run CHKDSK with Windows running is to use the F8 key and select 'Repair your computer' then I get to the screen "System Recovery Options" and a "Command Prompt" option that I chose.  I can then enter "chkdsk" and it works, but after it runs I get an error "cannot transfer the recorded messages in the log of events with State 50 ' although he reported no problems with the disk.  It is this important error message and how do I get the chkdsk to write the information?

    I talked to HP and they tell me I have to reinstall the original software included with the computer to resolve this problem.

    Any help would be appreciated.
    Marshall

    Judd

    Thanks again for your information.  It seems that you agree with HP that the only way to solve this problem is to re - install the operating system.  This tells me that the re - install has a good chance to solve the problem.

    Best wishes
    Marshall

  • Get-VIEvent "vSphere HA restarted virtual machine.

    Hi score

    Can someone help me complete this script

    Get-Cluster 'test ' | Get - VM | Get-VIEvent | Where-Object {$_.} FullFormattedMessage-LIKE "{vSphere virtual machine rebooted HA *'} |" Select ObjectName,@{N="IP addr; E={($_. Guest.IpAddress)}}, Createduserid, FullFormattedMessage

    Out put:

    ObjectName IP addr Createduserid FullFormattedMessage

    ----------                          -------                             -----------                        --------------------

    VM1 05 - Sep - 14 16:14:29 vSphere restarted my virtual HA...

    VM2 05 - Sep - 14 16:14:25 vSphere restarted my virtual HA...

    VM3 05 - Sep - 14 16:14:25 vSphere restarted my virtual HA...

    Failed to get the IP address on this script.

    Thank you for giving if any good script to get vSphere HA restarted event when the host failure.

    Try like this

    Get-Cluster 'test ' | Get - VM |

    Get-VIEvent |

    where {$_.} FullFormattedMessage-match 'vSphere virtual machine rebooted HA'} |

    Select ObjectName,@{N="IP addr; E = {(Get-vue-Id $_.)} {{Vm.Vm). Guest.IpAddress}}, Createduserid, FullFormattedMessage

    Not sure property you are trying to achieve with ObjectName.

  • Filtering some results in Get-VIEvent

    How would be to filter the results of Get-VIEvent or other specific keywords in the FullFormattedMessage, or by the MessageInfo property?

    I'm trying to use Get-VIEvent to get a list of warning and error events and want to filter the "insufficient result of RAM video.

    I am trying to filter either by the insufficient "vidéo RAM" text in the property of FullFormattedMessage, or the result of "{msg.svgaUI.badLimits}" in the MessageInfo property.

    Thanks in advance for any help.

    Hello, aydeisen-

    You can use a statement Where-Object to filter the events as you wish.  As:

    Get-VIEvent | Where-Object {    ($_.FullFormattedMessage -like "*Insufficient video RAM*") -or    ($_.MessageInfo | ?{$_.id -like "*msg.svgaUI.badLimits*"})} ## end where-object
    

    This verifies VIEvents whose FullFormattedMessage property is as the given string, or whose MessageInfo property (which is zero or more objects of VirtualMachineMessage ) is an VirtualMachineMessage object with the id as the given string property.

    Of course, you will use the other Get-VIEvent settings for changing the scope of the events gathered initially (for a given entity, a time limit given, maxSamples, etc.).  How does do for you?

  • Get-vievent formatted output

    Hello Luke,.

    Instead of the select-object cmdlet, I would use format-table - Autosize. If I do this, I can only direct to cmdlet convertto-html I want. What is the trick here? I need an output formatted due to FullFormattedMessage.

    $fileloc = "c:\error.csv".
    $vievents = get-VIEvent-start (Get-Date). AddHours(-24)-Types 'mistake ' |
    Select-object Createduserid, username, FullFormattedMessage |
    Export-Csv-path $fileloc - NoTypeInformation - UseCulture

    Thank you

    You must use a Format-* cmdlet only as the last cmdlet in a pipeline. The Select-Object cmdlet is used to select only the properties that you want. To better keep this cmdlet. You can convert the output to html format with:

    $a = ""
    
    Get-VIEvent -Start (Get-Date).AddHours(-24) -Types "Error" |
    Select-Object CreatedTime, UserName, FullFormattedMessage |
    ConvertTo-HTML -head $a -body "

    VI Events Information

    " | Out-File VIEvents.htm Start VIEvents.htm

    Best regards, Robert

  • Don't PowerCLI v5 changes that behaves in the way that get-vievent?

    Hi all

    I just installed v5 powerCLI and some scripts I was using don't work anymore.

    the get-vievent-start (get-date command).adddays(-2) that I have used to analyze events in the course of the last 2 days, is now back only a few events, all of the current day.

    is - anyone notice the same behavior?

    Hello, nicolasbouyssy-

    Hmm, strange.  So, if you run the line of your script that gets the desired events and count the number of items that it returns is - this superior to the default value of 100?  In other words, something like:

    (Get-VIEvent -Start (Get-Date).AddDays(-2)).Count
    

    I understand wanting to have things run fast.  Can possibly restrict you the events that you retrieve by specifying an array of entities for which to get the events (using parameter - entity), either by limiting the event types with the parameter - Types (to represent types of error, Info, or Warning)?

    Regarding, "unless it is smart enough to stop navigation when the date is reached" - Yes, it must be the behavior when you use the MaxSamples parameter with - Start - it will return up to MaxSamples number of events, but none is older than the specified start date.  So, if there are 100000 events, but only 2200 in the past two days, specifying for MaxSamples 100000 with a start of two days should return only 2200 events.

    As for fixing the MaxSamples number to cover all events - I assumed that to be sure that you get all you can, you can use the maximum value for MaxSamples.  It's a [int32], whose maximum value is 2,147,483,647 (which is (2 ^ 31) - 1).  So to be sure you have found all the events gave as you can, you can use this maximum value for MaxSamples, as such:

    Get-VIEvent -MaxSamples 2147483647 -Start (Get-Date).AddDays(-15)
    

    Or, using mathematics (maybe for readability):

    Get-VIEvent -MaxSamples ([Math]::pow(2,31) - 1) -Start (Get-Date).AddDays(-15)
    

    But, filtering of events on some of the other things mentioned above (type, entity) apparently is a good idea before the entry to get about 2 ^ 31 events...

  • Get-VIEvent command line options

    Hello list,
    Options of I have a question about the command line for Get-VIevent. I need to get the logs between a given time limit. I'll use this command in a script. If I can make use of Get-Date command output to - Start - Finish settings.
    I have to get the logs between a given time limit. for example I need newspapers between 16:00 to 17:00 on the same day. for that I do use Get-Date command output?
    Thank you
    Ghislain

    Ghislain wrote:

    This way to grep for a particular string. I know there is an option called "findstr". can you please cite the use of this option of findstr?

    There are a few (dozen) different ways to approach this problem in PowerShell. I hope these examples help:

    PS > $a = Get-VIEvent
    PS > $a | group { $_.GetType().BaseType }
    
    Count Name                      Group
    ----- ----                      -----
       20 VimApi.AlarmEvent         {13875, 13874, 13873, 13872, 13853, 13852, 13846, 13845, 13809...
        8 VimApi.SessionEvent       {13871, 13870, 13869, 13823, 13816, 13815, 13813, 13812}
       65 VimApi.VmEvent            {13868, 13867, 13866, 13865, 13864, 13863, 13862, 13861, 13860...
        2 VimApi.HostEvent          {13821, 13819}
        3 VimApi.Event              {13820, 13818, 13784}
        1 VimApi.GeneralEvent       {13817}
        1 VimApi.CustomFieldDefE... {com.icomasoft.PowerScripter.script}
    
    PS > $a | Where-Object { $_.key -eq 13875 }
    
    source               : VimApi.ManagedEntityEventArgument
    entity               : VimApi.ManagedEntityEventArgument
    from                 : gray
    to                   : green
    alarm                : VimApi.AlarmEventArgument
    key                  : 13875
    chainId              : 13845
    createdTime          : 12/7/2008 11:17:27 AM
    userName             :
    datacenter           : VimApi.DatacenterEventArgument
    computeResource      : VimApi.ComputeResourceEventArgument
    host                 : VimApi.HostEventArgument
    vm                   : VimApi.VmEventArgument
    fullFormattedMessage : Alarm Virtual Machine Memory Usage on openfiler changed from Gray to Green
    dynamicType          :
    dynamicProperty      :
    PS > $a | ? { $_.fullFormattedMessage -match "memory" } | select -first 5 | ft key, full* -auto
    
      key fullFormattedMessage
      --- --------------------
    13875 Alarm Virtual Machine Memory Usage on openfiler changed from Gray to Green
    13873 Alarm Virtual Machine Memory Usage on vcenter.halr9000.com changed from Gray to Green
    13853 Alarm Virtual Machine Memory Usage on vcenter.halr9000.com changed from Green to Gray
    13846 Alarm Virtual Machine Memory Usage on openfiler changed from Green to Gray
    13809 Alarm Virtual Machine Memory Usage on openfiler changed from Gray to Green
    

    [PowerShell MVP |] [ https://mvp.support.microsoft.com/profile=5547F213-A069-45F8-B5D1-17E5BD3F362F], the VI Toolkit forum moderator

    Author of the forthcoming book: VMware Infrastructure Management with PowerShell

    Co-host, PowerScripting Podcast (http://powerscripting.net)

    Need help in General, other than VMware PowerShell? Try the PowerShellCommunity.org forums

  • Closure of a state machine in queue event with several parallel loops

    I am trying to find the best way to stop a program that consists of an architecture of State machine in line waiting for event with several parallel loops. Can anyone recommend the best way to achieve this in my attached VI? (To browse the forum, this seems to be a frequently asked question, but I have not found a solution that works for me.)

    I look forward to any comments on my as well code, if someone is willing to offer it.

    My program needs:

    If the user press the 'Stop' button, the program should prompt the user with "are you sure you want to stop the program?" and then return to a State of rest or move forward to stop the program. In addition if there is an error, the program should prompt the user to ' clear the error and continue, or stop the program. Then back to the idle state or move forward to stop the program.

    Architectural details:

    The program consists of 3 parallel loops: (1) a loop of event management that places different States of a queue of the State, (2) a State Machine that enters the State that is removed from the queue of the State and (3) a loop error/Shutdown, which deals with errors in the error queue management.

    During normal shutdown, where running handling loop in the case of event 'Program.Shutdown' and 'Shutdown' and the 'Idle' States are added to the queue of the State. In the state machine, the State of 'Stop' is invoked. Special "5000" error code is added to the queue of the error. In the loop of error handling and stopping, "5000" error triggered a prompt that asks the user if they want to stop the program. If the user chooses not to stop, a notifier StopNotif is sent to the State of 'Stop' and 'Program.Shutdown' event case with notification 'Go '. If the user decides to stop, the Notifier sends the notification "Stop". Loop and event management State Machine ends when they receive the notification "Stop".

    In case of error, the program behaves in the same way: If the user chooses to clear the error and continue, the program returns to the status "pending".

    HOWEVER - if the user chooses to stop the program, the program crashes. The author of the notification that is sent to stop the loop of events and State Machine management cannot be read because event Program.Shutdown and the stop State (which contain the function "Waiting to notify") are not active.

    I was able to activate the stop State by Queuing in the loop of error/Shutdown management. But I don't know how to activate the "Program.Shutdown" event by program and thus access the function "Waiting to notify" inside.

    I tried to put the function "Waiting to notify" outside the structure of the event, so the event-handling loop never ends. Placing timeouts on the "wait for declaring" and the structure of the event makes the programme of work, but I want to avoid using timeouts because I don't want to turn my event program into a program of polling stations. I would also avoid using variables or nodes property to stop loops, because that requires the creation of a control/indicator for something that the user does not need to interact with.

    Thank you!

    First of all, close the notifier outside loops with your queues.  Second, you must use a user event to send the message to the event structure loop so that it stop in the case of the stop on an error.

Maybe you are looking for

  • Why the home button and the back on my browser get distorted when I try to click on it?

    whenever I use the mouse to click on the home button or back on my browser, it might get distorted the original photo or arrow 'break' to the top and still have these lines as well as whites white until I ride the arrow of the mouse on it sometimes.

  • Satellite P500-F12 - freezes after 5 minutes of game

    I recently bought a toshiba laptop P500-12F with the specifications below, the problem I have is that whenever I try to start a game like mount and blade or empire total war, the game works for between 5-10 minutes, but then crashes completely and th

  • No will can enviar archivos a target group of correo...

    Tengo Windows vista ultimate, trato enviar an archivo (of text o imagen) selecciono el archivo hago click derecho selecciono enviar a target group por correo, escribo el correo correctamente envio y sale me una ventana: Microsoft Office Outlook funci

  • really 'cleansweeping '.

    Anyone knows a way to really sweep away any trace of an application? For example, if I chose to uninstall MS Office (why should I? "But that's another issue...), the normal"Uninstall"under" ControlPanel / / / / ProgramsAndFeatures ' does not remove e

  • Is generator - possible to refer to the other layers?

    Hello people!I recently started to discover the generator. I have a document with about 30 layers with pictures, and then there is a top layer with a logo that should appear in all images. Is there a way that I can refer to this layer in the jargon o