Checking for expiring certificates
Cum mai nou Powershell mi se pare din ce in ce mai simplu, incerc sa imi migrez mai toate task-urile catre Powershell. Si cum astazi cautam cum sa gasesc data de expirare a certificatelor instalate pe o masina via Vbscript si mi s-a parut ingrozitor de complicat am zis sa caut ceva legat de Powershell.
Si bineinteles ca in Powershell se poate face foarte simplu (cu putin ajutor extern .Net). Cum solutia este deja descrisa aici http://blogs.technet.com/b/heyscriptingguy/archive/2011/02/16/use-powershell-and-net-to-find-expired-certificates.aspx nu o sa mai stau eu sa scriu un articol pe tema asta ci doar o sa va spun ca functioneaza.
Atentie la StoreName (le gasiti descrise in articolul de mai sus) si la LocalMachine si CurrentUser.
Iar mai jos puteti vedea ca obiectul generat are o proprietate numita NotAfter. Aceasta este data de expirare.
Good Luck!
How to get an accurate count/list of your Domain Admins (using Powershell)
De multe ori ne punem intrebarea cine are drepturi administrative pe domeniul nostru. Si cel mai simplu raspuns e ca membrii din grupurile de admini sunt administratorii. In special cei ce fac parte din grupurile urmatoare:
Administrators
Domain Admins
Enterprise Admins
Schema Admins
Nota: Un rogue admin se poate ascunde si poate sta in hibernare si fara sa faca parte din aceste grupuri. De aceea verificati intotdeauna acl-urile de pe resursele importante, adminsdholder si cine este owner pe anumite obiecte ce e posibil sa se regaseasca in grupurile de mai sus. Acesta fiind doar un exercitiu, o sa ma limitez sa mentionez doar aceste grupuri de baza.
O metoda ar fi sa luam la mana grupurile din ADUC si sa notam cine face parte din ele.
Dar pentru o organizatie mare cu multe echipe si multe roluri lucrurile devin mai complicate. Mai ales atunci cand ai grupuri ce fac parte din aceste grupuri critice. Stiu, sfatul este sa nu adaugati grupuri pentru ca sunt greu de urmarit si controlat insa cateodata nu aveti de ales.
Solutia propusa vine via Powershell. Pe vremuri tot lucram cu vbscript si ca sa faci task-ul asta corect era nevoie de foarte multe linii de cod. In Powershell nu mai este asa si totul se rezolva chiar banal as spune.
Importand modulul ActiveDirectory folosind comanda Import-Module ActiveDirectory avem acces la cmdlet-ul Get-ADGroupMember:
Output-ul nu arata foarte grozav pentru cineva care nu este familiar cu Powershell insa poate fi “manevrat” foarte usor. Important este ca mai sus avem un group in grupul Domain Admins. Iar problema asta o rezolvam cu parametrul –recursive:
Si in felul acest vom vedea membrii grupului care face parte din Domain Admins. Iar pentru a face output-ul mai simplu de citit putem selecta doar anumite valori si trimite totul catre Format-Table:
Dar exista situatii cand userii fac parte direct din mai multe grupuri de au drept de admin la nivel de domeniu si asta poate genera duplicate in astfel de interogari – atunci cand concatenam membrii grupurilor descrise mai sus. Iar mai jos o sa dau ca exemplu cum putem culege rezultatele din amble grupuri Administrators si Domain Admins:
Se pot observa deja duplicatele, insa fiti foarte atenti, nu toate conturile de adminstrator sunt identice. Am rulat script-ul intr-un subdomeniu si prin grupul Enterprise Admins am ajuns sa am in lista si contul de Administrator din domeniul root. Deci vor trebui filtrate dupa altceva in afara de nume. Poate fi SID, GUID sau DN. In exemplul de mai jos am filtrat folosind DN-ul.
Am selectat doar valorile dorite folosind Select-Object –si am scos obiectele unice folosind Sort-Object cu parametrul –Unique.
Modelul de mai sus il puteti extinde pentru a include si celelalte grupuri pe care nu le-am mai adaugat la sfarsitul exemplului.
Sper sa va fie de folos!
PS: Probabil acelasi rezultat se poate obtine si folosind Quest AD Cmdlets (pentru cei ce inca sunt pe Windows 2003).
Running Android Apps on Windows
Chiar ma intrebam de ceva timp daca se pot rula cumva aplicatiile de Android pe Windows. Si uite ca am descoperit un emulator care functioneaza. Se numeste BlueStacks App Player si il puteti downloada de aici:
Instalarea nu necesita decat doua click-uri.
Dupa asta puteti sa va instalati aplicatiile dorite. Nu uitati sa va setati contul de google pentru access pe Google Play iar in caz ca intampinati erori la download-ul unei aplicatii, deschideti unul din celelalte App Store-uri disponibile, cautati aplicatia acolo si dupa aceea deschideti-o cu Google Play.
How to split the output in Powershell
Lucrand la un proiect in Powershell am mai descoperit si eu cateva trucuri ce merita sa le impart cu voi.
Un lucru de care ma tot loveam la scripturile mele in Powershell era ca vroiam sa afisez rezultatul unei variabile sau a unei comenzi in doua locuri, si pe ecran dar si intr-un log file. Si de obicei ajungeam sa fac doua task-uri, unul de a trimite output-ul catre ecran si unul catre log file.
Dar am aflat ca se poate si mai simplu, folosind Tee-Object. In exemplul de mai jos:
Get-Process | Tee-Object -file c:\scripts\test.txt
Output-ul de la Get-Process este trimis prin pipeline catre Tee-Object care il trimite catre fisierul test.txt si il va afisa si pe ecran.
Cand Tee-Object este ultima comanda atunci output-ul este afisat si pe ecran, altfel il va trimite via pipeline catre urmatoarea comanda pentru a fi prelucrat.
http://technet.microsoft.com/en-us/library/ee177014.aspx
5Nine–Hypervizor based AV
Daca pe Vmware solutiile de security la nivel de hypervizor erau ceva normal, pe Hyper-V nu am vazut nimic pana in momentul acesta. Prima solutie se pare ca este de la 5Nine si ofera functionalitati de Malware scanning, Virtual Firewall si IDS.
Solutia este destul de noua si mai mult decat un whitepaper disponibil la adresa urmatoare nu am reusit sa gasesc.
http://www.5nine.com/Docs/5nine_Security_Manager_White_Paper.pdf
Dar il puteti descarca si testa. Bineinteles daca aveti si unde.
Storage Improvements in Windows 2012–ODX
Tineti minte cum Vmware avea o tehnologie super cool numita VAAI ce permitea ca transferurile de date (migrari de masini virtuale de exemplu) sa se faca la nivelul storage-ului fara ca datele sa mai treaca prin memoria host-ului sau peste retea.
Incepand cu Windows 2012 MS a pus la punct un protocol numit ODX (Offloaded Data Transfers) care face cam exact acelasi lucru cu VAAI. Si va pot spune ca Dell Equalogic deja suporta ODX.
Mai jos aveti o reprezentare simpla a transferului de date intre doua sisteme fara a folosi tehnologia ODX.
Iar acum puteti vedea ce se intampla cand se foloseste ODX. Practic toata copierea o face storage-ul fara a implica resursele host-ului. Iar asta se poate traduce cateodata in viteze de transfer incredibile.
Toata tehnologia a fost integrata cu API-urile normale de copiere din Windows asa ca nu trebuie sa faceti nimic special pentru a folosi ODX (evident trebuie sa folositi Windows 2012 si storage compatibil ODX), sistemul de operare va detecta automat daca storage-ul suporta ODX si il va folosi automat.
http://msdn.microsoft.com/en-us/library/windows/hardware/jj248724.aspx
Windows 2012 Storage Pools and space reclamation
Sunt inca in perioada in care ma joc cu Windows Server 2012 si incerc sa descopar cum functioneaza anumite “chestii”. Si cum inca mai am masinile de test folosite pentru storage pools m-am gandit sa incerc ceva.
Citisem despre ceva integrare intre NTFS, ReFS si Storage Pools in modul ca in momentul in cate stergi ceva din filesystem acesta va sti sa trimita comenzi TRIM/UNMAP pentru a informa sistemul de stocare ca spatiul respectiv sa eliberat.
Am facut cateva teste si se pare ca functioneaza. Imediat cum am sters ceva de pe volumele de pe storage pool, valoarea Free Space a fost actualizata cu aproximativ volumul de date sters.
Nu intotdeauna spatiul liber va fi actualizat cu volumul de date sters dar puteti folosi cmdlet-ul Optimize-Volume cu parametri –ReTrim si –SlabConsolidate.
Detalii aici: http://technet.microsoft.com/en-us/library/hh848675.aspx
Update-Help
Am remarcat ca in Windows 2012 nu toate cmdlet-urile aveau help-ul complet.
Ruland comanda Update-Help pe un server conectat la internet, va downloada si va actualiza help-ul pentru modulele instalate pe sistem:
Cred ca ar fi bine ca dupa orice instalare de Windows 2012 sa rulati un update-help . Cand lucrezi cu Powershell help-ul este foarte util si e bine sa-l ai la indemana.
Softuri de audit file change/access si nu numai
Pentru ca de curand m-am uitat putin pe solutiile de auditat accesul la file servere pun mai jos o lista ce poate fi utila pentru cei ce cauta asa ceva. Majoritatea producatorilor de mai jos ofera si audit de AD si alte aplicatii.
http://www.blackbird-group.com/products/blackbird-auditor-for-file-system
http://www.quest.com/changeauditor-for-windows-file-servers/
http://www.manageengine.com/products/active-directory-audit/windows-file-server-auditing.html
http://www.netwrix.com/file_server_auditing_change_reporting_freeware.html
http://www.netvision.com/prod_nvm.php
Kerberos Token Size, SID History si Powershell
Cautand ceva pe net legat de Kerberos am dat de un subiect destul de popular si pe care nu l-am atins pe Winadmin. Si anume “Kerberos Token Bloat”. Fenomenul asta apare atunci cand ticketul Kerberos este prea mare si devine fragmentat la nivel de retea. Nu o sa intru acum in detalii, poate pe viitor, insa cauzele unui ticket kerberos prea mare sunt de regula apartenenta la prea multe grupuri, optiunea trusted for delegation, sau SID History.
Cum primele doua cauze sunt simplu de detectat nu la fel se intampla cu SID History care ramane de multe ori ignorat dupa ce userul a fost migrat in alt domeniu/forest.
Mai jos am pus cateva resurse foarte interesante care va ajuta sa detectati si sa faceti remove la SID History folosind Powershell. Atentie mare si nu rulati nimic pana nu intelegeti exact ce fac acele comenzi.
http://technet.microsoft.com/en-us/library/powershell_remove_sid_history(WS.10).aspx
Iar mai jos este link-ul catre blog-ul lui Ashley McGlone ce are o colectie interesanta de articole pe aceasta tema plus un super modul Powershell ce va ajuta sa lucrati cu SIDHistory (inclusiv conversii, exporturi, etc)
http://blogs.technet.com/b/ashleymcglone/archive/tags/sid+history/