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.

Slides:



Advertisements
Hasonló előadás
1. foreach( fejlesztő in Lurdyház ) { fejlesztő.Agy. Delete If( delegate ( Content c ) { return c.ContainsAny( „Win32 / User32.dll”, „GDI”,„GDI+”,„WindowsForms”,
Advertisements

IP addressing Számítógép networkok gyakorlata ÓBUDAI EGYETEM 2011 TAVASZI FÉLÉV 3. LABORGYAKORLAT PRÉM DÁNIEL.
Windows Server ablakok nélkül
Quest Szakmai Konferencia Ker-Soft Kft szeptember 27.
Tester Developer Architect Project Manager Business Analyst Designer Database Professional.
Nyereményjátékok és a Facebook - aki mer, az nyer!?”
Client Access Server. Autodiscovery service Availability service (EWS) Offline Address Book (OAB) service Activesync service Outlook Web Access Public.
Mailbox Server szerepkör - alapozás
Richter Elek Technikai terméktámogatási felelős Microsoft Magyarország.
2 3 4 Connection DataReader Command MapConnection MapCommand MapDataReader Store Providers (e.g. SqlClient) Mapping provider Adattár (pl. SQL Server)
2 3.NET Framework 3.0 Visual Studio Extensions for WF Visual Studio Extensions for WCF/WPF CTP ASP.NET AJAX 1.0 Ajax Toolkit.NET Framework 3.5 Visual.
21 Years of Partnership and Innovation 1989 Citrix Systems founded 2010 Citrix signed licensing agreement with Microsoft for NT Server Introduced Independent.
2 8 Kiadás éve / Platform Server (1000’s of users) Workgroup (Dozens of users) Desktop (Single User) Laptop Tablet PC Windows CE.
System Statistical Functions. CPU Tesztelése SELECT AS busy Vissza adja milliszekundumban, mennyi időt töltött munkával a szerverünk indítás.
IT-DEV-CON – Adatkezelés a felhőben Windows Phone 7 alkalmazással Tóth László
Bevezetés a tárgyakhoz Tárgyak  Objects are the containers for values of a specified type  Objects are either signals, variables or constants  Once.
Az előd – IIS 6 2 Forrás: Secunia, Forrás: Netcraft, August 2007 Web Server Survey Elterjedtség.
Szkriptelés alapok (PowerShell)
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szkriptelés alapok (PowerShell) Micskei Zoltán Intelligens.
Socket programozás Példák
Neo4j bevezető Rácz Gábor
Image készítés Windows AIK segítségével
TRANZIENS ADATTÁROLÁS State objektum Egy alkalmazásszintű gyűjtemény (Dictionary), mely Tombstone esetén megőrzi tartalmát a memóriában kulcs/érték párokként.
Windows PowerShell. Mi a PowerShell? Új Windows parancssor, melyet rendszer- adminisztrátorok számára terveztek. Ingyenes. A.NET FrameWork 2.0-s verzióján.
Adatbáziskezelés Horváth Ernő 1. Elérhetőségek Kiss Jenő Horváth Ernő Tanszéki honlap
SQL – OLAP 8. óra.
Delegátumok C#-ban Krizsán Zoltán iit 1.0.
Hogyan (mivel és mit) naplózzunk?
Exchange kiszolgálók védelme Data Protection Manager 2007-tel – 1. rész Leltár - Újdonságok az Exchange 2007 SP1-ben Exchange kiszolgálók védelme Data.
SzerepkörökArchitektúraTelepítésÁttérésMigrálás.
File Classification Infrastructure
Könnyen,gyorsan Powershell-ül
Természetesen P = Q = O esetén O + O = O. Tetszőleges, nem 2, vagy 3 karakterisztikájú test esetén hasonló módon eljárva E(K)-n zárt műveletet.
Module 2: A Windows XP Professional automatikus telepítése
VFP xBase adatkezelés - munkaterületek - DML - DDL - navigáció - eljárások, függvények - vezérlési szerkezetek - változók - képernyő IO - mintaprogram.
PHP VI Adatbázisok, MySQL
PHP V Osztályok, Objektumok. Osztály class Person { var $name; // tulajdonság, változó function getName() { // metódus, tagfüggvény return $this->name;
Multimédiás programok készítése Macromedia Director fejlesztői környezetben 4. előadás Készítette: Kosztyán Zsolt
Service Manager.. Remedy Action Request System OpenView Operations.
DB2 DB3 DB2 DB3 DB4 DB5 Client Access Server Array Mailbox Server 1 Mailbox Server 2 Mailbox Server 3 Mailbox Server 6 Mailbox Server 4 Dallas San Jose.
FelhasználásNapi küldött/fogadott mail Adatbázis cache felhasználónként Light5 küldött/20 fogadott2 MB Average10 köldött/40 fogadott4.
„MICROSOFT IT ÜZLETI INTELLIGENCIA MEGOLDÁS BEMUTATÓ” Avagy az IT adat vizualizációs lehetőségi egyéb szervezeti egységek felé („ablak” a nagyvilágra)
Edge Transport Routing and AV/AS Enterprise Network External SMTP servers Phone system (PBX or VOIP) Client Access Client connectivity Web services.
Windows Server 2008 { PowerShell }
Exchange Transport Üzenetek továbbítása Soós Tibor – MCT, MVP
„MICROSOFT SYSTEM CENTER 2012 OPERATIONS MANAGER” Intelligens mérési megoldások gyorsan Benkovics Viktor Vezető tanácsadó Microsoft Magyarország – Services.
Alertet indíthat egy: SQL Server esemény (LOG) SQL Server performancia érték WMI events Alert végezhet: Operátor értesítést JOB indítás (válasz az eseményre)
Kitűnjünk a tömegből Meg tudjuk mutatni, hogy értünk hozzá Jobb munkalehetőségek Magasabb fizetés Nemzetközi szinten is elismert Ismeretek bővítése.
Exchange Server 2007 Client Access Role
Stratégiai szerepkör, üzleti folyamatok szerves részévé vált az IT Növekvő elvárások a szolgáltatással szemben Komplexebb rendszerek, globalizációs irányok,
WAP, WML Felhasznált források: Developer’s Guide v1.2 (Nokia WAP Toolkit) WML Reference v1.1.
Gincsai Gábor Dávid Zoltán MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási.
Azure Storage BLOBS + CDN TablesQueuesDrives SQL AzureOData.
Szervező program Pénzügy figyelő, számlázó program Legújabb alkalmazás.NET Framework 2.0 WSE.NET Framework 4.0 WCF Régebbi, jól bevált alkalmazás.
Kezelői felületek. Exchange 2000/2003 Exchange System Management (ESM) MMC konzol Exchange 2007 Exchange Management Console (EMC) MMC konzol Exchange.
Internet csatlakozás TCP/IPDNS Domain, TLD Regisztráció ISZT ( Regisztrátor
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(
Könyvtár, csomag és alprogramokVHDL Könyvtár, csomag és alprogram n Library és use n Package n Alprogramok –Procedure –Function –Resolution function Egy.
Domain names and DNS Félegyházi Márk Laboratory of Cryptography and System Security (CrySyS) Budapest University of Technology and Economics Department.
HTTP kommunikáció Androidon HttpClient-en keresztűl HttpPost/HttpGet objektum használatával HttpClient execute metódusának meghívása.
- Group Policy - Group Policy Preferences - Group Policy 4x5 - Optimális munkakörnyezet – az első lépcsőfok.
*Generic Application-level Protocol Analyzer A lyuk azonosítása Lyuk kutatás Szignatúra fejlesztés Szignatúra tesztelés A szignatúra kiadása 4 óra.
Hogyan gyorsítsunk? Scriptek és toolok használata az üzemeltetésben Kurucz György teméktámogatási tanácsadó.
© 2013, LogMeIn, Inc. | The Capability Cloud TM Git használata Visual Studio-ból.
SpecificationWebStandardEnterpriseDatacenterItaniumFoundation X64 Sockets44864  1 IA64 Sockets  64  X64 RAM32 GB 2 TB  8 GB IA64 RAM 
Web Application 1 Web Application 3 Web Application 2 Web Application 4 Shared Service Provider 1 Shared Service Provider 2 Excel Services1 Search1.
Forefront Protection 2010 for Exchange Server Biztonságos levelezés.
FelhasználásNapi küldött/fogadott mail Adatbázis cache felhasználónként Light5 küldött/20 fogadott2 MB Average10 köldött/40 fogadott4.
TECHNICAL TRAINING December 2012.
Antibiotic Drug Prescription
Előadás másolata:

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

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

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)

Set-Location (CD) Set-Location C: CD HKLM: SL Cert: CHDIR Env: Get-Childitem (DIR) LS, DIR, GCI

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 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 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 2003 (VBScript) E12 (PowerShell one-liner) Mailbox Statistics Set listExchange_Mailboxs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\COMPUTERNAME\ROOT\MicrosoftExchangeV2"). InstancesOf("Exchange_Mailbox") For Each objExchange_Mailbox in listExchange_Mailboxs WScript.echo "AssocContentCount =” + objExchange_Mailbox.AssocContentCount WScript.echo " DateDiscoveredAbsentInDS =” + objExchange_Mailbox.DateDiscoveredAbsentInDS WScript.echo " DeletedMessageSizeExtended =” + objExchange_Mailbox. DeletedMessageSizeExtended WScript.echo " LastLoggedOnUserAccount =” + objExchange_Mailbox. LastLoggedOnUserAccount WScript.echo " LastLogoffTime =” + objExchange_Mailbox. LastLogoffTime WScript.echo " LastLogonTime =” + objExchange_Mailbox. LastLogonTime WScript.echo " LegacyDN =” + objExchange_Mailbox. LegacyDN WScript.echo " MailboxDisplayName =” + objExchange_Mailbox. MailboxDisplayName WScript.echo " MailboxGUID =” + objExchange_Mailbox. MailboxGUID WScript.echo " ServerName =” + objExchange_Mailbox. ServerName WScript.echo " Size =” + objExchange_Mailbox. Size WScript.echo " StorageGroupName =” + objExchange_Mailbox. StorageGroupName WScript.echo " StorageLimitInfo =” + objExchange_Mailbox. StorageLimitInfo WScript.echo " StoreName =” + objExchange_Mailbox. StoreName WScript.echo " TotalItems =” + objExchange_Mailbox. TotalItems Next Nextget-mailboxstatistics –server $servername –server $servername Database Mgmt Dim StorGroup as New CDOEXM.StorageGroup StorGroup.DataSource.Open "LDAP://" + DCServer + "/ CN=First Storage Group,CN=InformationStore,CN=" + Server + ",CN=Servers,CN=First Administrative Group, CN=Administrative Groups,CN=First Organization, CN=Microsoft Exchange,CN=Services, CN=Configuration," + DomainName StorGroup.MoveLogFiles("C:\newlogPath", 0) move-storagegrouppath -identity “First Storage -identity “First Storage Group“ Group“ –log "C:\newlogPath” –log "C:\newlogPath” Recipient Mgmt Dim objMailbox As CDOEXM.IMailboxStore Set objMailbox = GetObject("LDAP://" + DCServer + "CN=FOO,CN=users," + DomainName) objMailbox.Creat box "LDAP://" + DCServer + "/CN=Private MDB,CN=First Storage Group,CN=InformationStore,CN=" + Server + ",CN=Servers,CN=First Administrative Group, CN=Administrative Groups,CN=First Organization, CN=Microsoft Exchange,CN=Services, CN=Configuration," + DomainName enabl box -identity domain\FOO -identity domain\FOO –database “First Storage –database “First Storage Group\Private MDB” Group\Private MDB”

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 , Transport, Rules etc.

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

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-storagegroup TestSG | get-member Súgórendszer

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\evand remove-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 Identityt megadhatja GUID vagy DN formátumban is

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*’ }

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 | remov box... é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 }

1. Viselj világítós mellényt! 2. 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 InvalidData,Description,PropertyDefinition} A set-* cmdletekkel gyógyítunk $fixedObject | Set-ManagedFolder

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-DistributionGroup newEmployees | get- DistributionGroupMember | enabl box -database newDb1 Get-MessageTrackingLog -MessageSubject "SomeTextFromTheSubject" | Group ClientIP | Select Name | nslookup $_

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*"} | mov box -targetdatabase $server\house | out-null write-host "Representatives moved" $mbxset | foreach{ get-mailbox $_.LegacyDN } | where {$_.Database -like "Senate*"} | mov box -targetdatabase $server\Senate | out-null write-host "Senators moved"

Exchange PowerShell Weblapok, Wiki-k, és Blogok PowerShell Team Blog