Start-Transcript
Tworzy rekord wszystkich lub części sesji programu PowerShell do pliku tekstowego.
Składnia
ByPath (Domyślna)
Start-Transcript
[[-Path] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Start-Transcript
[[-LiteralPath] <String>]
[-Append]
[-Force]
[-NoClobber]
[-IncludeInvocationHeader]
[-UseMinimalHeader]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByOutputDirectory
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 zapobiega zastąpieniu 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.
Przykład 4. Uruchamianie transkrypcji przy użyciu ścieżki względnej w systemach Windows
Jeśli używasz ścieżki względnej z parametrem OutputDirectory w systemie Windows, ścieżka jest względna względem Documents katalogu.
Start-Transcript -Path .\transcripts
Transcript started, output file is C:\Users\username\Documents\.\transcripts\PowerShell_transcript.HOSTNAME.8S6RpEfN.20251105152247.txt
Przykład 5. Uruchamianie transkrypcji przy użyciu ścieżki względnej w systemach innych niż Windows
Jeśli używasz ścieżki względnej z parametrem OutputDirectory w systemach innych niż Windows, ścieżka jest względna względem katalogu macierzystego.
Start-Transcript -Path ./transcripts
Transcript started, output file is /home/username/./transcripts/PowerShell_transcript.hostname.ift21QeV.20251105151236.txt
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.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-IncludeInvocationHeader
Wskazuje, że to polecenie cmdlet rejestruje sygnaturę czasową podczas uruchamiania poleceń.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-LiteralPath
Określa lokalizację pliku transkrypcji. W przeciwieństwie do parametru Path, wartość parametru LiteralPath jest używana dokładnie tak, jak jest wprowadzana. Żadne 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 powinien interpretować żadnych znaków jako sekwencji ucieczki.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | PSPath, LP |
Zestawy parametrów
ByLiteralPath
| Position: | 0 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | NoOverwrite |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-OutputDirectory
Określa określoną ścieżkę i folder, w którym ma być zapisywana transkrypcja. Program PowerShell automatycznie przypisuje nazwę transkrypcji. Jeśli używasz ścieżki względnej, ścieżka jest względna względem katalogu Documents w systemie Windows. W systemach Linux i macOS ścieżka jest względna względem katalogu macierzystego.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ByOutputDirectory
| Position: | 0 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
ByPath
| Position: | 0 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseMinimalHeader
Dodaj krótki nagłówek do transkrypcji, zamiast domyślnie dołączanego szczegółowego nagłówka. Ten parametr został dodany w programie PowerShell 6.2.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie został uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazywać obiektów do tego cmdletu.
Dane wyjściowe
String
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.