Đôi khi chúng ta cần thực hiện các tác vụ quản trị nhỏ trong SharePoint. Một kịch bản PowerShell đơn giản là một công cụ thực sự tốt cho điều đó. Ví dụ, kịch bản như vậy có thể liệt kê xử lý sự kiện của một danh sách:Làm thế nào xấu là nó không vứt bỏ() trong Powershell?
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$site = new-object Microsoft.SharePoint.SPSite($args[0])
$site.RootWeb.Lists["MyList"].EventReceivers > C:\MyListHandlers.txt
Người ta biết rằng đối tượng như SPSite
và SPWeb
phải Dispose()
-d sau khi một cuộc gọi, nếu không rò rỉ bộ nhớ xảy ra. Điều tốt nhất là gọi
$site.RootWeb.dispose()
$site.dispose()
ở cuối tập lệnh này. Nhưng nếu đây là một kịch bản Powershell mà sẽ chỉ được chạy một lần, và chúng ta biết rằng PowerShell làm sạch sau khi thực hiện - là nó rất xấu để không gọi vứt bỏ()?
Vì vậy, câu hỏi của tôi là - có một số nguy hiểm nếu đôi khi tôi chạy các tập lệnh như thế này; nó sẽ ảnh hưởng đến sự ổn định tổng thể của trang trại SharePoint (hoặc của máy chủ mà trên đó tôi đang chạy tập lệnh)?
Công cụ tuyệt vời nhưng nó có mùi giống như Perl và giữ tôi đi;) –
Đó là ấn tượng đầu tiên của tôi, nhưng nó cho phép làm việc với bất kỳ lớp .net nào mà không biên dịch v.v. – naivists