Jeśli pracujesz z powershell wewnątrz firmowej sieci, to zapewne od Internetu odgradza cię proxy. Proxy może wymagać uwierzytelnienia. W takim przypadku komenda Update-Help zawodzi i pozostaje korzystać z opcji -Online podczas używania komendy Get-Help, dzięki czemu help wyświetla się w przeglądarce www. Ale mamy też inne rozwiązanie. Załóżmy przez chwilę, że chcesz pobrać plik dostępny […]
Archiwum dla kategorii ‘Power Shell’
Powershell: Update-Help nie działa przez authenticated proxy
Powershell: Dodawanie elementów do listy kończy się błędem „Rozmiar kolekcji jest stały.”
Załóżmy, że chcesz mieć listę wartości i dynamicznie dodawać do niej elementy: $list = @(„a”,”b”) $list.Add(„c”) Niestety, próba dodania elementu kończy się błędem: Exception calling „Add” with „1” argument(s): „Rozmiar kolekcji jest stały.” At line:1 char:1 + $list.Add(„a”) + ~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : NotSupportedException Wszystko dlatego, że lista […]
Powershell: Weryfikacja parametru z wykorzystaniem wyrażeń regularnych
W Powershell można weryfikować, czy napis „pasuje” do wyrażenia regularnego korzystając z typu [regex] oraz jego metody IsMatch. Z drugiej strony, definiując parametry funkcji możesz weryfikować poprawność parametru korzystając z ValidateScript. Jak sprawdzić, czy parametr przychodzący do funkcji jest zgodny z wyrażeniem regularnym? Oto propozycja: Parametrem jest $phone, który ma być numerem telefonu rozpoczynającym się […]
Powershell: FileVersion zwracany przez Windows Explorer jest inny niż przez powershell!
Polecenie: Get-Item C:\windows\system32\vbscript.dll | select -expand VersionInfo | select ProductVersion zwraca: ProductVersion ————– 5.8.7601.16978 Tymczasem eksplorator plików we właściwościach pokazuje: Kto ma rację!? Tym bardziej, że czasami (dla większości plików) obie wersje się zgadzają!
Problem z datą podczas wywoływania zapytań WMI
Aplikacja .NET C# powinna przeczytać i wyfiltrować zdarzenia z EventLog systemu lokalnego i zdalnego. Pomysł prosty, może można lepiej, ale składam zapytanie WMI, które następnie jest uruchamiane przez System.Management.ManagementObjectSearcher. Wygląda to mniej więcej tak (daty i inne wartości filtra zostawiam celowo „na sztywno”): scope = new ManagementScope(„\\\\”+serverName+”\\root\\cimv2”); scope.Connect(); query = „Select * from Win32_NTLogEvent Where Logfile […]
Powershell: stronicowanie wyniku (more)
Wykonujesz polecenie, a tu fiuuuu, wszystko przeleciało przez ekran. Wolałbyś żeby wyniki pokazywane były partiami, po jednym ekranie, a np. po naciśnięciu SPACE ładował się kolejny ekran. Zastosuj Get-process | Out-Host -Paging Po wyświetleniu pierwszego ekranu otrzymasz prompt: No ale…. czasami możesz też dostać błąd: out-lineoutput : Metoda lub operacja nie jest zaimplementowana. […]
Powershell: Dodanie numeru wiersza po Sort-Object (ROW_NUMBER)
Polecenie Sort-Object układa obiekty przyjęte z poprzedniego polecenia w zadanej kolejności, np. Get-Process | Sort -property CPU -Desc sortuje procesy umieszczając na początku te, które najbardziej obciążyły procesor. Jednak co zrobić, aby zwracane pozycje miały dodatkowo numer wiersza (proces najbardziej obciążający CPU numer 1, kolejny numer 2 itd.)? Rozwiązanie 1 $i=0 Get-Process | sort -Property […]