powershell s exchange 2007 rendszerfel gyelet
Download
Skip this Video
Download Presentation
PowerShell és Exchange 2007 rendszerfelügyelet

Loading in 2 Seconds...

play fullscreen
1 / 20

PowerShell és Exchange 2007 rendszerfelügyelet - PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on

PowerShell és Exchange 2007 rendszerfelügyelet. Fóti Marcell NetAcademia Oktatóközpont MCT, MCSE, MVP, MZ/X [email protected] A rendszer felépítésének áttekintése. Objektumorientált, .net-alapú shell, de Kis-nagybetű érzéketlen Variant változók Típushű objektumok, adatok

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' PowerShell és Exchange 2007 rendszerfelügyelet' - channery-wong


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
powershell s exchange 2007 rendszerfel gyelet

PowerShell és Exchange 2007 rendszerfelügyelet

Fóti Marcell

NetAcademia Oktatóközpont

MCT, MCSE, MVP, MZ/X

[email protected]

a rendszer fel p t s nek ttekint se
A rendszer felépítésének áttekintése
  • Objektumorientált, .net-alapú shell, de
    • Kis-nagybetű érzéketlen
    • Variant változók
    • Típushű objektumok, adatok
  • Command és Expression mód
  • Minden adat – collection
  • Távoli futtatás egyelőre nincs
  • Parancssor és PS-Analyzer
  • .PS1 fájlok
a parancsok szintaxisa
A parancsok szintaxisa
  • Ige-főnév
    • Get-Process, Get-Childitem, Get-Help
    • Stop-Service, Set-Location
  • A paramétereket mindig a shell dolgozza fel
    • Egységes formátum
    • Ha saját parancsot írunk, nem kell paraméterfeldolgozással bíbelődni
  • Wildcard-ready: *, ?, []
  • Utasítás-zárójel: {}
  • Expression Mode: ()
  • Változók: $alma, $_
  • Egy sorban több parancs: ;
  • Konstansok (1kb, 2mb, 3gb)
  • Pipe: |
a help haszn lata aliasok psdrive ok
A help használata, aliasok,  PSDrive-ok
  • Get-Help (-e)
    • Parancsok, Aliasok, Helpek, Providerek
  • Get-Command (get-command | group noun)
    • Parancsok, Aliasok, függvények, alkalmazások
  • Get-Member (get-date | get-member) („asda”.Substring())
    • A lekérdezett objektumok összes metódusa és tulajdonsága
  • Get-PSDrive
    • Az összes provider, amit be lehet járni DIR-DURR
  • DIR Alias:
    • Kétbetűs aliasok (Set-Location, SL; Stop Process, SP)
    • SQL-jellegű aliasok (SELECT, WHERE)
    • Kompatibilitási aliasok (DIR, LS, CD)
navig ci
Navigáció
  • Set-Location (CD)
    • Set-Location C:
    • CD HKLM:
    • SL Cert:
    • CHDIR Env:
  • Get-Childitem (DIR)
    • LS, DIR, GCI
munka objektumcsoportokkal collection
Munka objektumcsoportokkal (collection)
  • Minden parancs objektumhalmazokkal dolgozik
    • 1, 2, 3, 4
  • A halmazok tetszőleges és vegyes típusú elemeket tartalmaznak
    • Get-Childitemnél fájlok+könyvtárak vegyesen
    • Dir ; 1, 2, 3, 4
  • A halmaz egyes elemeit Foreach-Object-tel lehet egyesével kezelni
  • foreach {$_}
    • $_ a halmaz aktuális eleme (1..5 | foreach {“blabla$_"})
    • dir | foreach {$_.LastAccessTime - $_.LastWriteTime}
munka objektumkupacokkal
Munka objektumkupacokkal
  • Select-Object
    • Oszlopok kiválogatása (kivéve –first, -last)
  • Where-Object
    • Sorok kiválogatása {$_}
  • Sort-Object
    • Sorbarendezés
  • Összetett műveletek
    • Az öt legnagyobb olyan fájl, amit 2007-ben módosítottak
  • Group-Object
    • Tetszőleges property alapján
  • Measure-Object
    • Statisztika
nyal nks gok
Nyalánkságok
  • Fájlkezelés
    • Get-content, set-content
  • .net objektumok statikus metódusainak meghívása
    • [névtér]::Metódus()
  • WMI-objektumok megszólítása
    • Get-wmiobject
  • PowerGadgets
exchange task model
Exchange “Task Model”
  • A cél a rendszergazdai feladatok egyszerűsítése
    • A „Task Model” a felügyeleti funkciók logikus csoportosítása
  • A „task” vagy feladat egy elemi műveletet jelent (pl. move a mailbox)
  • A feladatokat négy csoportba soroljuk:
    • Recipient management tasks
    • Organization management tasks
    • Server management tasks
    • Diagnostic Tasks
  • A feladatok tovább vannak bontva szerverszerepek és funkciók szerint
    • Roles: Edge/Hub Transport, CAS, Mailbox, UM
    • Features: AntiSpam, Managed Email, Transport, Rules etc.
mihez van cmdlet
Mihez van Cmdlet?
  • Az összesen 375 cmdlet teljesen lefeldi az Exchange 2007 rendszerfelügyeletét
    • Kivételek: külső termékek által nyújtott szolgáltatások (IIS, ADUC) és néhány őskövület.
  • Recipient management
    • Distribution group, DDG, Mailboxes, mail-enabled contacts, users, Mailbox Policies, Email Address Policies
  • Organization settings
    • Transport Rules, Journaling, Routing, Filtering, Managed Folders, Address Lists, OAB, Anti-Spam, ActiveSync, UM
  • Server settings
    • Storage group, mailbox and public folder databases, LCR / HA, Virtual directories, SMTP connectors, POP, IMAP
  • Diagnostics
    • Queue management, test server health, connectivity, BPA
slide13
Súgórendszer
  • A help parancs segít a cmdletek és kategóriák felderítésében

Get-help *User* Get-help -role *UM*Get-help –component *recipient*

  • További részletek...

Get-mailbox -? | more Help remove-storagegroup

  • Lássuk, mit is adnak vissza az egyes parancsok?

Get-Mailbox TestUser | format-list Get-Mailbox TestUser | fl *quota*

  • A get-member a rendszergazda második (vagy a harmadik?) legjobb barátja

Get-storagegroupTestSG | get-member

t rgyak azonos t sa
„Tárgyak” azonosítása
  • Az összes objektum egyedi azonosítóval (Identity) rendelkezik (név, GUID vagy DN)
  • Két objektumcsoport van:
    • Singleton: egypéldányos jószágok
    • Multiple instance: jószág-csokrok, ahol az azonosító tesz különbséget
  • Az “Identity” az objektum létrehozásakor kap értéket

new-StorageGroup -name SG1 -server SERVER1

  • Innentől az Identityjével „találjuk fejbe”

set-StorageGroup SG1 -param1 arg1

  • Az Identityk láncából „útvonal” képezhető
    • URL: “ftp://server/container/resource.exe”
    • Identity: “container\resource1\resource2…”

get-MailboxDatabase “Mailbox Store”get-Mailbox redmond\evandremove-AddressList AddressList1\AddressList2

    • Így aztán nem kell állandóan a tartománynévre és egyéb irreleváns adatokra hivatkozni!
    • Ha valakinek az „kényelmes”, az Identitytmegadhatja GUID vagy DN formátumban is
keres s
Keresés
  • Egy parancs általában visszaadja az összes objektumot, ezt a listát szűrhetjük (kliens):

Get-TransportServer | where { $_.MessageTrackingEnabled –eq $false }

  • Dzsóker rulez

Get-Mailbox *joe*Get-ExchangeServer *North* Get-SendConnector *.hp.com

  • Egyes parancsok szerveroldali szűréssel is rendelkeznek

Get-Mailbox -filter { DisplayName -like ‘*Test*’ }

pipelining cs vez s
Pipelining (csövezés)
  • Egyszerre egy sereg objektum feldolgozása

get-StorageGroup | set-StorageGroup -param1 arg1 -param2 arg2

  • Ugyanazon főnéven belül a csövezés mindig működik (cmd1 | cmd2)

Get-Mailbox redmond\evand | remove-mailbox

  • ... és néha a szavakon túl is...

Get-Mailbox redmond\evand | Test-MapiConnectivity

  • Ha nem megy a csövezés, használj “ForEach” parancsot!

Get-ExchangeServer | foreach { get-Storagegroup –server $_.Name }

balesetmegel z s
Balesetmegelőzés
  • Viselj világítós mellényt!
  • Használd a whatif, confirm, verbose kapcsolókat!
    • Az összes cmdlets (a get-* kivételével)tudja a –whatif-et
    • A „gyilkos” parancsok mindig kérdeznek!
  • Hibás/félresikerült objektumok kezelése:
    • Ha „hibás”, üzenetet kapunk
    • …ezt akár kódból mi magunk is ellenőrizhetjük

$object = Get-ELCMailboxPolicy ELCp1

if ( $object.IsValid –eq $false )

{

$whatsWrong = $object.Validate()

$whatsWrong | select-object

InvalidData,Description,PropertyDefinition

}

    • A set-* cmdletekkel gyógyítunk

$fixedObject | Set-ManagedFolder

n h ny egyszer p lda
Néhány „egyszerű” példa
  • Hát lássuk, értelmezzük!
    • Get-Mailbox -server E12admin | foreach { get-MailboxDatabase $_.Database } | group Name
    • 1..5 | foreach { new-storagegroup -name (“SG $_”) -server E12admin | new-mailboxdatabase “MB” }
    • Get-DistributionGroupnewEmployees | get-DistributionGroupMember | enable-mailbox -database newDb1
    • Get-MessageTrackingLog -MessageSubject "SomeTextFromTheSubject" | Group ClientIP | Select Name | nslookup $_
exchange 2007 id g p s akkor elkezdett meredeken zuhanni a tco
Exchange 2007 időgépÉs akkor elkezdett meredeken zuhanni a TCO...

param( [string]$server = $(read-host "Target server"))

new-storagegroup Congress -server $server | out-null

new-mailboxdatabase Senate -storagegroup exadmin-mbx-02\Congress | mount-database

new-mailboxdatabase House -storagegroup exadmin-mbx-02\Congress | mount-database

write-host "Databases created"

# get top user

$mbxset = (get-mailboxstatistics -server exadmin-mbx-01| sort TotalItemCount -desc)[0..49]

$mbxset | foreach{ get-mailbox $_.LegacyDN } |

where {$_.Database -like "House*"} |

move-mailbox -targetdatabase $server\house | out-null

write-host "Representatives moved"

$mbxset | foreach{ get-mailbox $_.LegacyDN } |

where {$_.Database -like "Senate*"} |

move-mailbox -targetdatabase $server\Senate | out-null

write-host "Senators moved"

resources
Resources
  • Exchange 2007 + PowerShellWeblapok, Wiki-k, és Blogok
    • http://exchangeninjas.com
    • http://www.viveksharma.com/techlog/
    • http://www.msexchangeteam.com
    • http://blogs.technet.com/evand/
  • PowerShell Team Blog
    • http://blogs.technet.com/powershell/
ad