Start-Transcript
Tworzy rekord wszystkich lub części sesji programu PowerShell do pliku tekstowego.
Składnia
Start-Transcript
[[-Path] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Transcript
[[-LiteralPath] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Transcript
[[-OutputDirectory] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie cmdlet Start-Transcript
tworzy rekord wszystkich lub części sesji programu PowerShell do pliku tekstowego. Transkrypcja zawiera wszystkie polecenia, które użytkownik wpisze i wszystkie dane wyjściowe wyświetlane w konsoli programu .
Domyślnie Start-Transcript
przechowuje transkrypcję w następującej lokalizacji przy użyciu nazwy domyślnej:
- W systemie Windows:
$HOME\Documents
- W systemie Linux lub macOS:
$HOME
Domyślna nazwa pliku to PowerShell_transcript.<computername>.<random>.<timestamp>.txt
.
Począwszy od programu Windows PowerShell 5.0, Start-Transcript
zawiera nazwę hosta w wygenerowanej nazwie pliku wszystkich transkrypcji. Nazwa pliku zawiera również losowe znaki w nazwach, aby zapobiec potencjalnemu zastępowaniu lub duplikowaniu podczas uruchamiania co najmniej dwóch transkrypcji jednocześnie. Dołączenie nazwy komputera jest przydatne w przypadku przechowywania transkrypcji w centralnej lokalizacji. Losowy ciąg znaków uniemożliwia odgadnięcie nazwy pliku w celu uzyskania nieautoryzowanego dostępu do pliku.
Jeśli plik docelowy nie ma znacznika kolejności bajtów (BOM), Start-Transcript
domyślnie Utf8NoBom
kodowanie w pliku docelowym.
Przykłady
Przykład 1. Uruchamianie pliku transkrypcji z ustawieniami domyślnymi
Start-Transcript
To polecenie uruchamia transkrypcję w domyślnej lokalizacji pliku.
Przykład 2. Uruchamianie pliku transkrypcji w określonej lokalizacji
Start-Transcript -Path "C:\transcripts\transcript0.txt" -NoClobber
To polecenie uruchamia transkrypcję w pliku Transcript0.txt
w C:\transcripts
.
parametr NoClobber uniemożliwia zastąpienie istniejących plików. Jeśli plik Transcript0.txt
już istnieje, polecenie zakończy się niepowodzeniem.
Przykład 3. Uruchamianie pliku transkrypcji o unikatowej nazwie i przechowywanie go w udziale plików
Poniższy przykład tworzy plik transkrypcji o nazwie na tyle unikatowy, aby był przechowywany w lokalizacji udostępnionej. Nazwa pliku jest tworzona na podstawie nazwy użytkownika, nazwy hosta komputera z uruchomionym programem PowerShell, wersją programu PowerShell oraz datą i godziną. Transkrypcja jest przechowywana w udziale plików \\Server01\Transcripts
.
$sharepath = '\\Server01\Transcripts'
$username = $env:USERNAME
$hostname = hostname
$version = $PSVersionTable.PSVersion.ToString()
$datetime = Get-Date -f 'yyyyMMddHHmmss'
$filename = "Transcript-${username}-${hostname}-${version}-${datetime}.txt"
$Transcript = (Join-Path -Path $sharepath -ChildPath $filename).ToString()
Start-Transcript
Pełna ścieżka do pliku transkrypcji jest przechowywana w zmiennej preferencji $Transcript
. Aby uzyskać więcej informacji na temat zmiennej preferencji $Transcript
, zobacz about_Preference_Variables.
Parametry
-Append
Wskazuje, że to polecenie cmdlet dodaje nową transkrypcję na końcu istniejącego pliku. Użyj parametru ścieżka, aby określić plik.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Umożliwia poleceniem cmdlet dołączanie transkrypcji do istniejącego pliku tylko do odczytu. W przypadku użycia w pliku tylko do odczytu polecenie cmdlet zmienia uprawnienia do odczytu i zapisu pliku. Polecenie cmdlet nie może zastąpić ograniczeń zabezpieczeń, gdy ten parametr jest używany.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-IncludeInvocationHeader
Wskazuje, że to polecenie cmdlet rejestruje sygnaturę czasową podczas uruchamiania poleceń.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-LiteralPath
Określa lokalizację pliku transkrypcji. W przeciwieństwie do parametru path wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Znaki pojedynczego cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Typ: | String |
Aliasy: | PSPath, LP |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-NoClobber
Wskazuje, że to polecenie cmdlet nie zastępuje istniejącego pliku. Domyślnie, jeśli plik transkrypcji istnieje w określonej ścieżce, Start-Transcript
zastąpi plik bez ostrzeżenia.
Typ: | SwitchParameter |
Aliasy: | NoOverwrite |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-OutputDirectory
Określa określoną ścieżkę i folder, w którym ma być zapisywana transkrypcja. Program PowerShell automatycznie przypisuje nazwę transkrypcji.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa lokalizację pliku transkrypcji. Wprowadź ścieżkę do pliku .txt
. Symbole wieloznaczne nie są dozwolone. Jeśli którykolwiek z katalogów w ścieżce nie istnieje, polecenie zakończy się niepowodzeniem.
Jeśli nie określisz ścieżki, Start-Transcript
używa ścieżki w wartości zmiennej globalnej $Transcript
. Jeśli ta zmienna nie została utworzona, Start-Transcript
przechowuje transkrypcje w domyślnej lokalizacji i nazwie pliku.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-UseMinimalHeader
Prepend krótki nagłówek do transkrypcji, a nie szczegółowy nagłówek dołączony domyślnie. Ten parametr został dodany w programie PowerShell 6.2.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca ciąg zawierający komunikat potwierdzający i ścieżkę do pliku wyjściowego.
Uwagi
Aby zatrzymać transkrypcję, użyj polecenia cmdlet Stop-Transcript
.
Aby zarejestrować całą sesję, dodaj polecenie Start-Transcript
do profilu. Aby uzyskać więcej informacji, zobacz about_Profiles.