Checking for expiring certificates

By Andrei Ungureanu - Last updated: Monday, February 18, 2013

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.

image

Iar mai jos puteti vedea ca obiectul generat are o proprietate numita NotAfter. Aceasta este data de expirare.

image

Good Luck!

Filed in Windows Server • Tags: ,

How to get an accurate count/list of your Domain Admins (using Powershell)

By Andrei Ungureanu - Last updated: Friday, February 15, 2013

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.

image

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:

image

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:

image

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:

image

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:

image

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.

image

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).

Filed in Active Directory, Scripting • Tags: ,

Running Android Apps on Windows

By Andrei Ungureanu - Last updated: Thursday, February 14, 2013

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:

http://www.bluestacks.com/

Instalarea nu necesita decat doua click-uri.

image

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.

image

Filed in Windows Client • Tags:

How to split the output in Powershell

By Andrei Ungureanu - Last updated: Wednesday, February 13, 2013

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

Filed in Scripting • Tags: , ,

5Nine–Hypervizor based AV

By Andrei Ungureanu - Last updated: Tuesday, February 12, 2013

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

image

Dar il puteti descarca si testa. Bineinteles daca aveti si unde.

Filed in Virtualization • Tags:

Storage Improvements in Windows 2012–ODX

By Andrei Ungureanu - Last updated: Monday, February 11, 2013

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.

image

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.

image

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

http://content.dell.com/us/en/enterprise/d/business~solutions~whitepapers~en/Documents~microsoft-offloaded-data-transfer-equallogic.pdf.aspx

Filed in Windows Server • Tags: ,

Windows 2012 Storage Pools and space reclamation

By Andrei Ungureanu - Last updated: Friday, February 8, 2013

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.

image

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

Filed in Windows Server • Tags: ,

Update-Help

By Andrei Ungureanu - Last updated: Thursday, February 7, 2013

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:

image

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.

Filed in Scripting • Tags:

Softuri de audit file change/access si nu numai

By Andrei Ungureanu - Last updated: Wednesday, February 6, 2013

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

Filed in Windows Server • Tags:

Kerberos Token Size, SID History si Powershell

By Andrei Ungureanu - Last updated: Tuesday, February 5, 2013

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/

Filed in Active Directory • Tags: ,