Score:0

ป้องกันไม่ให้ไฟล์ SMB ถูกล็อกในการใช้งานชั่วคราว - Windows

ธง cn

ฉันมีไฟล์ \เซิร์ฟเวอร์\แชร์\myApp\app.exe ที่คนไม่กี่คนเรียกใช้โดยตรงจากส่วนแบ่ง ฉันจำเป็นต้องอัปเดตไฟล์นั้นเป็นครั้งคราว แต่โดยปกติไฟล์จะถูกล็อกเนื่องจากเซสชัน SMB ที่เปิดอยู่

ขั้นตอนปกติของฉันสำหรับไฟล์ที่ถูกล็อกด้วย SMB ที่คล้ายกันคือการปิดไฟล์และเซสชันที่ล็อกไว้เช่น:

$openAppFiles = Get-SmbOpenFile | โดยที่ Path -like 'D:\Shares\myApp\*' 
$appSessions = $openAppFiles | เลือก SessionID -Unique

ปิด SmbOpenFile -FileID $openAppFiles.FileID -Force
ปิด SmbSession -SessionID $appSessions.SessionID -Force

แยกไฟล์เก็บถาวร $newZip -ปลายทาง 'D:\Shares\myApp\' -Force

แต่เมื่อเร็ว ๆ นี้ ฉันพบปัญหาที่ไคลเอ็นต์สามารถเชื่อมต่อใหม่และล็อกไฟล์ที่ฉันกำลังอัปเดตตั้งแต่หนึ่งไฟล์ขึ้นไปภายในหน้าต่างเล็ก ๆ นั้น ฉันสามารถทดสอบการพยายามเปลี่ยนชื่อไฟล์ได้ เช่น:

เปลี่ยนชื่อรายการ .\app.exe .\app.exe.bak

[ข้อผิดพลาด] เปลี่ยนชื่อรายการ: กระบวนการไม่สามารถเข้าถึงไฟล์ได้เนื่องจากกระบวนการอื่นกำลังใช้งานอยู่

มีวิธีใดบ้างที่ฉันสามารถบล็อกไคลเอนต์ชั่วคราวไม่ให้เข้าถึงไฟล์เหล่านี้

ฉันได้พิจารณาที่จะปิดการแชร์ชั่วคราว แต่ฉันคงต้องปิดหลังเวลาทำการ ฉันยังสามารถเรียกใช้ซ้ำได้จนกว่าจะใช้งานได้ แต่นั่นก็ไม่จำเป็นต้องแก้ปัญหาเช่นกัน ฉันสามารถลองตัวเลือกอื่น ๆ อะไรได้บ้าง

in flag
เป็น t!he executable บางอย่างที่คุณสามารถเปลี่ยนแปลงได้เช่น โดยให้ผู้พัฒนาเปลี่ยนแปลงด้วยวิธีใดวิธีหนึ่ง? ถ้าใช่ ให้เปลี่ยนในลักษณะที่เริ่มต้นจาก SMB ก่อน คัดลอกตัวเองไปยังพาธชั่วคราวในเครื่อง แล้วจึงเริ่มเวอร์ชันที่คัดลอก กระบวนการแรกสามารถสิ้นสุดและปล่อยให้โปรแกรมปฏิบัติการปลดล็อคได้
Cpt.Whale avatar
cn flag
@Robert น่าเสียดายที่ไม่ได้มาจากด้านใดด้านหนึ่ง ฉันไม่สามารถเปลี่ยน `app` เองได้ และมีซอฟต์แวร์อีกชิ้นที่เกี่ยวข้องซึ่งเรียกใช้ `app` ซึ่งฉันก็แก้ไขไม่ได้เช่นกัน ไม่จำเป็นต้องใช้เซสชัน smb หลังจากเปิดแอปแล้ว แต่ดูเหมือนว่าไคลเอนต์ windows จะสร้างใหม่ได้ตราบใดที่กระบวนการยังทำงานอยู่...
Score:1
ธง us

คุณสามารถลองเพิ่ม ปฏิเสธทุกคน การเข้าสู่ ACL ของหุ้น:

Block-SmbShareAccess -ชื่อ AppShare -ชื่อบัญชีทุกคน -Force

ถัดไป ดำเนินการยกเลิกการเชื่อมต่อผู้ใช้ที่เชื่อมต่อเหมือนที่คุณทำในสคริปต์ของคุณ

หลังจากอัปเดตแอปแล้ว ให้นำออก ปฏิเสธทุกคน รายการจาก ACL:

เลิกบล็อก-SmbShareAccess -ชื่อ AppShare -ชื่อบัญชีทุกคน -บังคับ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา