2012-01-09 25 views
2

Powershellスクリプトを実行すると、以下のエラーが表示されます。パラメータを持つpowershellでプログラムを実行するにはどうすればよいですか?スクリプトはグループポリシーのログオンになります。powershell:パラメータを使用してプログラムを起動するスクリプト?

起動-式:位置パラメータは は、引数 ':0/sの ILENT/nolicprompt \ TBHSERVER \ NETLOGON \ BGInfo \ BGIFILE.bgi /タイマー' を受け入れることを見つけることができません。で X:PowerShellの\ UpdateDesktopWithBGInfo.ps1 \ \システム\スクリプト:6文字:18 +起動-式< < < < $ logonpath $ ArguList + CategoryInfo:InvalidArgument:(:) [-式を起動]、ParameterBindingException + FullyQualifiedErrorId:PositionalParameterNotFound、Microsoft.PowerShell.Commands.InvokeExpressionCommand

$LogonPath = $env:LOGONSERVER + "\NETLOGON\BGInfo\Bginfo.exe" 
$ArguList = $env:LOGONSERVER + '\NETLOGON\BGInfo\BGIFILE.bgi /timer:0 /silent /nolicprompt ' 
invoke-command $LogonPath 
Invoke-Expression $logonpath $ArguList 

答えて

5

これを試してみてください:

& "\\$env:LOGONSERVER\NETLOGON\BGInfo\Bginfo.exe" "\\$env:LOGONSERVER\NETLOGON\BGInfo\BGIFILE.bgi" /timer:0 /silent /nolicprompt 
BGIFILE.bgiがBginfo.exeと同じ場所に存在する場合

することは、あなたは、ファイル名のみを指定することができます。

& "\\$env:LOGONSERVER\NETLOGON\BGInfo\Bginfo.exe" BGIFILE.bgi /timer:0 /silent /nolicprompt 
+0

ありがとうございます:-)私はちょうど$ envLogonserverを含むように2番目のパスを変更する必要がありました。同じコマンドを実行する必要がある場合は、最後のコマンドを含めることになります。 "&" $ env:LOGONSERVER \ NETLOGON \ BGInfo \ Bginfo.exe "" $ env:LOGONSERVER \ NETLOGON \ BGInfo \ default.bgi "/ timer:0/silent/nolicprompt" – resolver101

+2

@ resolver101 - うまくいけば答えを受け入れるべきです。答えの横のチェックマークをクリックしてください。 – manojlds

+0

@ resolver101 .bgiファイルがbginfo.exeと同じ場所にある場合は、パスを短くすることができます。私は私の答えを更新します –

7

Invoke-Commandは、リモートからコマンドを実行するのに最適です。 Shayが指摘しているように、アンパサンド&を使用して、cmd.exeシェルと同じようにローカルでPowerShellに何かを実行させることができます。

$program = "C:\windows\system32\ping.exe" 
$programArgs = "localhost", "-n", 1 
Invoke-Command -ScriptBlock { & $program $programArgs } 

お知らせスクリプトブロックでのアンパサンドの使用:あなたはこのような何かをする必要がありますInvoke-Command作品を作るために

。したがって、ローカルでコマンドを実行している場合は、Shayの例としてアンパサンドを使用してください。

+0

情報ありがとうございます。私はあなたが私に投げることができるすべての情報を詮索しているので、すべての情報がパワーシェルを学習しています:-) – resolver101

関連する問題