there is no solution for this! Iv checked and sharepoint doesnt store who created the alert in the wss_content database under SchedSubscriptions table.
Solution?
Youll have to make your own! sorry! I presume when you say:
We have some admins who create these alerts for other people
You mean that they must be using "SubNew.aspx", goto 12hive or 14hive -> select templates -> layouts:
2007
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS
2010
C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS
look for the file "SubNew.aspx". You need to make a delegate control
http://sharepointmagazine.net/articles/custom-page-security-using-sharepoint-delegate-controls
basicly a feature that intercepts that aspx so that it will use your version instead! You need to ammend the aspx page to contain the feilds you want (user input) like so:
<wssuc:InputFormSection runat="server"
onKeyDown="onKeyPress()"
Title="<%$Resources:wss,accessDenied_currentuser%>"
Description="Alert creator"
>
<Template_InputFormControls>
<wssuc:InputFormControl runat="server">
<Template_Control>
<wssawc:InputFormTextBox Title="fghfghfghgfhf" class="ms-input" ID="TextTitleAlert" Columns="35" Runat="server" MaxLength=255 />
</Template_Control>
</wssuc:InputFormControl>
</Template_InputFormControls>
</wssuc:InputFormSection>
and do some working out or pickup the input in codebehind.
or
if your like me use codebehind that is called when the user clicks on a button (create alert), it will do its stuff but also writes to the DB in a new table that contains the alert ID, alert Name, creation Time and Creator.
That should do the trick ;)
sorry there isnt an easyeir method! nothing is easy in sharepoint and this simple thing like alert creator just doesnt exist so you would need to create a custom way of recording and retriving :)