Bạn có thể truyền lệnh cho VM từ máy chủ không?


0

Tôi đã viết một tệp bó để đặt địa chỉ IP của máy chủ lưu trữ và hai máy ảo đang chạy trên đó. Hiện tại bạn phải sao chép tập lệnh vào từng máy và chạy nó không phải là điều tôi muốn, tôi muốn chạy tập lệnh trên máy chủ và gửi các lệnh cho mỗi VM.

Điều này có thể không?


Máy chủ và VM chạy gì?
Journeyman Geek

bạn muốn thông qua những lệnh nào?

Máy chủ và một trong các VM chạy Server 2012 R2 và VM khác là Windows 7. Tôi muốn có thể đặt IP tĩnh hoặc đặt chúng để nhận DHCP.
Daniel Neocleous

Ba octet đầu tiên cần phải là một biến sẽ được truyền từ một tệp bó.
Daniel Neocleous

Câu trả lời:


0

Bạn có thể dễ dàng thực hiện điều này với việc sử dụng Phiên PowerShell.

Đầu tiên, kích hoạt từ xa PowerShell. Để thực hiện việc này, hãy mở PowerShell với tư cách quản trị viên và chạy enable-psremoting -force.

Bất cứ điều gì bạn khai báo cục bộ đều có thể được chuyển vào một phiên sử dụng cú pháp tương tự như sau:

$a = 1
$b = 2
New-PSSession -ComputerName MyRemoteMachineName | Out-Null
Invoke-Command -Session (Get-PSSession) -ArgumentList($a, $b) -ScriptBlock {
    $args[0]
    $args[1]
}
Get-PSSession | Remove-PSSession

enter image description here

Bằng cách khai báo các biến và chuyển chúng vào một lệnh phiên "Danh sách đối số", chúng được chuyển vào phiên từ xa theo thứ tự. Trong trường hợp này: ArgumentList($a, $b) trở thành $args[0] & amp; $args[1]. Một biến thứ 3 có thể đã trở thành $ags[2] (vân vân).


truy xuất từ ​​một phiên cũng đơn giản như vậy - với cách sau:

$myString = "Something"
New-PSSession -ComputerName MyRemoteComputerName | Out-Null
$outputFromSession = Invoke-Command -Session (Get-PSSession) -ArgumentList($myString) -ScriptBlock {
    $args[0] + " " +  $env:COMPUTERNAME
}
$outputFromSession
Get-PSSession | Remove-PSSession

enter image description here

Bằng cách gán biến $outputFromSession để nắm bắt bất cứ thứ gì được trả về - cái này được chuyển trở lại từ phiên từ xa sang phiên cục bộ và sau đó có thể được sử dụng sau này và các nơi khác nếu cần.

Dễ dàng như vậy :)

Bến

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.