Tôi có tập lệnh ps1 để lấy một số thông tin từ môi trường cụm vmware.Làm thế nào để thực hiện phím tắt bên trong PowerShell?
Ở một số nơi, tập lệnh ps1 yêu cầu phím tắt ENTER.
Vì vậy, Cách thực hiện điều đó?
-Cảm ơn
Tôi có tập lệnh ps1 để lấy một số thông tin từ môi trường cụm vmware.Làm thế nào để thực hiện phím tắt bên trong PowerShell?
Ở một số nơi, tập lệnh ps1 yêu cầu phím tắt ENTER.
Vì vậy, Cách thực hiện điều đó?
-Cảm ơn
Nếu tôi hiểu đúng, bạn muốn PowerShell để gửi ENTER tổ hợp phím cho một số ứng dụng tương tác?
$wshell = New-Object -ComObject wscript.shell;
$wshell.AppActivate('title of the application window')
Sleep 1
$wshell.SendKeys('~')
Nếu mà ứng dụng tương tác là một kịch bản PowerShell, chỉ cần sử dụng bất cứ thứ gì trên thanh tiêu đề của cửa sổ PowerShell như là đối số để AppActivate (theo mặc định, các đường dẫn đến powershell.exe). Để tránh sự mơ hồ, bạn có thể yêu cầu tập lệnh của bạn đặt lại một cửa sổ riêng bằng cách sử dụng lệnh title 'new window title'
.
Một vài lưu ý:
{ENTER}
, mặc dù chúng không giống nhau - đó là phím ENTER của bàn phím. Một danh sách đầy đủ có sẵn tại đây: http://msdn.microsoft.com/en-us/library/office/aa202943%28v=office.10%29.aspx.Sleep 1
là chờ 1 giây vì phải mất một chút thời gian để cửa sổ kích hoạt và nếu bạn gọi SendKeys ngay lập tức, nó sẽ gửi các phím đến cửa sổ PowerShell hoặc không đến đâu.Đôi khi wscript.shell 's SendKeys phương pháp có thể là một chút kỳ quặc, vì vậy nếu bạn gặp sự cố, thay thế dòng thứ tư trên với điều này:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('~');
Cảm ơn bổ sung Thêm Loại đó vào cuối. Đã đập đầu tôi vào tường trong một giờ cố gắng để có được kịch bản của tôi làm việc. – sliderhouserules
Đó là kịch bản tôi đã viết, yêu cầu tổ hợp phím ** ENTER **. thay vì nhấn nút ** nhập ** mọi lúc, chỉ cần tôi muốn tự động hóa. – HamTheAstroChimp
Tại sao phải nhấn enter? Bạn đang thực hiện máy chủ lưu trữ đọc? –
Bản ghi liên tục đăng nhập/đăng xuất từ một số máy. Vào thời điểm đăng xuất, yêu cầu xác nhận, vì vậy tôi phải nhấn nút ** nhập **. Đây là lý do tôi muốn tự động hóa. – HamTheAstroChimp