Squeak.ru - шаблоны программирования

Как я могу использовать альтернативные учетные данные для записи ключа реестра?

Сценарий, который я создаю, должен запросить ключ регистрации (сделано), подключиться к веб-сервису через прокси-сервер (сделано), а затем установить ключ реестра в HKLM.

Мы пытаемся адаптировать сценарий для сохранения даты окончания гарантии на машины Dell в реестре. Сценарий должен выходить через наши прокси, и случайно я заметил, что PowerShell по умолчанию учитывает настройки прокси IE (даже с использованием PAC-файла), и это здорово! К сожалению, у нас есть еще одно требование — скрипт должен писать в HKLM, что могут делать только администраторы.

Я пытался использовать командлет New-Item и -Credential в соответствии с информацией о technet, но это не так.

Поставщик не поддерживает использование учетных данных. Выполните операцию еще раз, не указывая учетные данные».

Я нашел эта тема, в которой предлагается сопоставить новый PSDrive с учетными данными. Это, однако, выдает ту же ошибку.

Есть ли способ в PowerShell, которым я могу писать в HKLM, используя альтернативные учетные данные?


  • По какой причине вы не можете запустить скрипт от имени администратора? Вы все равно должны повысить эти разрешения, чтобы записать ключ, так почему бы не сделать это для всего запуска? 28.05.2015
  • Учетные записи администратора, которые у нас есть, и локальная учетная запись администратора не могут выйти через прокси-сервер, поэтому для этого потребуются другие альтернативные учетные данные. 28.05.2015

Ответы:


1

Если на хосте включено PS Remoting, вы можете запустить команду через Invoke-Command:

$key   = 'HKLM:\Some\Subkey'
$value = 'ValueName'
$type  = 'String'
$data  = 'foobar'

$cred  = Get-Credential

Invoke-Command -Computer $env:COMPUTERNAME -ScriptBlock {
  New-ItemProperty -Path $args[0] -Name $args[1] -Type $args[2] -Value $args[3]
} -ArgumentList $key, $value, $type, $data -Credential $cred
28.05.2015
  • Спасибо, Ансгар. Я хочу развернуть этот скрипт через SCCM, чтобы зафиксировать все машины по мере их подключения к сети. Мы думаем, может быть, создать объект групповой политики и предоставить пользователям доступ к конкретному ключу, который мы хотим написать. Мы хотим записать специальный ключ в реестр, чтобы не отставать от других регионов нашего бизнеса, которые используют сценарий, чтобы сделать то же самое для разных производителей (HP и Lenovo) и использовать инвентаризацию оборудования SCCM для захвата ключа. 29.05.2015

  • 2

    Мы собираемся решить эту проблему по-другому, используя объект групповой политики, чтобы предоставить пользователю разрешения на ключи, в которые я хочу писать.

    Это кажется странным недостатком Powershell.

    08.06.2015

    3

    Попробуй это

    $key   = 'HKLM:\SOFTWARE\WOW6432Node\Citrix\Ica\Session'
    $value = 'ClientAddress'
    $type  = 'String'
    $data  = '10.11.19.35'
    
    $secpasswd =  “your-password” | ConvertTo-SecureString -AsPlainText -Force 
    $credential = New-Object System.Management.Automation.PSCredential (“domain\your-username”, $secpasswd) 
    
    $cmd = "New-ItemProperty -Path $key -Name $value -Type $type -Value $data"
    
    $pinfo = New-Object System.Diagnostics.ProcessStartInfo
    $pinfo.FileName = "C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe"
    $pinfo.RedirectStandardError = $true
    $pinfo.RedirectStandardOutput = $true
    $pinfo.UseShellExecute = $false
    $pinfo.Arguments = "-Command $cmd"
    $pinfo.Username = $credential.username
    $pinfo.Password = $credential.password
    $p = New-Object System.Diagnostics.Process
    $p.StartInfo = $pinfo
    $p.Start() | Out-Null
    $p.WaitForExit()
    $stdout = $p.StandardOutput.ReadToEnd()
    $stderr = $p.StandardError.ReadToEnd()
    Write-Host "stdout: $stdout"
    Write-Host "stderr: $stderr"
    Write-Host "exit code: " + $p.ExitCode
    
    08.02.2019
    Новые материалы

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...