Po pierwsze, bardzo zalecałbym korzystanie z ISE środowiska Windows PowerShell do pisania skryptów. Jest darmowy i zapewnia całkiem przyzwoitą konsolę/edytor, ponieważ jest darmowy (są tam rzekomo lepsze, ale zawsze mi to pasowało). Używam Visual Studio do innych rzeczy, i chociaż jest to zdecydowanie lepszy produkt (i powinien być), PowerShell ISE jest dość bogaty w funkcje.
Następnie, jeśli dopiero zaczynasz, powinieneś sprawdzić książkę Don Jone "Learn PowerShell 3.0 in a Month Lunches". Są to dwie wersje najbardziej aktualne, jednak wszystkie informacje są nadal aktualne, a po skończeniu książki będziesz w stanie samodzielnie szukać pomocy na cokolwiek innego. Obejmuje on wszystkie podstawy i jest bardzo dobrym pierwszym krokiem do nauki języka.
Teraz, aby odpowiedzieć na twoje pytanie: Skrypty PowerShell zwykle mają rozszerzenie .ps1. Inne rozszerzenia są zwykle używane w przypadku modułów (.psm1) lub innych treści pomocniczych obsługiwanych przez program Windows PowerShell. W większości przypadków pozostaniesz przy .ps1, a kiedy osiągniesz punkt, w którym zaczniesz potrzebować innych rozszerzeń, podejrzewam, że nie będziesz miał problemów z określeniem, które z nich potrzebujesz.
Istnieją dwa sposoby nazywane ogólnie skryptem PowerShell. Pierwszy z nich to zwykły wiersz polecenia i polecenie PowerShell, aby wykonał twój skrypt. Zostało to pokazane poniżej:
powershell.exe -File MyScript.ps1
Istnieje kilka dodatkowych parametrów, które polecam, ale korzystanie jest zależne od wymagań. Oto, co zwykle oznaczyć na kopalni:
powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File MyScript.ps1
To pokaże proces PowerShell ignorować profile każdy PowerShell skonfigurowaniu, który jest idealnym miejscem, jeśli masz kilka rzeczy w swoim skrypcie profilu, który robi takie rzeczy przeczytane wejście konsoli (dla twojej obecnej sytuacji, zakładam, że nie, ale możesz w przyszłości). Drugi to ExecutionPolicy one: RemoteSigned pokaże PowerShellowi, aby zasadniczo ignorował wszystko, co zostało pobrane ze strony interwebs, ale zezwala na to, aby wszystko, co pochodzi z twojej sieci, działało bezpłatnie. Prawdopodobnie nie jest to najlepsza praktyka, ale nie jest to TERRIBLE policy, jeśli możesz zaufać, że twoje repozytorium skryptów jest zabezpieczone.Jeśli nie, przejdź do czegoś mocniejszego niż to (możesz przeczytać zasady wykonywania, wpisując "Get-Help about_Execution_Policies" w zachęcie PowerShell lub odwiedzając stronę TechNet - zawartość powinna być podobna, jeśli nie identyczna) .
Drugi sposób polega na skrypcie Windows PowerShell. Jest to znacznie łatwiejsze do zrobienia. Zauważ, że musisz ustawić swoją strategię wykonywania na coś, co pozwoli na uruchamianie skryptów, ale potem będziesz płynnie żeglować.
. .\MyScript.ps1
Nazywa się to "dot-sourcing" w twoim scenariuszu. Zaletą robienia tego z poziomu Windows PowerShell jest to, że jeśli masz coś w rodzaju skryptu pełnego funkcji, zostają one dodane do bieżącego zakresu (Get-Help about_Scopes), co oznacza, że są one teraz dostępne w bieżącej sesji. Dobrym przykładem byłoby zdefiniowanie funkcji o nazwie "Test-DomainConnection" w skrypcie dystrybuowanym za pomocą głównego skryptu: Dostarczysz skryptowi źródłowym, który jest dystrybuowany razem z głównym (zazwyczaj jest to robione po oddzieleniu "standardu"). "PowerShell działa z głównego skryptu), a następnie korzysta z funkcji w głównym skrypcie. Istnieją pewne plusy i minusy tego podejścia, ale wydaje się, że jest to ogólnie zalecane (mogą istnieć pewne rozszerzenia społeczności, które usuwają potrzebę ręcznego zarządzania).
Aby uzyskać dodatkowe informacje, można zadzwonić pod numer Get-Help about_Scripts z poziomu Windows PowerShell. Ponieważ używasz systemu Windows 10, może być konieczne uruchomienie narzędzia Aktualizuj-Pomoc z administracyjnego okna PowerShell, zanim treść pomocy będzie dostępna w systemie lokalnym.
Jeśli masz więcej pytań, napisz do mnie:) Od pewnego czasu robię PowerShell i mogę Ci pomóc.
Opublikowany komunikat o błędzie nie pasuje do komend, o których twierdziłeś ("./Test.ps1.txt' vs."./Test.ps1 "). Ponadto pliki .txt powinny być powiązane z Notatnikiem i powinny być automatycznie otwierane za pomocą tego programu, chyba że coś zepsujesz. Upewnij się, że skrypt jest obecny w bieżącym katalogu, gdy spróbujesz go uruchomić przez './Test.ps1'. –