muszę to sobie zapisać, bo to prościutkie zadanie po raz eNty zabiera mi czas.. [“myśl inaczej, myśl inaczej…”]

zadanie proste: odczytać wartości z pliq textowego i coś z nimi zrobić – w najłatwiejszej postaci wypisać na ekran, czyli musi to być string. najlogiczniejszą strukturą jaka mi przychodzi zawsze do głowy jest:

Get-Content .text.file | echo $_

co przysparza mi masę problemów ponieważ dla każdej odczytanej wartości dostaję piękny komunikat błędu. następnym krokiem była próba skonwertowania otrzymanej wartości na String.. no i to jest właśnie złe myślenie – ponieważ to, co jest przepipowane [LOL może przepajpowane? (; ] to obiekt listy – a nie kolejne wartości. w związq z tym zamiast robić operacje na otrzymanej zmiennej ($_) trzeba zrobić dla niej enumerację:

Get-Content .text.file | %{echo $_}

no… teraz w końcu zapamiętam q:

ps. pełne zadanie: plik z nazwiskiem i imieniem. otrzymać listę emaili:


PS P:> Get-Content .USERS.txt | %{dsquery user "OU=AA,OU=BBB,DC=DOMAIN,DC=local" -scope subtree -name "$_"} | %{ $info=dsget user "$_" -email; echo $info[1].trim()}

eN.

Spread the love

Comments (5)

  1. GT

    Odpowiedz

    A mi się nie podoba… ;)
    1. jeżeli to robisz narzędziami cmd, to po co get-content i powershell? “for /f” byłoby równie dobre.
    2. jeżeli powershell, to czemu dsquery/dsget zamiast sięgać prosto do AD? No i czemu echo zamiast poprawnego politycznie Write-Output?

  2. Odpowiedz

    pedant q: nie for /f bo trzeba sie uczyc. dsadd bo po to sa narzedzia zeby z nich kozystac (: idea bylo 5min solution

  3. Odpowiedz

    @jnx: wiele roznych mozliwych opcji (: jest kilka wersji odpowiedzi, wszystkie prawdziwe – jak tak cie to intryguje to na priv mozemy pogadac q:

Pozostaw odpowiedź kaarol Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.