If you've ever cloned a Client Job or had to cleanup after someone else who did you know how annoying it is that cloning is even an option for a job. For those who haven't, every task and sub-job are duplicated with a "_1" appended to each name. The following is a "hack" to stop coworkers from cloning jobs. Be warned, there could be a very good reason why Symantec doesn't provide a way to disable job cloning.
Update Item set Attributes = Attributes + 32 where [Guid] in (select i.[Guid] from Item i inner join ItemClass ic on i.[Guid] = ic.[Guid] and ic.ClassGuid = '12EE457F-F97C-4864-B9F8-FCDB4E6447DB' --Client Job class inner join ItemFolder ifolder on i.[Guid] = ifolder.ItemGuid join Item i2 on ifolder.ParentFolderGuid = i2.[Guid] left join FolderBaseFolder fbf on ifolder.ParentFolderGuid = fbf.FolderGuid and fbf.ParentFolderGuid = '455AE0DB-EC74-455B-B262-89421C96908D' --Top level Jobs and Tasks folder where i.[Attributes] & 32 != 32 and i.[Guid] NOT IN ( select i3.[Guid] from ItemFolder ifold join Item i3 on i3.[Guid] = ifold.ItemGuid join FolderBaseFolder fbf2 on fbf2.FolderGuid = ifold.ParentFolderGuid and fbf2.ParentFolderGuid = 'a27ea06b-d231-47ad-bfda-eeda3b27c7a3' and ifold.IsFolder = 0)) --Guid is System Jobs and Tasks folder
Each Item in Altiris has an Attributes value in the Item table. 0=Normal, 1=Hidden, 2=NoModify, 32=NoClone, etc. The SQL query does a bitwise AND evaluation to identify if 32 is in the Attributes value, if not it adds 32 to the current value so long as the job isn't in the System Jobs and Tasks folder.
To see what jobs would be changed run the following SQL in your preferred SQL browser.
select i.[Guid], i.[Name] [Job Name], i.Attributes, i2.[Name] [Parent Folder] from Item i inner join ItemClass ic on i.[Guid] = ic.[Guid] and ic.ClassGuid = '12EE457F-F97C-4864-B9F8-FCDB4E6447DB' --Client Job class inner join ItemFolder ifolder on i.[Guid] = ifolder.ItemGuid join Item i2 on ifolder.ParentFolderGuid = i2.[Guid] left join FolderBaseFolder fbf on ifolder.ParentFolderGuid = fbf.FolderGuid and fbf.ParentFolderGuid = '455AE0DB-EC74-455B-B262-89421C96908D' --Jobs and Tasks folder where i.[Attributes] & 32 != 32 and i.[Guid] NOT IN ( select i3.[Guid] from ItemFolder ifold join Item i3 on i3.[Guid] = ifold.ItemGuid join FolderBaseFolder fbf2 on fbf2.FolderGuid = ifold.ParentFolderGuid and fbf2.ParentFolderGuid = 'a27ea06b-d231-47ad-bfda-eeda3b27c7a3' and ifold.IsFolder = 0) --Guid is System Jobs and Tasks folder order by i.[Name]