Xin chào, tôi rất mới với Powershell nhưng tôi có một câu hỏi cười khúc khích. Tôi muốn có thể biết liệu một lệnh đã hoàn thành thành công sao cho tôi có thể cung cấp các thông điệp có ý nghĩa để lưu trữ.Xác định xem lệnh Powershell có thành công hay không
Tôi đang sử dụng lệnh appcmd
để thêm ràng buộc trong IIS. Về cơ bản mà đi như sau:
./appcmd set site /site.name:........................
Nhưng làm thế nào tôi có thể làm một kiểm tra để đảm bảo nó là thành công hay không?
Tôi nghĩ rằng nếu tôi chỉ cần đặt Write-Host "Successfully added binding"
sau tuyên bố đó, nó sẽ kích hoạt sau khi bất kể nếu appcmd
thành công.
Tôi đoán tôi cần phải làm một cái gì đó như:
$successful = ./appcmd set site /site.name:........................
nhưng sau đó $successful
có vẻ là một chuỗi chứa kết quả msg?
Nỗ lực giúp đỡ về điều này! Chúc mừng
cảm ơn câu trả lời. Vì vậy, tôi giả định rằng '$?' Và '$ LastExitCode' là tương đối? Giả sử tôi thực hiện lệnh này (hoặc một) cmd khác trong suốt kịch bản - các vars đó liên quan đến lệnh cuối cùng đã được thực thi? – baron
Chính xác. '$?' áp dụng cho tất cả các lệnh thực hiện. Nó cho biết thành công của lệnh trước đó. Lưu ý rằng các lỗi không kết thúc (Get-ChildItem idontexist) vẫn dẫn đến một '$?' Trả về true. Nếu một lệnh ném một lỗi kết thúc thì '$?' Trả về $ false. Nếu cần thiết, bạn có thể bắt buộc lệnh chuyển đổi lỗi không kết thúc thành lỗi kết thúc bằng cách sử dụng tham số phổ biến '-ErrorAction Stop'. '$ LastExitCode' giữ mã thoát cho EXE được thực hiện gần đây nhất. –