web-dev-qa-db-ja.com

1つのアドレスからのみPowerShellリモートアクセスを許可する

ドメインではなくワークグループコンピューターとしてセットアップされている約60台のWindowsコンピューターの学校ネットワークを管理する必要があります。構成を簡単にするために、すべてのコンピューターでPowerShellリモート処理を有効にします。 (私はEnable-PSRemotingとこれを一般的に設定する方法を知っています)セキュリティリスクをできるだけ制限するには、これらのコンピューターへのリモート処理は、特定のIPアドレスを持つ管理PCからのみ可能でなければなりません。

したがって、次の例を検討してください。

Computer 1: only accepts remoting connection from admin, not from computer 2
Computer 2: only accepts remoting connection from admin, not from computer 1
Admin computer: can remote on all computers

1つのIPアドレスからのみWinRMプロトコルのトラフィックを許可するようにコンピューターにWindowsファイアウォールを設定する方法がわかりません。ネットワーク全体が「プライベート」に設定されています。

誰かが正しいファイアウォールルールを有効にするのを手伝ってくれる?

5
SebastianR

この記事で説明したように 指定されたIPアドレスのセットに対してのみPowerShellリモート処理を有効にする

(各クライアントpc1/pc2/pc ...に対して)次のことを行う必要があります。

enable-psremoting

次:enable-psremotingによって作成されたwinrm-listenerを削除します

Remove-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}

これでマシンは誰もリッスンしないため、admin-clientの新しいリスナーを作成する必要があります

New-WSManInstance winrm/config/Listener -SelectorSet @{Address="IP:10.11.12.13";Transport="http"}

winrmサービスを再起動します

spsv winrm -pass | sasv -pass |gsv   #*

(管理者としてPowerShellを実行する必要があります)

\*
*spsv = stop-service // sasv = start-service // gsv = get-service // -pass = -passThrough*
8
eli

おそらく、Powershellの「trustedhosts」リストが必要ですか。
trustedhosts-listに登録されていない場合は、マシンにリモートでアクセスできません

管理者としてPowershellコンソールを起動します

次のコマンドを実行します。

get-item wsman:\localhost\client\trustedhosts

「値」は、管理クライアントのIPアドレスまたは名前である必要があります。この値を設定するには、以下を実行します。

set-item wsman:\localhost\client\trustedhosts 192.168.1.2

(すでに値が1つある場合、またはadmin-clientsを実行する必要がある場合:

set-item wsman:\localhost\client\trustedhosts -concatenate admin02pcName

)もちろん、ワイルドカードを使用できます
省略できますget-item with giおよびset-itemsiおよび-concatenate-concat

0
eli