2017-02-02 21 views
0

Vagrantが運営するWindows 10仮想マシンで実行する必要がある.exeファイルをインストールするPowerShellスクリプトがあります。実行PowerShellスクリプトWindows 10ベースのバリアントマシン

VirtualBoxのGUIを使用してログインし、スクリプトを手動で実行すると、これを行うことができます。私が試してみました

vagrant powershell -c ".\script.ps1"

vagrant powershell -c "C:\vagrant\script.ps1 | Invoke-Item"

をまた、私はここで.cmdのファイルによって

@ECHO OFF 
SET ThisScriptsDirectory=%~dp0 
SET PowerShellScriptPath=%ThisScriptsDirectory%I_.ps1 
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs}"; 

をPowerShellスクリプトを実行しようとしたがPowerShellの

でベイグラントからの応答であります
==> default: Command: Invoke-Item C:\vagrant\I_O.ps1 executed succesfully with output code 0. 

しかし、実際には何も起こりません。タスクマネージャには、実行する必要がある.exeに関連するプロセスは含まれていません。

+0

「vagrant powershell」を実行すると、対話型のPSプロンプトが表示されます。 –

+0

@ JamesC。 デフォルト:PowerShellセッションを127.0に作成しています。 0.1:55985 デフォルト:Username:vagrant' –

+0

OK、WinRMが動作しているため、迷惑メールはマシンに接続できます。あなたのスクリプト "C:\ vagrant \ script.ps1"が迷惑メールマシンに存在しますか? (プロビジョニング中に迷惑メールマシンにコピーしましたか?) –

答えて

0

私が問題何が分かった - Windowsの(少なくともWindowsの10)は、ユーザーがログインしていない場合、私は必要とするアプリケーションを実行することはできません

私はWindowsのGUIで承認を管理する方法を見つけることができませんでした。ぼんやりしたので、私はこの自動シェル用のPowerShellスクリプトを使用しました:

$winLogging ='HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion \Winlogon' 
New-ItemProperty -Path $winLogging -Name AutoAdminLogon -PropertyType String -Value 1 -force | Out-Null  
New-ItemProperty -Path $winLogging -Name DefaultUserName -PropertyType String -Value Vagrant -force | Out-Null 
New-ItemProperty -Path $winLogging -Name DefaultPassword -PropertyType String -Value vagrant -force | Out-Null 

そして、それを仮想マシン内で実行しました。その後

私が走った:正常に実行された.exeファイルをインストールするための

vagrant reload 

そして、PowerShellスクリプトの後に。

関連する問題