Stefan W 14 Geschrieben 20. August 2012 Melden Teilen Geschrieben 20. August 2012 das sleep vor die if abfrage - zB sleep 20 Zitieren Link zu diesem Kommentar
Stefan W 14 Geschrieben 20. August 2012 Melden Teilen Geschrieben 20. August 2012 ehe ichs vergesse.. aktiviert hast du es? (Enable-CmdletExtensionAgent) Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 21. August 2012 Autor Melden Teilen Geschrieben 21. August 2012 ja Enable-CmdletExtensionAgent "Scripting Agent" Zitieren Link zu diesem Kommentar
Stefan W 14 Geschrieben 21. August 2012 Melden Teilen Geschrieben 21. August 2012 läufts nun? Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 21. August 2012 Autor Melden Teilen Geschrieben 21. August 2012 läufts nun? leider nein Zitieren Link zu diesem Kommentar
Stefan W 14 Geschrieben 21. August 2012 Melden Teilen Geschrieben 21. August 2012 Anderer Ansatz: wieviele Personen hast du in der Exchange Umgebung, wieviele Personen sind von der "IMAP deaktivieren" Regelung ausgenommen, und wieviele Postfachdatenbanken hast du? lg Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 21. August 2012 Autor Melden Teilen Geschrieben 21. August 2012 ca 1400 und 15/15 DB aktiv/ passiv #deactivate IMAP $newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"] D:\Exchsrvr\PS-Log\PS-Cmdlets-ExtensionAgents\Imap-disable.ps1 -name $newmailbox habe ich nun in die *.xml ... in meiner *ps1 steht get-mailbox | set-casmailbox -imapenabled $false das script - *.xml habe ich auf BEIDEN servern angepasst und es liegt da D:\Exchsrvr\Bin\CmdletExtensionAgents ich war nun extra auf dem server mit der aktiven MB ( AD account existierte) habe die MB extra auf einer aktiven Datenbank zugeordnet.. Summary: 1 item(s). 1 succeeded, 0 failed. Elapsed time: 00:00:00 mbtest2 Completed Exchange Management Shell command completed: Enable-Mailbox -Identity 'donnerhell.intern/AGCXwp/E000/999999/Users/mbtest2' -Alias 'mbtest2' -Database 'TB00058A-MB23' Elapsed Time: 00:00:00 IMAP aktiv und... ebenfall ohne erfolg: <?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox,enable-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"] D:\Exchsrvr\PS-Log\PS-Cmdlets-ExtensionAgents\Imap-disable.ps1 -name $newmailbox } </ApiCall> </Feature> </Configuration> Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 21. August 2012 Autor Melden Teilen Geschrieben 21. August 2012 im netz gibts keine guten dokus weder auf deutsch noch auf English...nicht mal in meinem MUT Schmöker Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 21. August 2012 Melden Teilen Geschrieben 21. August 2012 Ich finde genügend Dokus um damit zu beginnen. Mal eben zusammengezimmert und mit new-mailbox getestet. Enable-Mailbox darfst du selbst testen <?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox,enable-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $mb = $provisioningHandler.UserSpecifiedParameters["Name"] set-casmailbox $mb -IMAPEnabled $false -POPEnabled $false } </ApiCall> </Feature> </Configuration> Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 22. August 2012 Autor Melden Teilen Geschrieben 22. August 2012 Ich finde genügend Dokus um damit zu beginnen. Mal eben zusammengezimmert und mit new-mailbox getestet. Enable-Mailbox darfst du selbst testen <?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox,enable-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $mb = $provisioningHandler.UserSpecifiedParameters["Name"] set-casmailbox $mb -IMAPEnabled $false -POPEnabled $false } </ApiCall> </Feature> </Configuration> :::::::::::::::: danke für deine Mühe, jedoch weiter oben bereits ohne erfolg verwendet! Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 22. August 2012 Melden Teilen Geschrieben 22. August 2012 Dann machst du was falsch. Mit new-mailbox habe ich diesen Code letzte Nacht erfolgreich eingesetzt. Bei enable-mailbox kommt noch ein Warning, Allerdings hatte ich letzte Nacht keine Lust mehr den zu fixen. Zitieren Link zu diesem Kommentar
Stefan W 14 Geschrieben 22. August 2012 Melden Teilen Geschrieben 22. August 2012 Selbiges bei mir. Jedoch hab ich es ohne enable-mailbox getestet. Versuch mal übersichtlich zu schildern. Es steht zwar schon alles irgendwo verteilt im Thread, nur benötigen wir den aktuellen Stand. Genauer Pfad WO die Datei liegt (inkl. Dateiname und Dateiendung) KOMPLETTER Inhalt der xml (bitte mit [code - [/code ) Ausgabe von "Get-CmdletExtensionAgent | fl name, enabled" lg Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 22. August 2012 Autor Melden Teilen Geschrieben 22. August 2012 teil1 auf beiden DAG nodes habe ich D:\Exchsrvr\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml inhalt: <?xml version="1.0" encoding="utf-8" ?> < Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"] set-casmailbox $newmailbox -ImapEnabled $False } </ApiCall> </Feature> </Configuration> beide *.xml files haben den gleichen status! der script agent ist aktiviert: Enable-CmdletExtensionAgent "Scripting Agent" status agenten: Get-CmdletExtensionAgent | ft name,enabled,priority -wrap -autosize Name Enabled Priority ---- ------- -------- Scripting Agent True 6 OAB Resources Management Agent True 5 Provisioning Policy Agent True 4 Mailbox Resources Management Agent True 3 Rus Agent True 2 Query Base DN Agent True 1 Admin Audit Log Agent True 255 Mailbox Creation Time Agent True 0 [PS] D:\Exchsrvr\PS-Log>Get-CmdletExtensionAgent | fl name, enabled Name : Scripting Agent Enabled : True Name : OAB Resources Management Agent Enabled : True Name : Provisioning Policy Agent Enabled : True Name : Mailbox Resources Management Agent Enabled : True Name : Rus Agent Enabled : True Name : Query Base DN Agent Enabled : True Name : Admin Audit Log Agent Enabled : True Name : Mailbox Creation Time Agent Enabled : True Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 22. August 2012 Autor Melden Teilen Geschrieben 22. August 2012 teil2 er komplette inhalt meiner *.xml <?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <!-- In order to enable Scripting Agent: - rename this file to ScriptingAgentConfig.xml - edit it appropriately - run the task: enable-CmdletExtensionAgent "Scripting Agent" In order to include into your scriptlet characters prohibited in XML, use escape sequences, e.g. "<",">","&" for "less than", greater than" and "ampersand respectively. --> <Feature Name="MailboxOperatorNumberProvisioning" Cmdlets="new-mailbox"> <ApiCall Name="ProvisionDefaultProperties"> #parameter list: #param([ProvisioningHandler]$provisioningHandler, [iConfigurable]$readOnlyIConfigurable) if($provisioningHandler.UserSpecifiedParameters["OperatorNumber"] -ne $null) { #if user has specified -OperatorNumber parameter, return return $null; } if($readOnlyIConfigurable.OperatorNumber -ne $null) { #if previous agent has provisioned OperatorNumber, return return $null; } $user = new-object -type Microsoft.Exchange.Data.Directory.Recipient.ADUser; $user.OperatorNumber = "911"; new-object -type Microsoft.Exchange.Data.Directory.Management.Mailbox -argumentlist $user </ApiCall> </Feature> <!-- The script enforces naming convention on distribution group. The rules to be applied are: 1. Bypass enforcement if the user is administrator. Note: we simplify this logic by only check role name 2. The name should follow the pattern as: "MY-DIY-<current user alias>-<free string that less than 32 characters>" --> <Feature Name="Name-Check" Cmdlets="new-distributiongroup,set-distributiongroup"> <ApiCall Name="Validate"> #parameter list: #param([ProvisioningHandler]$provisioningHandler, [iConfigurable]$readOnlyIConfigurable) <!-- Proceed only if -Name or -DisplayName is specified--> if (($provisioningHandler.UserSpecifiedParameters["Name"] -eq $null) -and ($provisioningHandler.UserSpecifiedParameters["DisplayName"] -eq $null)) {return $null} Zitieren Link zu diesem Kommentar
-Haselier- 10 Geschrieben 22. August 2012 Autor Melden Teilen Geschrieben 22. August 2012 teil3 $userId = (Get-User | where {$_.Sid -eq $provisioningHandler.UserScope.UserId}).Identity <!-- Do nothing if the user has recipient management role assigned. We don't enforce naming convention on admin --> foreach ($userRole in (Get-ManagementRoleAssignment -RoleAssignee $userId)) { if ((Get-ManagementRole $userRole.Role).RoleType -eq [Microsoft.Exchange.Data.Directory.SystemConfiguration.RoleType]::RecipientManagement) {return $null;} } <!-- Compose the naming convention validation regular expression: "MY-DIY-<user alias>-<free string that less than 32 characters>" --> $regExpression = "MY-DIY-" + (Get-Mailbox $userId).Alias + "-.{1,32}" <!-- Do regular expression validation --> if ([system.Text.RegularExpressions.Regex]::IsMatch($readOnlyIConfigurable.DisplayName, "^(" + $regExpression + ")$", [system.Text.RegularExpressions.RegexOptions]::IgnoreCase)) {return $null;} New-Object -type Microsoft.Exchange.Data.ProvisioningValidationError -argumentlist ("The name must follow the pattern as: MY-DIY-[Your Alias]-[Free string less than 32 characters]", [Microsoft.Exchange.Data.ExchangeErrorCategory]::Client ) </ApiCall> </Feature> <Feature Name="Auditing" Cmdlets="new-mailbox"> <ApiCall Name="Validate"> #parameter list: #param([ProvisioningHandler]$provisioningHandler, [iConfigurable]$readOnlyIConfigurable) $newObjectGuid = $readOnlyIConfigurable.Guid.ToString(); </ApiCall> <ApiCall Name="OnComplete"> #parameter list: #param([ProvisioningHandler]$provisioningHandler, [bool]$succeeded, [Exception]$exception) if($succeeded) { WriteToSQL($newObjectGuid); } </ApiCall> </Feature> <Common> function WriteToSQL { param([string]$newObjectGuid) $connectionString = GetConnectionString; $queryString = "INSERT into RecipientAudit (DistributionGroupGuid) VALUES ('$newObjectGuid')"; [reflection.assembly]::LoadWithPartialName("System.Data"); $sqlConnection = new-object -type System.Data.SqlClient.SqlConnection -argumentlist $connectionString; $command = new-object -type System.Data.SqlClient.SqlCommand -argumentlist $queryString; $command.Connection = $sqlConnection; $command.Connection.Open(); $command.ExecuteNonQuery(); $sqlConnection.Close(); } function GetConnectionString { return "server=MYSQLSERVER;uid=sa;password=myPassword;database=CmdletExtensions"; } </Common> </Configuration> <?xml version="1.0" encoding="utf-8" ?> < Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"] set-casmailbox $newmailbox -ImapEnabled $False } </ApiCall> </Feature> </Configuration> ******************* ende <- steht nicht mehr in der xml ;P Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.