Назад | Перейти на главную страницу

Как настроить winrs для localhost?

При выполнении команд на локальном хосте я получаю ошибку Доступ запрещен следующим образом

PS C:\Windows\System32> winrs -r:localhost dir


Winrs error:Access is denied. PS C:\Windows\System32>

Ниже моя конфигурация

PS C:\Windows\System32> winrm enumerate winrm/config/listener
Listener
    Address = *
    Transport = HTTP
    Port = 80
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 127.0.0.1, 192.168.1.3, ::1, 2001:0:4137:9e50:20d3:3b94:3f57:fefc, fe80::5efe:192.168.1.3%11, fe80::20
d3:3b94:3f57:fefc%12, fe80::adea:d512:c3d3:8b08%10

PS C:\Windows\System32> winrm get winrm/config
Config
    MaxEnvelopeSizekb = 150
    MaxTimeoutms = 60000
    MaxBatchItems = 20
    MaxProviderRequests = 25
    Client
        NetworkDelayms = 5000
        URLPrefix = wsman
        AllowUnencrypted = false
        Auth
            Basic = true
            Digest = true
            Kerberos = true
            Negotiate = true
            Certificate = true
        DefaultPorts
            HTTP = 80
            HTTPS = 443
        TrustedHosts = *
    Service
        RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
        MaxConcurrentOperations = 100
        EnumerationTimeoutms = 60000
        MaxConnections = 25
        AllowUnencrypted = false
        Auth
            Basic = true
            Kerberos = true
            Negotiate = true
            Certificate = false
        DefaultPorts
            HTTP = 80
            HTTPS = 443
        IPv4Filter = *
        IPv6Filter = *
    Winrs
        AllowRemoteShellAccess = true
        IdleTimeout = 900000
        MaxConcurrentUsers = 5
        MaxShellRunTime = 2147483647
        MaxProcessesPerShell = 5
        MaxMemoryPerShellMB = 80
        MaxShellsPerUser = 2

Что мне делать, чтобы он работал?

У меня Windows Vista Starter Edition. Я использую PowerShell CTP 3.

Поскольку вы используете Vista Starter Edition, ваша система не может быть частью домена. Это имеет значение для WinRM (и удаленного взаимодействия PowerShell) - следующее взято из внутренней справки Powershell:

ps> get-help about_remote_faq | more

Ближе к концу это говорит следующее:

МОГУ ЛИ Я ТЕСТИРОВАТЬ УДАЛЕННОЕ УДАЛЕНИЕ НА ОДНОМ КОМПЬЮТЕРЕ (НЕ В ДОМЕНЕ)?

Да. Удаленное взаимодействие Windows PowerShell доступно, даже если локальная
компьютер не в домене. Вы можете использовать функции удаленного взаимодействия, чтобы
подключаться к сеансам и создавать сеансы на одном компьютере. В
функции работают так же, как и при подключении к удаленному компьютеру.

Чтобы запускать удаленные команды на компьютере в рабочей группе, измените
следуя настройкам Windows на компьютере.

-- Виндоус виста:

Create the following registry entry, and then set its value to 1:
LocalAccountTokenFilterPolicy in
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

You can use the following Windows PowerShell command to add this entry:

new-itemproperty `
-path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System `
-name LocalAccountTokenFilterPolicy -propertyType DWord -value 1

Какая ОС? Какая версия WinRM? Я вижу, что порты по умолчанию - 80 и 443, это означает, что вы, вероятно, используете WinRM 1.1 или WinRM 2.0 CTP1 или CTP2.

Если вы используете XP и у вас включен IIS, возникла проблема с WinRM. Я не уверен, что это уже исправлено. Чтобы решить эту проблему, просто остановите службу IIS и убедитесь, что WinRM заработал. Более постоянным исправлением было изменение порта сервера WinRM с 80 на что-то другое.

Изменить: ОК, верно, возможно, именно в RC порты изменились с 80 и 443. CTP3 по-прежнему использовал эти общие порты.