Jump to content

IMAP als default deaktiveren


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Das heißt für mich soviel wie dass deine XML die Standardeinträge noch immer beinhaltet?!

 

und warum verwendest du nicht den

[code -Schalter?
dann sieht das Ganze so aus, und ist übersichtlicher
<?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;
}

[color="Red"]gekürzt[/color]
<!-- 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>

lg

Link zu diesem Kommentar
<- was meinst du mit CODE-Schalter?! ich sehe keine Unterschied von meinem zu deinem Post?!

gruss

 

Doch gibt es.

 

Bitte füge Deine XMLs als Anhang Deinem post bei oder verwende wie vorgeschlagen zum Kennzeichnen von Code den passenden Schalter.

Siehe https://www.mcseboard.de/misc.php?do=bbcode#code

 

Dadurch ist Dein posting besser lesbar

Link zu diesem Kommentar
Das heißt für mich soviel wie dass deine XML die Standardeinträge noch immer beinhaltet?!

ja, ist das verkehrt?

Wozu hast du sie denn drinnen? - ich hab mir die Std Einträge nicht durchgelesen, weiß daher auch nicht ob die etwas tun, oder ob alle auskommentiert sind - hast du das getan?

 

 

Bitte füge Deine XMLs als Anhang Deinem post bei oder verwende wie vorgeschlagen zum Kennzeichnen von Code den passenden Schalter.

Siehe https://www.mcseboard.de/misc.php?do=bbcode#code

genau das meine ich.

 

Verwende bitte auch die anderen Schalter - wie zB

lg

Link zu diesem Kommentar

nun habe ich NUR

 


<?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>

in der *xml datei  auf beiden servern!

habe einen existierenden ad account genommen und über emc ene MB zugewiesen

IMAp aktiv!!!

weiterer test

analog zu oben NUR habe ich eine komplett NEUEN Account erstellt!!!

meldung am ende des wizzards

Summary: 1 item(s). 1 succeeded, 0 failed.
Elapsed time: 00:00:11


mbtest6
Completed

Warning:
The cmdlet extension agent with the index 5 has thrown an exception in OnComplete(). The exception is: Microsoft.Exchange.Provisioning.ProvisioningException: ScriptingAgent: Exception thrown while invoking scriptlet for OnComplete API: The operation couldn't be performed because object 'mbtest6' couldn't be found on 'tb00002a.easycredit.intern'.. ---> Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException: The operation couldn't be performed because object 'mbtest6' couldn't be found on 'tb00002a.easycredit.intern'.
  at Microsoft.Exchange.Configuration.Tasks.DataAccessTask`1.GetDataObject[TObject](IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, Nullable`1 notFoundError, Nullable`1 multipleFoundError, ExchangeErrorCategory errorCategory)
  at Microsoft.Exchange.Configuration.Tasks.RecipientTaskHelper.ResolveDataObject[TDataObject](IConfigDataProvider dataSession, IConfigDataProvider globalCatalogSession, ADServerSettings serverSettings, IIdentityParameter identity, ObjectId rootId, OptionalIdentityData optionalData, String domainController, CategorizedGetDataObjectDelegate getDataObjectHandler, TaskVerboseLoggingDelegate logHandler, ErrorLoggerDelegate errorHandler)
  at Microsoft.Exchange.Configuration.Tasks.SetRecipientObjectTask`3.ResolveDataObject()
  at Microsoft.Exchange.Management.RecipientTasks.SetCASMailboxBase`2.ResolveDataObject()
  at Microsoft.Exchange.Management.RecipientTasks.SetCASMailbox.ResolveDataObject()
  at Microsoft.Exchange.Configuration.Tasks.SetObjectWithIdentityTaskBase`3.PrepareDataObject()
  at Microsoft.Exchange.Configuration.Tasks.SetRecipientObjectTask`3.PrepareDataObject()
  at Microsoft.Exchange.Configuration.Tasks.SetTaskBase`1.InternalValidate()
  at Microsoft.Exchange.Configuration.Tasks.SetObjectWithIdentityTaskBase`3.InternalValidate()
  at Microsoft.Exchange.Configuration.Tasks.SetRecipientObjectTask`3.InternalValidate()
  at Microsoft.Exchange.Management.RecipientTasks.SetCASMailboxBase`2.InternalValidate()
  at Microsoft.Exchange.Management.RecipientTasks.SetCASMailbox.InternalValidate()
  at Microsoft.Exchange.Configuration.Tasks.Task.ProcessRecord()
  --- End of inner exception stack trace ---
  at Microsoft.Exchange.ProvisioningAgent.ScriptingAgentHandler.OnComplete(Boolean succeeded, Exception e)
  at Microsoft.Exchange.Provisioning.ProvisioningLayer.OnComplete(Task task, Boolean succeeded, Exception exception)

Exchange Management Shell command completed:
New-Mailbox -Name 'mbtest6' -Alias 'mbtest6' -OrganizationalUnit 'easycredit.intern/Admin/OPFW/ExSrv/MSG01/Users' -UserPrincipalName 'mbtest6@easycredit.intern' -SamAccountName 'mbtest6' -FirstName 'mbtest6' -Initials '' -LastName '' -Password 'System.Security.SecureString' -ResetPasswordOnNextLogon $false

Elapsed Time: 00:00:11

 

IMAP Aktiv!!

 

an euch zwei die, das getestet haben, habt ihr in eurer Testumgebung, dass wir eine DAG Umgebung implementiert haben?!

 

so langsam bin ich ratlos!

bearbeitet von |Haselier|
Link zu diesem Kommentar

@ tesso

ich kann dir grad nicht folgen?

 

</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>

 

bezieht sich auf eine NEUE MB,

 

was ich über die EMC sowie EMS auch gemacht habe UND

 

zudem habe ich unterschieden:

 

1 ad account existiert

2 AD Account komplett neu erstellt ...

Link zu diesem Kommentar

mir ist folgendes aufgefallen, ich hatte das cmdlet new-mailbox in der *xml, was ich jedoch gemacht hatte war ein "enable-mailbox

 

deswegen habe ich die *.xml angepasst

 


<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
<Feature Name="MailboxProvisioning" Cmdlets="enable-mailbox">
<ApiCall Name="OnComplete">
if($succeeded) {
$newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"]
set-casmailbox $newmailbox -ImapEnabled $False
}
</ApiCall>
</Feature>
</Configuration>

 

 

 


Summary: 1 item(s). 1 succeeded, 0 failed.
Elapsed time: 00:00:00


mbtst
Completed

Warning:
The cmdlet extension agent with the index 5 has thrown an exception in OnComplete(). The exception is: Microsoft.Exchange.Provisioning.ProvisioningException: ScriptingAgent: Exception thrown while invoking scriptlet for OnComplete API: Cannot bind argument to parameter 'Identity' because it is null.. ---> System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter 'Identity' because it is null.
  at System.Management.Automation.ParameterBinderBase.ValidateNullOrEmptyArgument(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, Type argumentType, Object parameterValue, Boolean recurseIntoCollections)
  at System.Management.Automation.ParameterBinderBase.BindParameter(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, ParameterBindingFlags flags)
  at System.Management.Automation.CmdletParameterBinderController.BindParameter(CommandParameterInternal argument, MergedCompiledCommandParameter parameter, ParameterBindingFlags flags)
  at System.Management.Automation.CmdletParameterBinderController.BindParameter(UInt32 parameterSets, CommandParameterInternal argument, MergedCompiledCommandParameter parameter, ParameterBindingFlags flags)
  at System.Management.Automation.ParameterBinderController.BindPositionalParametersInSet(UInt32 validParameterSets, Dictionary`2 nextPositionalParameters, CommandParameterInternal argument, ParameterBindingFlags flags, ParameterBindingException& bindingException)
  at System.Management.Automation.ParameterBinderController.BindPositionalParameters(Collection`1 unboundArguments, UInt32 validParameterSets, UInt32 defaultParameterSet, Boolean ignoreArgumentsThatLookLikeParameters, ParameterBindingException& outgoingBindingException)
  at System.Management.Automation.CmdletParameterBinderController.BindCommandLineParametersNoValidation(Collection`1 arguments)
  at System.Management.Automation.CmdletParameterBinderController.BindCommandLineParameters(Collection`1 arguments)
  at System.Management.Automation.CommandProcessor.BindCommandLineParameters(CommandParameterInternal[] parameters)
  at System.Management.Automation.CommandProcessor.Prepare(CommandParameterInternal[] parameters)
  at System.Management.Automation.CommandProcessorBase.DoPrepare(CommandParameterInternal[] parameters)
  at System.Management.Automation.Internal.PipelineProcessor.Start(Boolean incomingStream)
  at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)
  --- End of inner exception stack trace ---
  at Microsoft.Exchange.ProvisioningAgent.ScriptingAgentHandler.OnComplete(Boolean succeeded, Exception e)
  at Microsoft.Exchange.Provisioning.ProvisioningLayer.OnComplete(Task task, Boolean succeeded, Exception exception)

Exchange Management Shell command completed:
Enable-Mailbox -Identity 'easycredit.intern/Users/mbtst' -Alias 'mbtest1'

Elapsed Time: 00:00:00

Link zu diesem Kommentar

o.g warnung:

The cmdlet extension agent with the index 5 has thrown an exception in OnComplete().

ist damit der Agent mit der Prio 5 gemeint?!

 

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

 

Fazit:

MB enabled ... IMAP aktiviert!! :(

Link zu diesem Kommentar
mir ist folgendes aufgefallen, ich hatte das cmdlet new-mailbox in der *xml, was ich jedoch gemacht hatte war ein "enable-mailbox

 

Genau das hatte ich geschrieben.:)

 

Probiere doch nicht alles durcheinander. Die xml welche ich gepostet hatte funktioniert bei new-mailbox. Das hatte ich getestet. Nimm diese xml und versuche das nachzustellen. Wenn das funktioniert, versuchen wir die xml zu erweitern. Funktioniert das nicht such den Fehler.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...