Utveksle postkassestatistikk: En PowerShell-primer

PowerShell er gode ting og kan virkelig effektivisere en Exchange-administrator-plikter. Fra å samle enkle opplysninger til å automatisere rutineoppgaver, bør PowerShell betraktes som et av Microsofts kronjuveler.

I denne artikkelen skal vi undersøke Get-MailboxStatistics cmdlet og bruke den som en måte å demonstrere noen grunnleggende PowerShell-strukturer.

Get-MailboxStatistics

Denne cmdleten er en grunnleggende byggestein når det gjelder å samle informasjon om Exchange-postbokser. Cmdleten returnerer massevis av informasjon, og kan også brukes til å bestemme forrige gang en postkasse ble åpnet og hente en historie med postkassebevegelser mellom servere eller databaser.

Du kan ikke bruke Get-MailboxStatistics bare ved å skrive det på en PowerShell-ledetekst. Du må gi det minst en av tre parametere:

  • Database. Når du spesifiserer en database, returneres alle postkassene for den databasen. Hvis du har mange postkasser, kan dette resultere i mye informasjon. Hvis databasenavnet ditt har mellomrom, må du huske å legge ved databasenavnet i anførselstegn.
  • Identitet. Bruk parameteren Identitet for å returnere resultatene fra en enkelt postkasse.
  • Server. Du kan bruke Server-parameteren for å få cmdlet til å returnere alle postkassene som er til stede på den spesifiserte serveren. Igjen, kan dette føre til at en hel del informasjon blir returnert.

Det er et par andre parametere som kan være nyttige, avhengig av dine behov:

  • Arkiv. Hvis du spesifiserer denne parameteren, kan du returnere postboksstatistikk for arkivpostkassen som er tilknyttet en postkasse. Siden arkiverte e-poster fremdeles bruker diskplass, kan dette være en viktig faktor i lagringsplanleggingen.
  • IncludeMoveHistory. Postkasser kan enkelt flyttes mellom servere og databaser. Hvis du ønsker å få informasjon om flytteloggen til postkassen, bruker du denne bryteren.
  • IncludeMoveReport. Denne bryteren spesifiserer om en detaljert flytterapport skal returneres for en fullført flytteforespørsel.
I figur A kan du se noen av resultatene fra å kjøre Get-MailboxStatistics cmdlet mot en eksisterende database. Merk at dette er en eksempeldatabase, så det er ikke mye der. Når det er sagt, kan du se antall elementer i hver postkasse, få et øyeblikkelig informasjon om hvorvidt postkassestørrelsen er innenfor grenser eller ikke, og se på sist gang postkassen ble åpnet. Et merke av forsiktighet: Vær litt forsiktig med å bruke denne sist nåværende datoen som bevis for for mye; noen sikkerhetskopieringsverktøy får tilgang til postboksen på en slik måte at en vanlig sikkerhetskopi vil føre til at denne datoen blir endret.

Figur A

En første titt på Get-MailboxStatistics cmdlet (klikk på skjermbilder for å forstørre)
Hvis du er skuffet over den lune mengden informasjon som ble returnert, ikke vær. Visningen du ser i figur A er en tabellvisning av informasjonen som returneres fra cmdleten. En listevisning er en annen PowerShell-visning som viser mye mer informasjon. La oss for sunnhets skyld hente informasjonen fra bare en enkelt postkasse denne gangen og returnere resultatene i en listevisning ved hjelp av følgende kommando:
 Get-MailboxStatistics -identity administrator | fl 

Figur B viser resultatene av denne kommandoen.

Figur B

En listevisning fra cmdleten Get-MailboxStatistics

Som du ser i dette resultatet, returneres en fullstendig titt på postkassestatistikken denne gangen. Mye mer informasjon, inkludert varetelling, siste pålogging og logg-tid, og servernavn er inkludert.

Bruke de enkelte elementene

Å kunne se denne informasjonen er vel og bra, men la oss se på noen grunnleggende om PowerShell. Hvordan kan du gjøre bruk av de enkelte elementene som er returnert i listevisningen? Hvordan kunne du for eksempel få tilgang til ett enkelt element?

Det er et par forskjellige måter, faktisk. Først av alt, kan du overføre til fl-filteret en liste over feltene du vil se (dvs. Get-MailboxStatistics -identity administrator | fl displayname, servername, storagelimitstatus vil returnere informasjonen vist i figur C).

Figur C

Returner bare feltene du ønsker

Igjen, dette er bra, men gir deg fortsatt ikke en måte å få tilgang til et enkelt element å bruke i for eksempel beregninger.

Den enkleste måten å gjøre det å lage postboksstatistikken på er å opprette en variabel der du kan holde de returnerte verdiene og deretter få tilgang til disse verdiene ved hjelp av PowerShells originale funksjoner.

Her er et eksempel:

 # Tildel administratorens postboksstatistikk til en variabel 
 $ mailboxinfo = Get-MailboxStatistics -identity administrator 

Hvis du bare skriver $ mailboxinfo ved en PowerShell-ledetekst.

Her er resultatene.

Figur D

Variabelen har nå administratorens postboksstatistikk.

Med informasjonen i denne variabelen er hvert av elementene du så før nå en egenskap til den variabelen og kan nås direkte og brukes i beregninger. Prøv følgende kommandoer og se hva du får:

 $ mailboxinfo.displayname 
 $ mailboxinfo.AssociatedItemCount * 5 
 IF ($ mailboxinfo.isarchivemailbox) {"Mailbox is a archive mailbox"} else {"Mailbox is not a archive mailbox"} 

Her er resultatene jeg får kjørt disse kommandoene.

Figur E

Bruke de enkelte elementene direkte

Den første kommandoen viser ganske enkelt navnet på kontoen som holdes i variabelen. I det andre har jeg demonstrert at du kan bruke et av de variable elementene i matematiske beregninger. For den tredje kommandoen, må du merke at jeg har brukt et annet element i den nyopprettede variabelen for å ta en beslutning om hva jeg skal gjøre videre. Det er et enkelt IF-utsagn, men demonstrerer at du kan bruke variable elementer for å dirigere programmeringsflyt.

Sammendrag

Du har lært hvordan Get-MailboxStatistics kan brukes på noen få forskjellige måter, og du har også blitt introdusert for forskjellige måter å samle informasjon på og deretter bruke de enkelte elementene til andre skriptingsformål.

© Copyright 2021 | pepebotifarra.com