AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1524047
Accepted
leeand00
leeand00
Asked: 2020-02-10 11:24:08 +0800 CST2020-02-10 11:24:08 +0800 CST 2020-02-10 11:24:08 +0800 CST

Qual módulo powershell pode ser usado para domar sua caixa de entrada?

  • 772

Estou cansado de tentar usar a GUI do Outlook para criar/remover/gerenciar regras de caixa de entrada; demora uma eternidade e é uma merda.

Entendo que existem cmdlets no powershell que permitem fazer isso no lado do servidor e também no lado do cliente.

Não tenho acesso ao lado do servidor, estou apenas interessado em gerenciar minha própria caixa de entrada com essas regras.

O artigo a seguir parece mencionar alguns cmdlets que seriam ótimos para isso, mas não posso usá-los porque não sei de onde importar as bibliotecas:

https://www.codetwo.com/admins-blog/managing-outlook-rules-powershell/

Como instalo os cmdlets primeiro? Onde posso obtê-los e com o que preciso importá-los para um script?

microsoft-outlook email
  • 2 2 respostas
  • 2212 Views

2 respostas

  • Voted
  1. Best Answer
    postanote
    2020-02-10T23:13:38+08:002020-02-10T23:13:38+08:00

    Colocando isso aqui porque é muito longo para essa seção de comentários.

    Dominar sua caixa de correio é uma questão de dizer, você está falando apenas com você em seu cliente autônomo (fat, cloud ou ambos - lembre-se de que você pode adicionar sua conta Outlook.com diretamente em seu cliente Outlook fat.) ou para usuários em sua empresa .

    Você não usa cmdlets do Exchange para controlar o Outlook local. Para usar os cmdlets do Exchange, você deve instalar o Shell de Gerenciamento do Exchange em seu computador...

    Instalar as ferramentas de gerenciamento do Exchange

    ...ou use o PowerShell Implicit Remoting para fazer proxy desses cmdlets para seu host. A comunicação remota implícita é como você também usa os cmdlets do Exchange para O365. Estes são bem documentados/detalhes pela Microsoft e muitos blogs em toda a web e em vídeos do Youtube.

    Conecte-se ao Office 365 PowerShell

    Conecte-se a todos os serviços do Office 365 em uma única janela do Windows PowerShell

    Conecte-se a todos os serviços do Office 365 PowerShell (suporta MFA também)

    Mesmo módulo pré-construído para este esforço.

    Connect-O365 1.7.9

    Conecte-se aos serviços do Office 365 usando o PowerShell

    Script do PowerShell com funções auxiliares para conectar-se ao Office 365 ou Exchange On-Premises. Facilita a conexão a diferentes serviços do Office 365 usando as mesmas credenciais (não MFA). Não é mais necessário lembrar várias maneiras de se conectar a cada carga de trabalho.

    Gerenciando as regras do Outlook dos usuários a partir do Exchange Management Shell (com PowerShell)

    Youtube - Powershell O365

    O Outlook online tem uma API Rest para trabalhar, assim como o Exchange, EWS

    Visão geral das APIs de gerenciamento do Office 365

    cliente Outlook

    Youtube -

    As APIs REST do Outlook oferecem uma maneira fácil de acessar dados de email, calendário e contatos para qualquer usuário do Office 365 ou do Outlook.com. Neste vídeo, abordaremos algumas das principais funcionalidades introduzidas na V2.0 da API: webhooks, fotos, lembretes e fuso horário.

    Use o PowerShell para extrair dados da sua caixa de entrada do Outlook

    # Get-OutlookInBox function
    Function Get-OutlookInBox
    {
      <#
    
       .Synopsis
        This function returns InBox items from default Outlook profile
    
       .Description
        This function returns InBox items from default Outlook profile. It
        uses the Outlook interop assembly to use the olFolderInBox enumeration.
    
        It creates a custom object consisting of Subject, ReceivedTime, Importance,
        SenderName for each InBox item.
    
        *** Important *** depending on the size of your InBox items this function
        may take several minutes to gather your InBox items. If you anticipate
        doing multiple analysis of the data, you should consider storing the
        results into a variable, and using that.
    
       .Example
        Get-OutlookInbox |
        where { $_.ReceivedTime -gt [datetime]”5/5/11″ -AND $_.ReceivedTime -lt `
    
        [datetime]”5/10/11″ } | sort importance
    
        Displays Subject, ReceivedTime, Importance, SenderName for all InBox items that
        are in InBox between 5/5/11 and 5/10/11 and sorts by importance of the email.
    
       .Example
        Get-OutlookInbox | Group-Object -Property SenderName | sort-Object Count
    
        Displays Count, SenderName and grouping information for all InBox items. The most
        frequently used contacts appear at bottom of list.
    
       .Example
        $InBox = Get-OutlookInbox
    
        Stores Outlook InBox items into the $InBox variable for further
        “offline” processing.
    
       .Example
        ($InBox | Measure-Object).count
    
        Displays the number of messages in InBox Items
    
       .Example
        $InBox | where { $_.subject -match ‘2011 Scripting Games’ } |
        sort ReceivedTime -Descending | select subject, ReceivedTime -last 5
        Uses $InBox variable (previously created) and searches subject field
        for the string ‘2011 Scripting Games’ it then sorts by the date InBox.
        This sort is descending which puts the oldest messages at bottom of list.
        The Select-Object cmdlet is then used to choose only the subject and ReceivedTime
        properties and then only the last five messages are displayed. These last
        five messages are the five oldest messages that meet the string.
    
       .Notes
        NAME:  Get-OutlookInbox
        AUTHOR: ed wilson, msft
        LASTEDIT: 05/13/2011 08:36:42
        KEYWORDS: Microsoft Outlook, Office
        HSG: HSG-05-26-2011
    
       .Link
         Http://www.ScriptingGuys.com/blog
    
     #Requires -Version 2.0
    
     #>
    
     Add-type -assembly “Microsoft.Office.Interop.Outlook” | out-null
    
     $olFolders = “Microsoft.Office.Interop.Outlook.olDefaultFolders” -as [type]
    
     $outlook = new-object -comobject outlook.application
    
     $namespace = $outlook.GetNameSpace(“MAPI”)
    
     $folder = $namespace.getDefaultFolder($olFolders::olFolderInBox)
     $folder.items |
    
     Select-Object -Property Subject, ReceivedTime, Importance, SenderName
    
    } #end function Get-OutlookInbox
    

    Você deve ser um administrador no O365 para fazer isso. O Outlook no O365 não é o Exchange, assim como o Outlook na sua área de trabalho não é o Exchange. Você deve usar o Outlook COM (conforme observado acima e a seguir) para trabalhar no cliente Outlook, isso não é uma coisa para o Online.

    PowerShell recupera endereços do Outlook

    Como: Enviar e-mail do Powershell usando o Outlook

    Manipulando objetos do Outlook com Powershell

    • 2
  2. Silbee
    2020-02-10T12:00:42+08:002020-02-10T12:00:42+08:00

    Tanto quanto eu sei, não há módulo powershell padrão disponível para o Outlook, no entanto, você pode usar a API do Outlook que dá acesso ao Microsoft.Office.Interop.Outlooknamespace. Um pequeno exemplo para criar uma nova regra é o seguinte:

    Primeiro obtemos o namespace:

    Add-Type -assembly "Microsoft.Office.Interop.Outlook"
    $Outlook = New-Object -comobject Outlook.Application
    $namespace = $Outlook.GetNameSpace("MAPI")
    

    Agora especificamos a pasta de origem (Caixa de entrada), criamos uma nova regra e especificamos a pasta para a qual copiar (Notificações)

    $inbox = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
    $MyFolder1 =
      $namespace.Folders.Item('[email protected]').Folders.Item('NOTIFICATIONS')
    $rules = $namespace.DefaultStore.GetRules()
    $rule = $rules.create("My rule1: Receiving Notification",
      [Microsoft.Office.Interop.Outlook.OlRuleType]::olRuleReceive)
    
    $rule_body = $rule.Conditions.Subject
    $rule_body.Enabled = $true
    $rule_body.Text = @('Completed Notification')
    $action = $rule.Actions.CopyToFolder
    $action.enabled = $true
      [Microsoft.Office.Interop.Outlook._MoveOrCopyRuleAction].InvokeMember(
        "Folder",
        [System.Reflection.BindingFlags]::SetProperty,
        $null,
        $action,
        $MyFolder1)
    $rules.Save()
    

    Você pode encontrar mais exemplos e informações sobre como usar o namespace do Outlook no PowerShell aqui: https://docs.microsoft.com/en-us/archive/msdn-magazine/2013/march/powershell-managing-an-outlook-mailbox- com powershell

    Além disso, você pode encontrar todas as informações sobre o modelo de objeto do Outlook aqui: https://docs.microsoft.com/nl-nl/office/vba/api/overview/Outlook/object-model

    • 1

relate perguntas

  • O tipo de SPF ptr é desencorajado? Então o que devo usar?

  • Recupere o URL de reunião do Skype ausente de um convite de reunião do Skype

  • Por que o Thunderbird não exclui completamente os e-mails?

  • Impedir salvar a senha do arquivo PST?

  • A visualização do Outlook foi alterada na pasta principal da caixa de entrada, mas não em outras

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve