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

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>

Link zu diesem Kommentar

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>

Link zu diesem Kommentar
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!

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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}

Link zu diesem Kommentar

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

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