Skocz do zawartości


tablety.pl
Zdjęcie

Skrypty PowerShell




  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 26 02 2009 - 22:44

Dołączona grafikaSkrypty PowerShell




Get-ConsoleAsHtml

Jest to zwykły skrypt, ale jaki!!! Potrafi zapisać do pliku html to co robiliśmy czy robimy aktualnie w konsoli zachowując przy tym lustrzane odbicie wnętrza konsoli. Bardzo dobre do prezentacji czy dokumentacji, zamieszczenia na stronę www. Przykład: Posh.html. Testowałem na CTP3.

1



Copy-Console

Jest to również skrypt, który wykonuje lustrzaną kopie konsoli, zapisując do schowka systemowego, którą można wkleić do programu Word. Downland na dole strony.
Przykład

2



Get-ConsoleAsText

Skrypt, który zapisuje wszystkie czynności, które były wykonywane w konsoli, jako tekst do pliku txt lub dokumentu Word.
Przykład

3



Copy-Script

To kolejna wariacja. Skrypt ma za zadanie kopiować do schowka systemowego inny skrypt z edytora CTP3, zachowując w pełni strukturę koloru składni, który można wkleić np. do dokumentu Word. Skrypt utworzy nowe menu Copy Script w edytorze, które użyte skopiuje edytowany skrypt do schowka systemowego. Downland na dole strony.
Przykład 1 , przykład 2

4



Set-ClipboardScript

Skrypt, który spełnia podobne zadanie co do podanych wyżej. Funkcja kopiuje inny skrypt do schowka systemowego zachowując składnię koloru w formacie RTF lub HTML. Przykład użycia w samej konsoli:

Przykład

PS> Set-ClipboardScript.ps1 "D:\Skrypty\TwójSkrypt"

5



Start-DrawingMode

Całkowicie zapomniałem o tym skrypcie, a jest dostępny od jakiegoś czasu. Funkcja skryptu przyda się do prezentacji, umożliwia zaznaczanie "piórem" kawałka kodu z możliwością zmiany koloru, grubości lini, minimalizowania zaznaczenia, czyszczenia zaznaczenia z możliwością dalszego użycia, funkcjonalność podobna do ZoomIt, jednakże nie posiada lupy. Działa w ISE.
Przykład

6



Get-UpTime

Skrypt podaje czas startu komputera lub czas od ostatniego restartu. Prawidłowo działa w wersji konsoli CTP3.
Przykład

7



Get-SystemBootupTime

Skrypt pełni tą samą funkcję co podany wyżej, jednakże podaje dokładną godzinę startu systemu lub restartu.
Przykład

8



Get-WindowsKey

Skrypt umożliwia pobranie klucza produktu systemu Windows, który był użyty podczas instalacji systemu. Skrypt działa w systemach Windows XP, Vista x64, Windows 7 x64 oraz Windows Server 2003 i Windows Home Server. Skrypt umożliwia pobranie klucza produktu zdalnie lub lokalnie.
Przykład

9



Show-WmiClass

Jeśli chcemy znaleść konkretną klasę czy grupę i nie chce się wpisywać stosu poleceń, wystarczy użyć tego skryptu. Show-WmiClass jest to wyszukiwarka klass, można także szukać klas w innej przestrzeni nazw.
Przykład

10



Start-Colourizer

Bardzo fajny skrypt, który w czasie rzeczywistym koloruje składnię pisanego skryptu czy poleceń w konsoli.
Przykład

11



Limit-FileAge

Skrypt pozwala na filtrowanie plików po ostatniej modyfikacji co pozwala na uporządkowanie zawartości folderów i zrobienie porządku. Można filtrować po najświeższej modyfikacji pliku lub najstarszej. Dobre bo nie trzeba rozisywać poleceń, a jedynie określić próg czasowy.
-minimumage
-maximumage
Przykład

12



Convert-PowerPack2Ps1

Skrypt konwertuje pliki PowerPack , które tworzone są dla PowerGUI,poszerzające program o nowe możliwości do formatu pliku PS1 i pozwala korzystać z ich funkcji w PowerShellu. Działa w PowerShell V1 i V2, w wersji CTP3 mogą pojawić się problemy.
Przykład

13




Get-MicrosoftUpdates

Skrypt umożliwia dokłady przegląd zainstalowanych aktualizacji systemowych pobieranych z witryny WindowsUpdate poprzez usługę automatyczne aktualizacje, listuje szczegółowy opis pobranej aktualizacji, adres, itp, nie wykaże aktualizacji pobranych ręcznie, aby uzyskać pełną listę należy z poziomu wmic, użyć aliasu qfe, z poziomu PS - klasy Win32_QuickFixEngineering (alias Qfe korzysta z tej samej klasy) lub w wersji konsoli V2 jest dostępne polecenie Get-HotFix jednakże nie uzyskamy tak szczegółowego opisu aktualizacji. Do działania, wymaga uruchomionej usługi Automatyczna aktualizacja.
Przykład

14



ListSoftwareUpdates

Skrypt umożliwia przegląd aktualnie dostępnych aktualizacji dla systemu, pobieranego za pośrednictwem witryny Windows Update. Wyświetla szczegółowe informacje dla każdej aktualizacji. Do działania, wymaga uruchomionej usługi Automatyczna aktualizacja.
Przykład

15



Copy-FilePlus

Skrypt umożliwia funkcję kopiowania pliku z jednej lokalizacji do innej, wyświetlając w GUI postęp kopiowania. Wymagania: PS V2 CTP3.
Przykład 1 , przykład 2

16



Get-WMILocalTime

Skrypt umożliwia uzyskanie czasu lokalnego, wyświetla takie wartości, jak dzień w tygodniu, tydzień w miesiącu, kwartał,itp. Do skryptu można dodać np. dzień w roku - More Fun with Dates (and Times). Wymagania: PS V2 CTP3.
Przykład

17



Get-DiskFreeSpace

Skrypt umożliwia uzyskanie informacji na temat dysku, listując, takie wartości, jak: rozmiar dysku, procent zajętego miejsca, typ plików, ilość wolnego miejsca. Wymagania: PS V2 CTP3.
Przykład

18



Get-PerformanceHistory

Skrypt umożliwia listowanie historii poleceń, jakie zostały użyte w konsoli, jest zamiennikiem polecenia Get-History, jednakże wyświetla średni czas uruchomienia się polecenia Average oraz czas trwania polecenia Duration. Wersja skryptu umozliwia pracę w PS 1.0, ja testowałem w V2 CTP3. Samo użycie bez przełącznika, wykaże listing ostatniego polecenia, natomiast przełącznikiem -Count, wybieramy liczbę ostatnich użytych poleceń w historii. O rozwoju skryptu będę informował.
Przykład

19



Print-File

Całkiem fajny skrypt, który umożliwia drukowanie dokumentów Word czy Pdf oraz plików OneNote 2007, Excel 2007 z poziomu konsoli. Pozwala na rekrusywne przeszukanie wybranego katalogu i wydrukowanie całej grupy dokumentów znajdujących się w nim lub drukowanie wybranego dokumentu. Więcej na temat funkcji znajdziecie w temacie Print-File Function. Testowałem w PS V2 CTP3.

Przykład

Jak wydrukować grupe dokumentów znajdujących się w wybranym katalogu:
dir *.doc -r | print-file

Jak wydrukować wybrany dokument:
print-file c:\downloads\myfile.pdf

Word 2007
print-file X:\MójPlik.docx

20



IsAdmin

Skrypt umożliwia sprawdzenie czy inny skrypt, polecenie zostało uruchomione z uprawnieniami administratora, pokazując wartość True lub False.

21



Profile

Skrypt umożliwia ładowanie wybranych funkcji w profilu PowerShell z zewnętrznego pliku, jest to dość wygodne rozwiązanie jeśli skrypt jest większych rozmiarów, a profil posiada takich kilka. W profilu umieszczamy ten niewielki skrypcik w którym podajemy lokalizację wybranego skryptu. Downland na dole strony.

22



Set-PowerGUIWelcomePage

Skrypt umożliwia zmianę strony powitalnej nakładki PowerGUI, którą to można dostosować do własnych potrzeb. Czy to prywatnie czy to w firmie, wstawiając logo lub jakąś informację czy też zmienić dla estetyki. Wersja skryptu jest zaktualizowana, umożliwia teraz przywrócenie domyślnej strony powitalnej:

Set-PowerGUIWelcomePage.ps1 -ResetToDefault $true
Przykład

W skrypcie należy podać ścieżkę do pliku, który ma zmienić wygląd strony powitalnej, zapisany w formacie MHT, WORD.
Przykład

Więcej znajdziecie na Dmitry's PowerBlog

UpDate: Set-PowerGUIWelcomePage v1.3 - wersja ta jest zgodna z PowerGui 1.8

23



Copy-Data

To kolejna wariacja skryptu, który umożliwia kopiowanie plików pomiędzy folderami, wyświetlając w pasku stanu, procent skopiowanych plików.

Przykład

24



Replace-Word

Skrypt ten pozwala na manipulację tekstu w dokumentach Word, a dokładniej daje możliwość zastąpienia istniejącego tekstu nowym w całym dokumencie. Może być to dość przydatne jeśli dokument jest większych rozmiarów, a do poprawy czy zmiany tekstu jest mało czasu. Udana operacja zmiany tekstu w konsoli zwraca wartość True. Przykład:

Przykład 1 , przykład 2

PS>

Replace-Word -Document 'C:\Przykład.docx' -Replace "StaryTekst" -NewText "NowyTekst"


lub

Replace-Word 'C:\Przykład.docx' "StaryTekst" "NowyTekst"

25




TreeForm

Skrypt pozwala na listowanie wybranej lokalizacji na dysku, wyświetlając dane w postaci drzewa katalogów, posortowanych alfabetycznie z rozmiarem i liczbą plików w formie rozwijanej listy w GUI. Puste katalogi odznaczone są kolorem. Skrypt domyślnie listuje katalog Temp. Downland na dole strony.

Przykład

UpDate: 2009/06/01 klik (dodano funkcję debugowania)

26



Tree

Skrypt pozwala na listowanie wybranej lokalizacji na dysku z poziomu konsoli w formie drzewa, wyświetlając ilość i rozmiar plików w katalogu czy podkatalogu z wyświetleniem sumy ilości podkatalogów w przeszukiwanej lokalizacji. Skrypt domyślnie listuje katalog Temp. Downland na dole strony.

Przykład

27



AddPowerShellShortcutQuickLaunch

Skrypt pozwala na stworzenie skrótu PowerShell w pasku zadań. W kodzie można wprowadzić argumenty, takie, jak: uruchamianie bez loga programu, bez profilu, wybrać skrót klawiaturowy czy uruchamiać w danej lokalizacji.


Przykład

28



Restart-PowerShell

Skrypt pozwala na restartowanie powłoki PowerShell. Skrypt należy umieścić w profilu. Starsze wersje znajdują się w temacie Restart your engine - The PowerShell way


Przykład

29



Out-Balloon

Skrypt pozwala tworzyć baloniki informacyjne w obszarze powiadomień - zasobnika systemowego. Wymagania: PS V2 CTP3. Dane wprowadzane są bardzo łatwo bo parametrami:

Parametry:

-Text (pozwala wstawić tekst opisowy)
-iconFile (pozwala wstawić wybraną ikone w zasobniku systemowym, domyślną ikoną jest ikona PowerShella)
-TimeoutSeconds (pozwala ustalić czas trwania dymka, czas domyślny - 3 sekundy)
-Title (pozwala wstawić tytuł informacji w dymku)

-BuiltInIcon (pozwala wstawić ikonę informacyją w dymku)
Ikony informacyjne:
warning (Ostrzeżenie)
error (Błąd)
info (Informacja)

Przykład użycia:

Out-Balloon -text "Polecenie nie zostało wykonane" -Title "Błąd" -BuiltInIcon error -TimeoutSeconds 10
Dołączona grafika

Out-Balloon -Text "Polecenie nie zostało wykonane"
Dołączona grafika

Więcej przykładów znajdziecie korzystając z pomocy:
Get-Help X:\Out-Balloon.ps1 -Example

Więcej na temat parametrów znajdziecie korzystając z pomocy:
Get-Help X:\Out-Balloon.ps1 -Parameter *

Uwaga: Skrypt może ulec aktualizacji.

30



Get-PrinterTestPage

Skrypt ten umozliwia wydrukowanie strony testowej wszystkich drukarek zainstalowanych w systemie. Skrypt pobiera wszystkie drukarki, a następnie stara się wydrukować stronę testową. Udany wynik zwraca wartość 0. Brak mozliwości wyboru drukarki. Wymagania: PS V2 CTP3.

Przykład 1 ,przykład 2

31



Get-Parameters

Skrypt umożliwia otrzymać listę dostępnych parametrów dla wybranego cmdletu. Przykład użycia:

PS>Get-Parameters Get-Alias


KEY
......................
Name
Exclude
Scope
Definition

32



Get-Fan

Skrypt umożliwia otrzymać listę właściwości wentylatora w systemie. Na przykład, wiatraczek chłodzący CPU. Może być przydatny do analizy. Skrypt korzysta z klasy Win32_Fan. Wymagania: PS V2 CTP3.

33



UpDate-SysInternals

Skrypt pozwala na pobieranie czy aktualizowanie narzędzi Marka Russinovicha i Bryce Cogswella ze stajni SysInternals. Pozwala określić katalog docelowy. Możliwość pobierania pojedyńczych narzędzi do wybranej lokalizacji. Dodatkowo zostaną wykonane kopie zapasowe poprzednich wersji narzędzi.

Przykład

Pobierz: UpDate-SysInternals.ps1.Txt

Get-SysInternals
To kolejna wariacja skryptu, który umożliwia na przegląd dostępnych narzędzi z witryny SysInternals, na aktualizację narzędzi, na sprawdzenie i pobranie narzędzi, które nie wystepują w systemie, pobranie pojedyńczego narzędzia, skrypt automatycznie sprawdza ścieżkę po czym wykonuje aktualizację -> Get-SysInternals (script to update your tools)


Dołączona grafika

34



Get-EnvPath

To mała funkcja, która ma za zadanie wyświetlić listę ścieżek znajdujących się z zmiennej środowiskowej.

Przykład

35



New-Script 2

Pozwala utworzyć nowy skrypt z serii poleceń zachowanej w historii podczas sesji lub skopiować je do schowka systemowego. Przykład:

New-Script NowySkrypt 4
-tworzy skrypt z ostatnich czterech komend

New-Script Clipboard -id 10,11,12,14
-wysyła wybrane polecenia z historii do schowka systemowego.

Uwaga: Clipboard korzysta z Cmdletu zawartegp w PSCX - Out-Clipoard, uruchomienie omawianego skryptu automatycznie doda snap-in PSCX do sesji, aby skorzystać w tej funkcji.

Notepad (New-Script NowySkrypt 20)
-wysyła dwdzieścia ostatnich poleceń użytych w historii do skryptu NowySkrypt, a następnie otwiera go w notatniku.

Skrypty zostaną zapisane w bierzącym folderze, jakim się znajdujemy.

Przykład

Źródło skryptu: Creating PowerShell Scripts from your Command History

36



Start-ProcessAsAdministrator

Skrypt pozwala na uruchomienie dowlonego programu z poziomu konta administracyjnego. Wprowadza identyczny monit "Uruchom jako" i pozwala wybrać konto. Jest to dość wygodna metoda.

Przykład

37



Out-Zip

Skrypt pozwala na tworzenie archiwum z plików lub katalogów. Pozwala na rekrusywne przeszykanie katalogu czy katalogów i stworzenia urchiwum po typie plików.

Przykład

38



Create-myZIP

Skrypt również pozwala na tworzenie archiwum. Wyświetla w pasku stanu przebieg operacji. Pozwala także stworzyć archiwum w chierarchi plików i folderów czyli zachować drzewo. Przypuścmy że mamy katalog ze z różnymi plikami i zdjęciami, a w nim podkatalogi, które również posiadają zdjęcia. Chcemy stworzyć archiwum tylko ze zdjęciami z zachowaniem drzewa katalogów. Do tego posłuży parametr -IncludeSubDir. Do tej czynności skrypt używa darmowej biblioteki ICSharpCode.SharpZipLib.dll, którą można pobrać stąd. Domyślna lokalizacja biblioteki "C:\Documents and Settings\UserProfile"

Przykład 1 , przykład 2

Paczka PSCX zawiera praktycznie taki sam cmdlet Write-Zip, którym można wykonać tą samą czynność. Jednakże nie każdemu może być potrzebny cały zbiór, a właśnie pojedyńcza funkcja.

40



Out-Report

Pozwala wysyłać wyniki do programu Excel, PDF czy pliku obrazu .jpeg. Aby skrypt mógł działać poprawnie wymagane jest: Pobranie i zainstalowanie Microsoft Report Viewer 2008 SP1 Redistributable lub wersje wcześniejsze, ja testowałem na Microsoft Report Viewer Redistributable 2008 oraz ReportExporters do eksportowania do pliku Pdf, Excel, obrazów, całkowicie darmowy, nie wymagający instalacji, dostępny w codeproject. Po pobraniu i wypakowaniu, aplikację należy umieścić w folderze "Libraries" w domyślnej lokalizacji "C:\". Przykład:

get-alias | out-report "c:\aliasy.pdf" pdf

Konsola , Excel , Pdf

41



Get-HotFix

Funkcja pozwala na wykaz zainstalowanych poprawek systemowych zdalnie lub lokalnie, jako uzupełnienie funkcjonalności w konsoli V1, wersja V2 posiada juz taki cmdlet.

42



Get-WmiNamespace

Pozwala na przegląd nazw WMI lokalnie lub zdalnie.

Przykład

43



Get-FolderUsage

Pozwala sprawdzić rozmiar katalogu czy grupy katalogów. Downland na dole strony.

Przykład

44



Scan-Port

Pozwala skanować lokalne porty lub na zdalnej maszynie oraz wykonać test portów. Użycie:

Scan-port -ComputerName XXX -ports 135, 445, 1024

Przykład

45



Get-Spelling

Pozwala sprawdzić ortografię języka angielskiego. Wyświetla porpozycje i sugestie dla danego słowa z witryny Yahoo, Cdyne.

Przykład

46



GetServiceCreateWordTable

Całkiem fajny skrypt i dodatkowo także w VBS. Pozwala zebrać wyniki do programu Word 2007, ustawia każde własności w kolumnach. Wstawianie dodatkowych kolumn jest dość proste i można korzystać z różnych klas dla uzyskania różnych informacji. Fomatowanie używa metody AutoFormat, który to posiada gotowe "szablony". Jest ich około 43. Zresztą można tworzyć własne. W powyższym linku są dokumentacje metody. Po czym tworzyć dokumentacje w pdf. Przykład:

$objTable.AutoFormat(20)


Dołączona grafika Dołączona grafika

47



Get-ChildItemRecurse

Funkcja pozwala na rekrusywne wyszukiwanie plików czy podkatalogów z określeniem poziomu wyszukiwania. Im wyższy poziom, tym wyszukiwanie jest bardziej szczegółowe, jak wykaz podlatalogów, plików w podkatalogach, bez podkatalogów. Wymagania: PS v2 CTP3

Przykład

Parametr -FileGlob pozwala na wyszukanie pliku czy podkatalogu według pasującego wzorca.

Przykład

UpDate: Klik

48



Get-FileVersionInfo

Skrypt ten pobiera i wyświetla informacje o wersji pliku, identyczne polecenie posiada pscx.

Przykład

49



Get-WindowsUpdate

Skrypt ten umożliwia na przegląd dostępnych aktualizacji w witrynie WindowsUpdate oraz na ich pobranie i zainstalowanie. Do poprawnego działania wymaga uruchomionej usługi Aktualizacje automatyczne.

Przykład

50



Compile-Help

Skrypt ten umożliwia generowanie plików pomocy HTML Help dla aliasów, cmdletów, dostawców, snap-in, które trzeba dodać do sesji, aby została dla nich stworzona pomoc.

Dołączona grafika

Do poprawnego działania skryptu należy pobrać HTML Help Workshop, który pozwala tworzyć dokumenty w formacie .chm, kompilację należy wykonać ręcznie.

Dołączona grafika Dołączona grafika

Przełącznikiem -GroupBySnapIn, grupujemy cmdlety w osobnych tematach zestawów.

Przełącznikiem -OutDirectory, wybieramy ścieżkę do tworzonych plików pomocy.

Get-CompiledHelp
Dodatkowo funkcją Get-CompiledHelp, możemy korzystać z pomocy ze stworzonego pliku, wywołując interesujący nas cmdlet z poziomu konsoli, który zostanie otwarty w pliku. Przykład:

Get-CompiledHelp Export-OneNote
Dołączona grafika

Domyślna lokalizacja pliku pomocy - C:\, jeśli plik będzie w innej to nie zostanie wywołana pomoc, więc w skrypcie należy ustawić ściężkę pliku w którym aktualnie się znajduje.

Uwaga! Aby móc skorzystać z pomocy cmdletów innych wydawców poleceniem Get-CompiledHelp z poziomu konsoli, konkretny snap-in musi być dodany do sesji, w innym przypadku pomoc będzie niedostępna.


Test przeprowadzony w systemie: XP SP3, PS V2 CTP3

Pobierz próbkę pliku pomocy (CTP3), zawarte są w niej paczki innych wydawców Pscx 1.2, OnetNote Provider, Pshx-SAPIEN, ITVisions_PowerShell_Extensions, SDMSoftware.PowerShell.GPMC, VMware, GetGoogleGeocodeSnapin, Com.H9Labs.PS.Commands -> Downland

51



Get-BufferHtml

Jest to kolejna wariacja, która wykonuje lustrzaną kopię konsoli do html-a. Dodakowo pozwala parametrami zmienić wielkość czcionki -fontsize, ustalić inną czcionkę-font, ustalić ilość ostatnich linii, które mają zostać zawarte w pliku html -last , usuwac puste spacje -trim, wprowadzić styl -palette, style:

PowerShell - zachowuje lustrzaną kopię wnętrza konsoli (wartość domyślna)
Standart - zmienia kolor na DarkMagenta i DarkYellow, wyszczególniając komunikaty konsoli
Print - nadaje się do wydruku, zmienia kolorystkę na jasno-szarą.

Przykład użycia:
Get-BufferHtml -fontsize 12 -font 'Courier' -last 20 > Konsola.html

Przykład: klik.

52



Get-ChildItemColor

Skrypt pozwala przeszukiwać katalogi sortując typy plików w określonych kolorach. Źródło: Get-ChildItem (dir) Results Color-Coded by Type

Przykład: klik.

53



One-Liner

Skrypt pozwala przeszukiwać katalogi w poszukiwaniu pojedyńczych skryptów, wykazać ich nazwę, ścieżkę, datę utworzenia, ostatnią modyfikację, podpis cyfrowy.

Przykład: klik.

54



Get-Packet

Wyświetla wszystkie przychodzące pakiety IP.

Przykład: klik.

55



#2 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 12 06 2009 - 08:54

Select-PropertyValue
Filtr pozwala na wygodny sposób odczytania wszystkich właściwości lub ich wartości oraz użyć funkcji debugowania.

56

001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084
# ==============================================================================================# # Microsoft PowerShell Source File -- Created with SAPIEN Technologies PrimalScript 2009# # NAME: Select-PropertyValue.ps1# # AUTHOR: Jeffery Hicks , SAPIEN Technologies# DATE : 6/10/2009# # COMMENT: This function can be used in a pipelined expression# to return all properties of a given object that have a defined value.## Using an expression like: ## get-process PowerShell | select *# # Is a handy way to see all properties and their values. But sometimes# you may only want to see properties that have actual values. For# those situations, use this function.## get-process PowerShell | Select-PropertyValue## This if you dot source this script it will also create an# alias for the function of spv## get-process PowerShell | spv## The -debug parameter will turn on debug messages. Use # -NoWMiSystem to filter out WMI System properties like# __GENUS when you pipe a WMI object to the function.# DISCLAIMER AND WARNING:# THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY# KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE# IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.# TEST THOROUGHLY IN A NON-PRODUCTION ENVIRONMENT. IF YOU DON'T KNOW WHAT THIS# SCRIPT WILL DO...DO NOT RUN IT! # ==============================================================================================Filter Select-PropertyValue {    Param([switch]$NoWMISystem,[switch]$debug)    if ($debug) {        $debugPreference="Continue"     }    Write-Debug "In process"    if (-Not $properties) {        Write-Debug "Creating property list"        #get properties for the pipelined object sorted by property name        $properties=$_ | Get-Member -membertype Properties | sort Name                #filter out WMI System properties if -NoWMISystem        if ($NoWMISystem) {            Write-Debug "Filtering out WMI System properties"            $properties=$properties | where {$_.name -notlike "__*"}        }                Write-Debug "Found $($properties.count) properties"    }         #create an empty custom object     Write-Debug "Creating empty object"     $obj=New-Object PSObject        #enumerate the list of properties    foreach ($property in $properties) {         Write-Debug "Checking $($property.name)"         #if object has a value for the current property         if ($_.($property.name)) {       
            Write-Debug "found value $($_.($property.name))"                        #assign properties            $obj | Add-Member -MemberType Noteproperty -name $property.Name -value ($_.($property.name))                          } #end If    } #end ForEach        #write the custom object to the pipeline    write $obj} #end functionSet-Alias -Name spv -value Select-PropertyValue
  1. # =============== #
  2. #                 #
  3. # Przykład użycia #
  4. #                 #
  5. # =============== #
  6. PS> Get-WmiObject Win32_Service | spv -NoWMISystem
  7. Caption                 : Karta wydajności WMI
  8. CreationClassName       : Win32_Service
  9. Description             : Udostępnia informacje biblioteki wydajności uzyskane do dostawców WMI HiPerf.
  10. DisplayName             : Karta wydajności WMI
  11. ErrorControl            : Normal
  12. ExitCode                : 1077
  13. Name                    : WmiApSrv
  14. PathName                : C:WINDOWSsystem32wbemwmiapsrv.exe
  15. ServiceType             : Own Process
  16. StartMode               : Manual
  17. StartName               : LocalSystem
  18. State                   : Stopped
  19. Status                  : OK
  20. SystemCreationClassName : Win32_ComputerSystem
  21. SystemName              : Komputer
  22. PS> Get-WmiObject Win32_Service | spv 
  23. __CLASS                 : Win32_Service
  24. __DERIVATION            : {Win32_BaseService, CIM_Service, CIM_LogicalElement, CIM_ManagedSystemElement}
  25. __DYNASTY               : CIM_ManagedSystemElement
  26. __GENUS                 : 2
  27. __NAMESPACE             : rootcimv2
  28. __PATH                  : Komputerrootcimv2:Win32_Service.Name="WmiApSrv"
  29. __PROPERTY_COUNT        : 25
  30. __RELPATH               : Win32_Service.Name="WmiApSrv"
  31. __SERVER                : MIKI
  32. __SUPERCLASS            : Win32_BaseService
  33. Caption                 : Karta wydajności WMI
  34. CreationClassName       : Win32_Service
  35. Description             : Udostępnia informacje biblioteki wydajności uzyskane do dostawców WMI HiPerf.
  36. DisplayName             : Karta wydajności WMI
  37. ErrorControl            : Normal
  38. ExitCode                : 1077
  39. Name                    : WmiApSrv
  40. PathName                : C:WINDOWSsystem32wbemwmiapsrv.exe
  41. ServiceType             : Own Process
  42. StartMode               : Manual
  43. StartName               : LocalSystem
  44. State                   : Stopped
  45. Status                  : OK
  46. SystemCreationClassName : Win32_ComputerSystem
  47. SystemName              : Komputer[/list]
ConvertWordToPdf
Skrypt pozwala na konwertowanie dokumentów word .doc, docx do pliku pdf. Może okazać się bardzo pomocny, kiedy zachodzi potrzeba konwertowania kilkudziesięciu lub więcej dokumentów jednocześnie, czyniąc pracę wygodniejszą i mniej czasochłonną. Wymagania: Word 2007, dodatek: 2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS

57

Dołączona grafika
001002003004005006007008009010011012013014015016017
# NAME: ConvertWordToPdf.ps1$wdFormatPDF = 17$word = New-Object -ComObject word.application$word.visible = $false$folderpath = "c:Test*"$fileTypes = "*.docx","*doc"Get-ChildItem -path $folderpath -include $fileTypes |foreach-object `{ $path =  ($_.fullname).substring(0,($_.FullName).lastindexOf(".")[color=#000000])[/color][color=#000000] [/color][color=#8B0000]"Converting $path to pdf ..."[/color][color=#000000] [/color][color=#FF4500]$doc[/color][color=#000000] [/color][color=#A9A9A9]=[/color][color=#000000] [/color][color=#FF4500]$word[/color][color=#A9A9A9].[/color][color=#000000]documents[/color][color=#A9A9A9].[/color][color=#000000]open[/color][color=#000000]([/color][color=#FF4500]$_[/color][color=#A9A9A9].[/color][color=#000000]fullname[/color][color=#000000])[/color][color=#000000] [/color][color=#FF4500]$doc[/color][color=#A9A9A9].[/color][color=#000000]saveas[/color][color=#000000]([/color][color=#008080][ref][/color][color=#000000] [/color][color=#FF4500]$path[/color][color=#A9A9A9],[/color][color=#000000] [/color][ref][color=#FF4500]$wdFormatPDF[/color][color=#000000])[/color][color=#000000] [/color][color=#FF4500]$doc[/color][color=#A9A9A9].[/color][color=#000000]close[/color][color=#000000]([/color][color=#000000])[/color][color=#000000]}[/color][color=#FF4500]$word[/color][color=#A9A9A9].[/color][color=#000000]Quit[/color][color=#000000]([/color][color=#000000])[/color]
ConvertFrom-DMTFDate
Filtr pozwala na konwertowanie dat WMI

58

[color= #fff; background-color: #012456][PS:10][/color] [color= #ff0; background-color: #012456]Get-WmiObject[/color] [color= #0ff; background-color: #012456]Win32_NTLogEvent[/color] [color= #088; background-color: #012456]|[/color] [color= #ff0; background-color: #012456]where[/color] {[color= #0f0; background-color: #012456]$_[/color][color= #088; background-color: #012456].[/color]logfile [color= #088; background-color: #012456]-eq[/color] [color= #0ff; background-color: #012456]"ProcessWatcher"[/color]} [color= #088; background-color: #012456]|[/color]        >> [color= #ff0; background-color: #012456]ConvertFrom-DMTFDate[/color] [color= #088; background-color: #012456]|[/color]                                                                 >> [color= #ff0; background-color: #012456]ft[/color] [color= #0ff; background-color: #012456]Message[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]LogFile[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]TimeGenerated[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]TimeWritten[/color] [color= #ff0; background-color: #012456]-AutoSize[/color]                              >>                                                                                                                                                                                  Message        Logfile        TimeGenerated       TimeWritten                             -------        -------        -------------       -----------                             mmc.exe...     ProcessWatcher 2009-06-15 10:15:59 2009-06-15 10:15:59                     mmc.exe...     ProcessWatcher 2009-06-15 10:15:55 2009-06-15 10:15:55                     mmc.exe...     ProcessWatcher 2009-06-15 10:15:51 2009-06-15 10:15:51                     cmd.exe...     ProcessWatcher 2009-06-15 10:15:44 2009-06-15 10:15:44                     cmd.exe...     ProcessWatcher 2009-06-15 10:15:42 2009-06-15 10:15:42                     iexplore.ex... ProcessWatcher 2009-06-15 10:15:37 2009-06-15 10:15:37                     iexplore.ex... ProcessWatcher 2009-06-15 10:15:34 2009-06-15 10:15:34                     mmc.exe...     ProcessWatcher 2009-06-15 10:15:32 2009-06-15 10:15:32                                                                                                                                                                                                         [color= #fff; background-color: #012456][PS:11][/color] [color= #ff0; background-color: #012456]Get-WmiObject[/color] [color= #0ff; background-color: #012456]Win32_NTLogEvent[/color] [color= #088; background-color: #012456]|[/color] [color= #ff0; background-color: #012456]where[/color] {[color= #0f0; background-color: #012456]$_[/color][color= #088; background-color: #012456].[/color]logfile [color= #088; background-color: #012456]-eq[/color] [color= #0ff; background-color: #012456]"ProcessWatcher"[/color]} [color= #088; background-color: #012456]|[/color]        >> [color= #ff0; background-color: #012456]ft[/color] [color= #0ff; background-color: #012456]Message[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]LogFile[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]TimeGenerated[/color][color= #088; background-color: #012456],[/color] [color= #0ff; background-color: #012456]TimeWritten[/color] [color= #ff0; background-color: #012456]-AutoSize[/color]                              >>                                                                                                                                                                                  Message        LogFile        TimeGenerated             TimeWritten                       -------        -------        -------------             -----------                       mmc.exe...     ProcessWatcher 20090615101559.000000+120 20090615101559.000000+120         mmc.exe...     ProcessWatcher 20090615101555.000000+120 20090615101555.000000+120         mmc.exe...     ProcessWatcher 20090615101551.000000+120 20090615101551.000000+120         cmd.exe...     ProcessWatcher 20090615101544.000000+120 20090615101544.000000+120         cmd.exe...     ProcessWatcher 20090615101542.000000+120 20090615101542.000000+120         iexplore.ex... ProcessWatcher 20090615101537.000000+120 20090615101537.000000+120         iexplore.ex... ProcessWatcher 20090615101534.000000+120 20090615101534.000000+120         mmc.exe...     ProcessWatcher 20090615101532.000000+120 20090615101532.000000+120                                                                                                                                                                                             
Set-LocalPassword
Pozwala zmienić (ustawić) lokalne hasło konta na jednym lub większej liczbie komputerów.Przykład: Klik

59

Prevent-Screensaver
Pozwala na "imitację" aktywności użytkownika, co ma zapobiec pojawianiu się wygaszacza ekranu. Domyślnie jest to 60 minut.

60

rtfPSHighlighter
Skrypt dobry do prezentacji, w oddzielnym oknie WPF prezentuję składnię kodu w kolorze wybranego skryptu. Wymagania: PS 2.0, testowane w CTP3. shelllights.png

61

g
Funkcja pomocna do przechodzenia w konsoli do innych katalogów, poprzez skróty - aliasy, które w prosty sposób można dodawać własne.skroshell.jpg

62

Usuwanie pustych podkatalogów
Funkcje pomocne do usuwania pustych podkatalogów w głównym katalogu. Puste katalogi zostaną również usunięte.
FindFolderPowershell function to remove empty directories

63

Dołączona grafika
Prune-DirectoryPrune Directories with PowerShell

64

Dołączona grafika
Set-FileLines
Skrypt ma za zadanie usuwać puste wiersze w plikach tekstowych. Uruchomienie bez parametru usunie wszystkie puste wiersze.Parametr -lines (opcjonalny) pozwala określić ile wierszy ma pozostać w pliku, usuwa każde wiersze.Dołączona grafika

65

CreateCab
Skrypt służy do tworzenia archiwum .Cab Dołączona grafika Dołączona grafika

66

Find-String
Skrypt wyszukuje tekstu w plikach. Autor twierdzi że działa szybciej niż grep i ack. Korzysta z Out-ColorMatchInfo do podświetlenia kolorem wyniku. Download (Find-String & Out-ColorMatchInfo)Dołączona grafika

67

Edit-File in Notepad++
Funkcja pozwala na edycję kodu źródłowego w Notepad++. Parametrami można określić czy ma zostać otwarty jeden plik czy wiele, uruchomić notatnik bez wtyczek, uruchomić bez zapamiętania poprzedniej sesji, otworzyć w konkretnym numerze wiersza, wybrać kolorowanie składni, otworzyć plik w trybie "tylko do odczytu", wyłączyć karte interfejsu.Dołączona grafika Dołączona grafika

68

Out-Notepad
Funkcja pozwala na przesłanie wyniku do pliku tekstowego i automatyczne otwarcie w notatniku. Dołączona grafika

69

Get-SourceAsHTML
Funkcja pozwala na zapis do pliku html wybranego skryptu z kolorowaniem składni. Aby zapisać dane do schowka systemowego należy mieć zainstalowany PSCX. [color= #008000;]#----------------------------------------------------------------[/color][color= #008000;]# function Get-PrimeFactors[/color][color= #008000;]#----------------------------------------------------------------[/color][color= #0000FF;]function[/color] [color= #0000FF;]Get-PrimeFactors[/color][color= #000000;]([/color][color= #000000;])[/color][color= #000000;]{[/color]  [color= #0000FF;]param[/color][color= #000000;]([/color][color= #0000FF;][Uint64][/color][color= #800080;]$number[/color] [color= #FF0000;]=[/color] [color= #800080;]$null[/color][color= #000000;])[/color][color= #000000;];[/color]  [color= #0000FF;][UInt64[]][/color][color= #800080;]$factors[/color] [color= #FF0000;]=[/color] [color= #000000;]@([/color][color= #000000;])[/color][color= #000000;];[/color]  [color= #0000FF;]if[/color] [color= #000000;]([/color] [color= #800080;]$number[/color] [color= #000000;])[/color]  [color= #000000;]{[/color]    [color= #0000FF;][UInt64][/color][color= #800080;]$max[/color] [color= #FF0000;]=[/color] [color= #0000FF;][Math][/color][color= #FF0000;]::[/color][color= #8B4513;]Sqrt[/color][color= #000000;]([/color][color= #800080;]$number[/color][color= #000000;])[/color][color= #000000;];[/color]    [color= #008000;]# iterate from 2 to the Sqrt of $number[/color]    [color= #0000FF;]for[/color][color= #000000;]([/color][color= #0000FF;][UInt64][/color][color= #800080;]$factor[/color][color= #FF0000;]=[/color][color= #000000;]2[/color][color= #000000;];[/color] [color= #800080;]$factor[/color] [color= #FF0000;]-le[/color] [color= #800080;]$max[/color][color= #000000;];[/color] [color= #FF0000;]++[/color][color= #800080;]$factor[/color][color= #000000;])[/color]    [color= #000000;]{[/color]      [color= #008000;]# Iterate through until we get to the first factor (modulus eq 0).[/color]      [color= #0000FF;]if[/color] [color= #000000;]([/color] [color= #000000;]([/color][color= #800080;]$number[/color] [color= #FF0000;]%[/color] [color= #800080;]$factor[/color][color= #000000;])[/color] [color= #FF0000;]-eq[/color] [color= #000000;]0[/color] [color= #000000;])[/color]      [color= #000000;]{[/color]        [color= #008000;]# If modulus zero then it's divisible so add it to the array[/color]        [color= #800080;]$factors[/color] [color= #FF0000;]+=[/color] [color= #000000;]@([/color][color= #800080;]$factor[/color][color= #000000;])[/color][color= #000000;];[/color]        [color= #008000;]# Call function recursively on the number divided by the factor.[/color]        [color= #800080;]$number[/color] [color= #FF0000;]/=[/color] [color= #800080;]$factor[/color][color= #000000;];[/color]        [color= #800080;]$subfactors[/color] [color= #FF0000;]=[/color] [color= #5F9EA0;]Get-PrimeFactors[/color] [color= #800080;]$number[/color][color= #000000;];[/color]        [color= #0000FF;]if[/color] [color= #000000;]([/color] [color= #000000;]([/color][color= #800080;]$null[/color] [color= #FF0000;]-ne[/color] [color= #800080;]$subfactors[/color][color= #000000;])[/color] [color= #FF0000;]-and[/color] [color= #000000;]([/color][color= #800080;]$subfactors[/color][color= #FF0000;].[/color][color= #8B4513;]Length[/color] [color= #FF0000;]-ne[/color] [color= #000000;]0[/color][color= #000000;])[/color] [color= #000000;])[/color]        [color= #000000;]{[/color]          [color= #800080;]$factors[/color] [color= #FF0000;]+=[/color] [color= #800080;]$subfactors[/color][color= #000000;];[/color]        [color= #000000;]}[/color]        [color= #0000FF;]else[/color]        [color= #000000;]{[/color]          [color= #800080;]$factors[/color] [color= #FF0000;]+=[/color] [color= #000000;]@([/color][color= #800080;]$number[/color][color= #000000;])[/color][color= #000000;];[/color]        [color= #000000;]}[/color]        [color= #0000FF;]break[/color][color= #000000;];[/color]      [color= #000000;]}[/color]    [color= #000000;]}[/color]  [color= #000000;]}[/color]  [color= #800080;]$factors[/color][color= #000000;];[/color][color= #000000;]}[/color]

70

Replace-InTextFile
Skrypt pozwala na zamienienie tekstu na inny w pliku tekstowym.Dołączona grafika

71


Użytkownik Kolega Dudysa edytował ten post 17 03 2010 - 14:10





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych