Người dùng của bạn đăng nhập ở nhà, kết nối VPN và chờ ánh xạ ổ đĩa vốn tự xuất hiện ở văn phòng. Đường hầm dựng lên, miền trả lời, và không có gì được ánh xạ. Không có gì hỏng: script đăng nhập chạy khi đăng nhập, và một đường hầm mở hai mươi phút sau khi phiên bắt đầu không phải là đăng nhập. Đọc hai việc đó như cùng một sự kiện khiến người ta đi tìm một lỗi VPN không tồn tại.

Bốn quyết định biến bất ngờ thành một quy trình làm việc cư xử đúng, và điều đầu tiên chỉ là biết script dựa trên những sự kiện nào.

Script dựa trên các sự kiện vòng đời mà bạn không thể phát lại

Chính sách phía máy tính được áp dụng khi máy khởi động và chính sách phía người dùng khi ai đó đăng nhập, trong khi bản làm mới nền đi qua các thiết lập đó mà không khởi động lại gì. Bản làm mới đó xử lý phần mở rộng script, nhưng không chạy lại các script riêng lẻ, vốn chỉ kích hoạt khi khởi động, tắt, đăng nhập hoặc đăng xuất. Vì vậy gpupdate /force có thể báo thành công trong khi ánh xạ vẫn thiếu, và một bản làm mới sạch không phải bằng chứng rằng script đã làm gì đó.

Tài liệu tham chiếu của Microsoft về xử lý chính sách vạch đúng ranh giới đó giữa việc xử lý phần mở rộng và việc chạy nội dung bên trong nó, và đó là trang cần trích dẫn khi ai đó khẳng định bản làm mới lẽ ra phải phát lại script.

Không phải script nào cũng thất bại khi ngoại tuyến. Một script chỉ đọc tài liệu cục bộ hoặc trong bộ nhớ đệm có thể đã thành công một phần, trong khi script chạm vào thư mục chia sẻ thất bại âm thầm và không để lại dấu vết rõ ràng. Hãy kiểm tra đường dẫn thực của script và nơi nó vươn tới trước khi đổ lỗi cho mạng. Cùng sự rà soát đó cũng dành cho mọi khẳng định rằng script không chạy khi đăng nhập, vì một tác vụ đã lên lịch hoặc một hành động của máy khách có thể đang làm việc ở nơi không ai nhìn.

Gắn công việc vào kết nối, không phải vào đăng nhập

Ba công việc khác nhau ẩn sau cụm từ script đăng nhập: ánh xạ ổ đĩa sau khi người dùng kết nối, áp dụng cấu hình máy trước khi ai đó đăng nhập, và lấy chính sách đã cập nhật. Chúng có thời hạn khác nhau, và chỉ công việc thứ hai thực sự cần kết nối trước khi đăng nhập. Viết yêu cầu thành một câu có thời hạn, ví dụ: ánh xạ này phải tồn tại trong vòng một phút sau khi đường hầm dựng lên.

Với công việc phải xảy ra sau kết nối, hãy dùng tác vụ được kích hoạt bởi kết nối hoặc hành động kết nối mà máy khách hỗ trợ. Kiểm tra sự kiện nào máy khách thực sự phát ra, vì sự kiện do máy khách VPN gốc của Windows nâng lên không được máy khách bên thứ ba nâng lên. Với cấu hình máy phải đi trước đăng nhập, câu trả lời được hỗ trợ là đường hầm thiết bị hoặc một thiết kế trước đăng nhập khác, không phải một tác vụ kích hoạt khi màn hình nền xuất hiện. Chạy công việc trong danh tính và phiên cần đến nó, vì một ánh xạ được tạo với quyền SYSTEM rơi vào một phiên mà người dùng không bao giờ thấy.

Kiểm tra mức sẵn sàng trước khi hành động, và thất bại thật to

Một sự kiện kết nối có thể đến trước khi DNS hoặc máy chủ tệp dùng được, nên tác vụ phải kiểm tra thứ nó cần thay vì giả định. Phân giải tên cụ thể, thử kết nối cụ thể, và thử lại với một giới hạn và một độ trễ: Resolve-DnsName files.corp.example trong một vòng lặp ngắn tách chưa-xong khỏi không-bao-giờ. Sau lần thử cuối, báo một thất bại cụ thể, kèm tên và lỗi bên trong.

Một vòng lặp vô hạn không có nhật ký thì không thể phân biệt với tác vụ chưa từng bắt đầu, và nó che giấu khác biệt giữa thông tin xác thực cũ và một quy tắc tường lửa.

Xác minh bốn điều, rồi làm cho nó lặp lại được

Trong giai đoạn thí điểm, ghi bốn quan sát thay vì một: sự kiện kết nối đã kích hoạt, tác vụ đã bắt đầu, tài nguyên đã trả lời, và thay đổi được yêu cầu thực sự đã xảy ra. Nếu nhật ký dừng ở tác vụ đã bắt đầu, lỗi thật vẫn vô hình dù bạn chờ bao lâu. Sau đó chạy gpresult /scope user /v để xem phiên nghĩ chính sách của mình là gì, và so với thiết lập bạn mong đợi. Một báo cáo liệt kê GPO là đã áp dụng vẫn không nói gì về một ánh xạ.

Làm cho công việc an toàn để lặp lại trước khi mở rộng nó, vì máy khách kết nối lại và tác vụ lại kích hoạt. Kiểm tra xem ánh xạ hoặc cấu hình đã tồn tại chưa trước khi tạo, và ghi lại những gì bạn tìm thấy. Công việc bị lặp sau mỗi lần kết nối lại tạm thời chính là cách một tác vụ hữu ích trở thành sự cố.

Ở nơi trình kích hoạt tự động không phù hợp, một hành động người dùng đã được phê duyệt chạy đúng script đã ký đó là một thiết kế hợp lý. Nó làm rõ thời điểm thay vì giả vờ rằng một sự kiện đăng nhập đã xảy ra.

Bài viết liên quan