0

PowerShellで次のコマンドを実行しようとしていますが、ダブルバックスラッシュ文字でエラーが発生し続けます。どうすればよいですか。私は他のフォーラムを見ました、そしてこの構文はそれらのためにうまく働きます!

$combined="C:\tools\PsExec.exe \\computer cmd.exe"
PS C:\Users\Desktop\initialutility\initutil_v2> Invoke-Expression $combined

At :line:1 char:20
+ C:\tools\PsExec.exe  <<<< \\computer cmd.exe

\computerを\xxxx(つまりIPアドレス)に置き換えました。それでも役に立たない..助けてください!

4

1 に答える 1

1

二重スラッシュが正常に機能するため、問題は別の場所にあると思います。

PS> $command = "c:\bin\psexec.exe \\genericpc1 hostname.exe"
PS> iex $command

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


GENERICPC1
hostname.exe exited on genericpc1 with error code 0.

Invoke-Expression のコンテキスト外で psexec.exe を実行してみて、最初にそれを機能させます。psexec を使用する際のもう 1 つの問題は、資格情報を指定しない場合に資格情報が使用されることです。つまり、資格情報がリモート システムで機能する必要があります。

PsExec に関する記事からのその他の要件は次のとおりです。

プロセスをリモートで実行する PsExec の機能には、ローカル コンピューターとリモート コンピューターの両方でファイルとプリンターの共有 (つまり、ワークステーション サービスとサーバー サービス) が有効になっており、既定の Admin$ 共有 (\windows ディレクトリにマップされる非表示の共有) が定義されている必要があります。リモートシステム上。

... ローカル システムで PsExec を実行するアカウントを偽装します。偽装は、セキュリティの観点から多少制限されています。リモート プロセスは、アカウントが通常アクセスできるネットワーク リソースであっても、ネットワーク リソースにアクセスできません。実行しているアカウントにリモート システムのローカル管理者権限がない場合、実行するプロセスがネットワーク リソースへのアクセスを必要とする場合、または別のアカウントでプロセスを実行する場合は、PsExec の -u を使用します。別のアカウント名を提供するように切り替えます。共有 (\windows ディレクトリにマップされる非表示の共有) がリモート システムで定義されます。

于 2013-01-31T17:12:06.650 に答える