Archive for 'Scripting' Category

How to access a variable property inside a double-quoted string

By Andrei Ungureanu - Last updated: Tuesday, June 27, 2017

Azi m-am gandit sa explic cazul in care vrei sa folosesti proprietatea unui obiect direct in interiorul unui string. Sa luam de exemplu cazul in care stocam continutul lui Get-AdUser intr-o variabila $objUser = Get-ADUser aungureanu Iar acum vrem sa folosim o proprietate a acestui obiect in interiorul unui string. In mod normal ar trebui […]

Forcing Garbage Collector from Powershell

By Andrei Ungureanu - Last updated: Wednesday, June 14, 2017

In ultimele zile am lucrat cu ceva importuri de fisiere text fiarte mari din Powershell, iar memoria de pe statia de unde lucram era destul de limitata. Si am cam observat ca memoria folosita nu era eliberata imediat dupa ce incheiam taskurile. Dar am descoperit ca pot sa apelez manual Garbage Collector-ul din .Net folosind[GC]::Collect() […]

Process large CSV file from Powershell

By Andrei Ungureanu - Last updated: Monday, June 12, 2017

Lucrul cu fisiere mari de tip CSV in Powershell s-a dovedit a fi un cosmar de multe ori. In special datorita faptului ca folosind Import-CSV aducem tot fisierul in memorie. Si daca avem de lucru cu fisiere de cativa GB atunci putem sa crash-uim foarte usor sistemul de pe care lucram. Cautand o varianta pe […]

How to record everything you do in Powershell

By Andrei Ungureanu - Last updated: Friday, June 9, 2017

Comanda Start-Transcript poate fi folosita pentru a comanda pornirea unui transcript in sesiunea curenta powershell si este o metoda foarte buna de a loga toate actiunile pe care le faceti pe un sistem din powershell. Pornita fara nici un parametru, comanda Start-Transcript va incepe logarea tuturor comenzilor si a outputlui din sesiunea curenta intr-un fisier […]

Copy the last powershell command to clipboard

By Andrei Ungureanu - Last updated: Wednesday, June 7, 2017

Sunt situatii in care am testat o comanda in Powershell si dorim sa o copiem pentru a fi trimisa unui coleg sau pentru a fi pusa intr-un script. Iar cand este foarte lunga, a face select si copy/paste e un proces destul de lent. Solutia este sa folosim history-ul din Powershell (Get-History aka R) si […]

Check if a string is null or empty

By Andrei Ungureanu - Last updated: Tuesday, April 18, 2017

Cand lucrezi cu string-uri in Powershell de multe ori vrei sa verifici daca nu cumva string-ul este null sau contine spatii sau tab-uri. O varianta ar fi sa verifici dimensiunea lui sau sa iei fiecare caracter in parte si sa il compari. Sau exista si o varianta mai simpla, folosind o metoda .Net – IsNullOrWhiteSpace. […]

Emulate NET VIEW behaviour from Powershell

By Andrei Ungureanu - Last updated: Tuesday, February 14, 2017

Am fost pus de multe ori in situatia in care am avut nevoie sa listez share-uri de pe un sistem remote folosind un script, si cu toate ca un simplu utilizator poate face asta foarte simplu din Windows Explorer, din linie de comanda sunt foarte putine optiuni. Una dintre ele ar fi folosind NET VIEW. […]

Optimizing Powershell functions by using a filter function

By Andrei Ungureanu - Last updated: Wednesday, February 1, 2017

Cred ca cel mai bine ar fi sa incep explicand cum preia o functie input-ul ce vine prin pipeline. In mod normal o functie in powershell poate sa preia input din pipeline folosind variabila $Input. Si daca trimitem ceva prin pipeline catre functie iata ce obtinem: Pare normal, nu-i asa? Dar iata ce se intampla […]

Windows Management Framework (WMF) 5.1 Released

By Andrei Ungureanu - Last updated: Tuesday, January 24, 2017

WMF 5.1 este disponibil la download in versiunea finala. Asta inseamna ca puteti upgrada clientii vechi (W2012/W8.1/W2008R2/W7) la aceeasi versiune de Powersehll/WMI/WinRM ca si Windows Server 2016 si Windows 10 Anniversary Edition. In felul acesta puteti avea un baseline in intreaga infrastructura: https://www.microsoft.com/en-us/download/details.aspx?id=54616 Totusi instalarea nu este chiar asa directa pentru W2K8R2 si W7 (recomandat […]

Again about troubleshooting AD Powershell queries – This operation returned because the timeout period expired,Microsoft.ActiveDirectory.Management.Commands.GetADUser

By Andrei Ungureanu - Last updated: Saturday, November 19, 2016

I was previously writing about some timeouts when getting data from Active Directory using Powershell cmdlets. Another thing that usually pops up when dealing with large amounts of data in AD is a default timeout of 2 minutes for each page search. This means that the time spend by the server to retrieve a page […]