Dlaczego konwertować VBS na PS1?
Microsoft wycofał VBScript - w Windows 11 24H2 stał się on funkcją opcjonalną, a Microsoft planuje przestać włączać go domyślnie około 2027 roku, by następnie całkowicie go usunąć. PowerShell jest dostarczany z systemem Windows i jest oficjalnym następcą automatyzacji Windows; każdy skrypt .vbs, który ma nadal działać, powinien zostać przepisany na .ps1 już teraz.
Jak przekonwertować VBS na PS1
Visual Studio Code FREE
Otwórz plik .vbs i nowy plik .ps1 w widoku podzielonym; VS Code zapewnia podświetlanie składni dla obu języków i sprawia, że przepisywanie obok siebie jest proste.
Notepad++ FREE
Otwórz .vbs i nowy .ps1 obok siebie w widoku wielookienkowym Notepad++, aby ręcznie przenieść każdą sekcję; Notepad++ posiada wbudowane podświetlanie składni zarówno dla VBScript, jak i PowerShell.
O tych formatach
Plik VBS to VBScript - kod źródłowy w formacie czystego tekstu, który Windows uruchamia za pomocą wbudowanego hosta skryptów Windows Script Host. Dwukrotne kliknięcie pliku .vbs powoduje…
Otwórz szczegóły .VBS →Plik PS1 to skrypt Windows PowerShell - plik tekstowy z poleceniami automatyzującymi zadania w systemach Windows, macOS lub Linux. W systemie Windows kliknij go prawym przyciskiem myszy i…
Otwórz szczegóły .PS1 →Jakość i na co uważać
- Typowe mapowania:
CreateObject(„Scripting.FileSystemObject”)staje się wbudowanymi poleceniami cmdlet, takimi jakGet-ItemiCopy-Item;WScript.Echostaje sięWrite-Output; pętleFor Eachstają się pętlamiforeachz zaktualizowaną składnią. - Jeśli zasady wykonywania blokują plik
.ps1przy pierwszym uruchomieniu, użyj poleceniaSet-ExecutionPolicy RemoteSigned -Scope CurrentUserw PowerShell. - Nie istnieje dedykowany konwerter VBS-na-PS1; asystenci AI mogą przygotować szkic odpowiednika w PowerShell dla krótkich skryptów, ale wynik zawsze wymaga przeglądu i testów.
Najczęściej zadawane pytania
Czy istnieje automatyczny konwerter VBS na PowerShell?
Dlaczego nie pozostać przy pliku `.vbs`?
.vbs ostatecznie przestaną się uruchamiać.Czy wywołania obiektów COM przenoszą się do PowerShell?
New-Object -ComObject dla dostępu do COM, więc wywołania WScript.Shell można często zastąpić przez New-Object -ComObject WScript.Shell.