Mam niektóre funkcje, które chciałbym załadować domyślnie po otwarciu administracyjnej powłoki PowerShell. Czy jest jakiś odpowiednik do powiedzenia .bashrc
lub .profile
którego mógłbym użyć do automatycznego importowania skryptów po uruchomieniu powłoki?
windows-7
windows
powershell
leeand00
źródło
źródło
Odpowiedzi:
Artykuł wspomniany w komentarzu jehada wyjaśnia, że istnieje kilka miejsc, z których PowerShell może załadować profil, co jest tym, czego chcesz. Prawdopodobnie potrzebujesz wersji na użytkownika dla zwykłej konsoli PowerShell. Ścieżka, przy której PowerShell będzie sprawdzał ten plik, jest podana w
$profile
zmiennej. Możesz utworzyć ten plik i zawierający go katalog za pomocą tego polecenia:Tworzy plik o nazwie
Microsoft.PowerShell_profile.ps1
w folderze o nazwieWindowsPowerShell
pod folderem Dokumenty. Następnie możesz go otworzyć za pomocą edytora tekstu:Wszystko w nim będzie uruchamiane przy każdym uruchomieniu konsoli PowerShell, bez względu na to, czy jesteś podniesiony czy nie. Użyłem tego innego artykułu, aby utworzyć funkcję (której można użyć jako polecenia cmdlet) w celu sprawdzenia, czy bieżąca instancja programu PowerShell jest podniesiona. Umieść to w swoim nowym pliku profilu:
Tej funkcji można używać w normalnym środowisku PowerShell, ale można jej także używać do uruchamiania rzeczy w skrypcie profilu, gdy jest się podniesionym:
Ponieważ ten plik zawiera kod, który będzie uruchamiany automatycznie nawet w administracyjnej instancji PowerShell, nie chcesz, aby programy działające bez aktualizacji miały do niego dostęp do zapisu. Sugeruję zmianę listy ACL, aby dać dostęp do odczytu konta użytkownika, jednocześnie umożliwiając administratorom pełną kontrolę. (Dziedziczenie będzie musiało zostać najpierw wyłączone). Wtedy będziesz mógł edytować skrypt tylko z podwyższonych programów.
źródło
Microsoft.PowerShell_profile.ps1
można zmienić na justprofile.ps1
? W pierwszym artykule pojawia się jako$Home\[My ]Documents\WindowsPowerShell\Profile.ps1