Сценарий Power Shell для смены пароля на нескольких Linux-серверах с помощью Plink [дубликат]Linux

Ответить Пред. темаСлед. тема
Anonymous
 Сценарий Power Shell для смены пароля на нескольких Linux-серверах с помощью Plink [дубликат]

Сообщение Anonymous »

Я подключаюсь к переходному хосту Windows и от него к нескольким виртуальным машинам Linux. Я хочу сменить пароли на всех этих виртуальных машинах за один раз, поскольку мне приходится делать это каждые 30 дней. Для этого я выбрал комбинацию Power Shell и Plink, однако получаю ошибку. Может ли кто-нибудь помочь исправить это или любую другую альтернативу сделать то же самое.

Код: Выделить всё

# File containing the list of servers
$ServerList = "C:\Users\seamless.aman\Desktop\server-list.txt"

# Credentials
$Username = "seamless.aman"
$CurrentPassword = "old_pass"
$NewPassword = "new_pass"

# Path to plink.exe
$PlinkPath = "C:\Program Files\PuTTY\plink.exe"

# Loop through each server
foreach ($Server in Get-Content $ServerList) {
Write-Host "Connecting to $Server..." -ForegroundColor Cyan

try {
# Temporary command file
$CommandFile = "C:\Temp\command-$Server.txt"
"echo -e `"$CurrentPassword`n$NewPassword`n$NewPassword`" | passwd $Username" | Set-Content $CommandFile

# Execute plink with -m
& $PlinkPath -ssh -v -l $Username -pw $CurrentPassword $Server -m $CommandFile

Write-Host "Password changed successfully on $Server." -ForegroundColor Green
} catch {
Write-Host "Failed to change password on $Server: $($_.Exception.Message)" -ForegroundColor Red
}
}
Файл server-list.txt содержит IP-адрес виртуальной машины Linux. При запуске сценария возникает ошибка ниже.

Код: Выделить всё

PS C:\Users\seamless.aman\Desktop> .\change-password.ps1
At C:\Users\seamless.aman\Desktop\change-password.ps1:28 char:50
+         Write-Host "Failed to change password on $Server: $($_.Except ...
+                                                  ~~~~~~~~
Variable reference is not valid. ':' was not followed by a valid variable name character. Consider using ${} to delimit the name.
+ CategoryInfo          : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : InvalidVariableReferenceWithDrive
Примечание. Я новичок в Power Shell и воспользовался помощью Chatgpt для написания этого сценария.

Подробнее здесь: https://stackoverflow.com/questions/791 ... sing-plink
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»