Конвертировать .bat в Powershell - PullRequest
1 голос
/ 21 мая 2019

Нужна небольшая помощь здесь. У меня есть следующий пакетный файл, который я хочу преобразовать в powershell. Что он делает, это редактировать запись реестра удаленно. Строки следующие:

sc \\FULLCOMPUTERNAME config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc \\FULLCOMPUTERNAME config mrxsmb10 start= disabled

Думаю, я собираюсь добавить это в Powershell? Просто добавьте эти строки, и PowerShell запросит полное имя компьютера, которое я бы ввел, тогда реестр будет обновлен. Было бы возможно? И если да, то как? Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

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

У Powershell есть свои собственные идиоматические способы для достижения этой цели, но это все еще оболочка, в которой вы можете вызывать другие программы, и sc.exe такая программа. Поскольку я не вижу никаких других пакетных конструкций (таких как аргументы командной строки) для перевода, я считаю, что этот скрипт, как показано, будет работать без изменений в любой среде.

0 голосов
/ 21 мая 2019

Чтобы запросить, для какого ПК вам просто нужно сохранить строку чтения в переменную (также можно получить и их учетные данные):

$targetServer = Read-Host;
$cred = Get-Credential;

для удаленной работы в powershell, вам необходимо создатьудаленный сеанс и вызовите команду.

$session = New-PSSession -ComputerName $targetServer -Credential $cred

Когда вы вызываете команду, вы передаете сеанс в качестве параметра:

Invoke-Command -Session $session -InputObject{
    Set-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\...' -Name 'This Process' -value 00000000
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...