Automation: how to change all users's individual signatures: Difference between revisions
Line 42: | Line 42: | ||
Script 2 | Script 2 | ||
<pre style="white-space: pre-wrap; | |||
white-space: -moz-pre-wrap; | |||
white-space: -pre-wrap; | |||
white-space: -o-pre-wrap; | |||
word-wrap: break-word;"> | |||
#!/bin/bash | #!/bin/bash | ||
Line 56: | Line 60: | ||
echo "done!" | echo "done!" | ||
done | done | ||
</pre> |
Revision as of 21:31, 25 September 2015
Zimbra Automation
- This article is a Work in Progress, and may be unfinished or missing sections.
Zimbra automation using scripting.
How to change users's individual signatures based on their ldap attributes globally
Purpose
The purpose of this article is to show how to create a simple script which, can modify every user's signature globally, based on their ldap attribute values in ldap.
Resolution
For the purpose we will use two scripts. In the process I will explain why combining the two scripts into one will not work.
Script 1
#!/bin/bash path="/opt/zimbra/bin" for i in `/opt/zimbra/bin/zmprov -l gaa` do echo -ne "Checking account: $i \t" $path/zmprov ma $i zimbraPrefMailSignatureEnabled TRUE signature=`$path/zmprov ga $i | egrep "(^cn|^ou|^company|^street|^telephoneNumber|^mobile|^title)" | cut -d : -f 2 | sed 's/^\ //g'` $path/zmprov ma $i zimbraPrefMailSignatureEnabled TRUE zimbraPrefMailSignature "$signature" echo "done!" done
Script 2
#!/bin/bash path="/opt/zimbra/bin" for i in `/opt/zimbra/bin/zmprov -l gaa` do echo -ne "Adding SignatureID to account: $i \t" signatureid=`$path/zmprov ga $i zimbraSignatureId | sed -n '2p' | cut -d : -f 2 | sed 's/^\ //g'` $path/zmprov ma $i zimbraPrefDefaultSignatureId "$signatureid" $path/zmprov ma $i zimbraPrefForwardReplySignatureId "$signatureid" echo "done!" done