Nowy w skryptach i potrzebuje pomocy w uruchomieniu skryptu PowerShell do wdrożenia oprogramowania. (zablokowane wykonanie PowerShell) [zamknięte]

0

Poniższy skrypt został napisany dla mnie. Mój problem polega na tym, że kiedy nasz zdalny system wdrażania wykonuje skrypt, program Powershell na komputerze lokalnym nie uruchomi skryptu. Jednak nie ma problemu z uruchomieniem .vbs. Krótko mówiąc, nasze oprogramowanie do zdalnego wdrażania kopiuje ten plik .zip na wszystkie komputery, które nie są podłączone do naszej domeny. Ten skrypt powinien rozpakować pliki do określonej lokalizacji.

Czy nie jest zbyt skomplikowane, czy istnieje sposób na przekonwertowanie tej funkcji na łatwy plik .vbs, czy istnieje sposób użycia polecenia wsadowego, aby umożliwić programowi PowerShell wykonanie tego skryptu na wszystkich stacjach roboczych, których potrzebuję?

SetoShell = CreateObject( "WScript.Shell" )
user=oShell.ExpandEnvironmentStrings("%UserName%")
comp=oShell.ExpandEnvironmentStrings("%ComputerName%")
USRPROFILE = oshell.expandenvironmentstrings("%UserProfile%")
Appdata = USRProfile & "\AppData\"
sZipFile = "C:\ProgramData\CentraStage\Packages\377fa3f4-6b60-4ec5-94b9-fc1716d53ea9#\vidistar.zip"
sTargetFolder = appdata
DimoShellApp:SetoShellApp = CreateObject("Shell.Application")
DimoFSO:SetoFSO = CreateObject("Scripting.FileSystemObject")
   'Create the target folder if it isn't already there
IfnotoFSO.FolderExists(sTargetFolder) Then
    oFSO.CreateFoldersTargetFolder
    wscript.echosTargetFolder & "  Folder Has Been Created "
endif
'Extract the files from the zip into the folder
oShellApp.NameSpace(sTargetFolder).CopyHereoShellApp.NameSpace(sZipFile).Items
Mikrofon
źródło

Odpowiedzi:

1

Ten przykładowy kod wygląda jak VBScript, a nie PowerShell. Spróbuj uruchomić go z cscript.

Lub, jeśli Twój zdalny system wdrażania wie, jak uruchamiać pliki .vbs, po prostu zmień rozszerzenie z .ps1 na .vbs.

Seler Man
źródło
Ponadto w systemie Vista lub nowszym prawdopodobnie nie chcesz upuszczać plików %userprofile%\appdata. Zamiast tego, appdtata\roamingczy appdata\localbyłoby bardziej odpowiednie.
Seler Man
0

Oto wielka wskazówka:

Get-Help Set-ExecutionPolicy

i

Get-Help about_execution_policies

Najważniejsze pytanie brzmi: czy twoje maszyny docelowe mogą uruchamiać niepodpisane skrypty? Program PowerShell ma różne ograniczenia w zależności od sesji i ogólnie po wyjęciu z pudełka okaże się, że zasady są ograniczone.

Możesz ustawić zasady wykonywania za pomocą Zasad Grupy na komputerach przyłączonych do domeny, i jest to na ogół preferowane.

blaughw
źródło