Computer >> 컴퓨터 >  >> 체계 >> Windows Server

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

Windows 파일 서버 관리자는 여러 사용자가 동시에 연 공유 파일을 강제로 닫아야 하는 경우가 많습니다. 이것은 일반적으로 데스크톱 소프트웨어가 예상대로 작동하지 않거나 사용자가 잘못 로그오프하거나 사용자가 파일을 열고 닫는 것을 잊은 경우(집에 갔을 때, 휴가 중 등) 발생합니다. 이 모든 경우에 공유 네트워크 폴더의 파일은 여전히 ​​열려 있고 잠겨 있으며 다른 사용자가 수정할 수 없습니다. 다른 사용자는 잠긴 파일을 열려고 할 때 다음과 같은 메시지를 볼 수 있습니다(사용된 응용 프로그램에 따라 다름):The document filename is locked for editing by another user. To open a read-only copy of his document, click…

이 기사에서는 Windows 파일 서버에서 열린 파일 목록을 가져오는 방법, 공유 폴더에서 파일을 잠근 사용자를 찾는 방법, 열린 파일의 잠금을 해제하기 위해 파일 세션을 닫는(재설정) 방법을 보여줍니다.

Windows Server의 공유 네트워크 폴더에서 열린 파일 보기

내장된 컴퓨터 관리 를 사용하여 Windows 파일 서버에서 사용자가 연 파일 목록을 얻을 수 있습니다. (compmgmt.msc ) 그래픽 스냅인.

파일 서버에서 컴퓨터 관리 콘솔을 열고(또는 컴퓨터에서 실행 중인 관리 콘솔에서 원격으로 서버에 연결) 시스템 도구 로 이동합니다. -> 공유 폴더 -> 파일을 엽니다. 현재 SMB 서버에서 열려 있는 파일 목록이 창 오른쪽에 표시됩니다. 목록에는 파일에 대한 로컬 경로, 파일을 여는 사용자 계정 이름, 잠금 수 및 파일을 여는 모드(읽기 또는 쓰기+읽기)가 포함됩니다.

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

내장된 openfiles.exe를 사용하여 열린 파일의 동일한 목록을 얻을 수 있습니다. 콘솔 도구. 예를 들어, 다음 명령을 사용하여 세션 ID, 사용자 이름 및 열린 파일에 대한 전체 로컬 경로를 가져올 수 있습니다.

openfiles /Query /fo csv |more

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

사용자가 서버의 공유 네트워크 폴더에 있는 폴더나 파일에 원격으로 액세스하면 새 SMB 세션이 생성됩니다. 이러한 세션 ID를 사용하여 열린 파일을 관리할 수 있습니다.

원격 서버에 열려 있는 파일 목록을 표시할 수 있습니다. 예를 들어 lon-fs01의 공유 폴더에서 열려 있는 모든 파일을 나열해야 합니다. 호스트:

openfiles /Query /s lon-fs01 /fo csv

openfiles 명령을 사용하면 로컬에서 열린 파일 목록도 볼 수 있습니다. 이를 사용하려면 "객체 목록 유지 " 명령을 사용하는 옵션:openfiles /local on , 서버를 재부팅하십시오. 그 후 openfiles 명령은 로컬 프로세스에서 연 파일을 표시합니다(서버 성능에 부정적인 영향을 줄 수 있으므로 이 모드는 디버깅 목적으로만 사용하는 것이 좋습니다).

공유 폴더에서 파일을 잠그고 있는 사람을 찾는 방법

filename.docx를 열(잠근) 사용자를 식별하려면 원격 서버 lon-fs01의 공유 네트워크 폴더에 있는 파일에서 다음 명령을 실행합니다.

openfiles /Query /s lon-fs01 /fo csv | find /i "filename.docx"

/i 키는 대소문자를 구분하지 않는 파일 검색을 수행하는 데 사용됩니다.

파일 이름의 일부만 지정할 수 있습니다. 예를 들어 이름에 'sale_report'가 포함된 XLSX 파일을 열었던 사용자를 찾아야 합니다. 다음 파이프를 사용하십시오.

openfiles /Query /s lon-fs01 /fo csv | find /i "sale_report"| find /i "xlsx" 찾기

물론 컴퓨터 관리 GUI에서 이 파일을 찾을 수 있지만 덜 편리합니다(이 콘솔은 검색 기능을 제공하지 않습니다).

SMB 공유에서 열린 파일을 강제로 닫는 방법

열려 있는 파일을 닫으려면 파일 열기의 파일 목록에서 파일을 찾으세요. 섹션에서 열린 파일 닫기 를 선택하십시오. 컨텍스트 메뉴에서.

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

파일 서버에 수백 개의 열린 파일이 있는 경우 콘솔에서 특정 파일을 찾기가 쉽지 않습니다. Openfiles 를 사용하는 것이 더 편리합니다. 명령줄 도구. 이미 말했듯이 열린 파일의 세션 ID를 반환합니다. 이 세션 ID를 사용하여 SMB 연결을 재설정하여 파일을 강제로 닫을 수 있습니다.

먼저 열려 있는 파일의 세션 ID를 찾아야 합니다.

openfiles /Query /s lon-fs01 /fo csv | find /i "farm"| find /i ".xlsx" 찾기

수신된 SMB 세션 ID를 사용하여 파일에서 사용자 연결 끊기:

openfiles /Disconnect /s lon-fs01 /ID 617909089

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

모든 세션을 강제로 재설정하고 특정 사용자가 연 모든 파일의 잠금을 해제할 수 있습니다.

openfiles /disconnect /s lon-fs01/u corp\mjenny /id *

참고 . SMB 서버에서 클라이언트가 연 파일을 강제로 닫으면 저장하지 않은 데이터가 손실될 수 있습니다. 따라서 openfiles /disconnect를 사용하십시오. 명령 또는 Close-SMBOpenFile cmdlet(아래에서 설명)은 매우 주의해야 합니다.

Get-SMBOpenFile:PowerShell을 사용하여 열린 파일 처리기 찾기 및 닫기

Windows Server 2012/Windows 8용 PowerShell 버전에는 SMB 서버에서 공유 및 파일을 관리하기 위한 새로운 cmdlet이 나타났습니다. 이러한 cmdlet을 사용하여 열린 파일에 대한 네트워크 연결을 원격으로 닫을 수 있습니다.

Get-SMBOpenFile을 사용하여 열려 있는 파일 목록을 가져올 수 있습니다. cmdlet. SmbOpenFile 닫기 원격 파일에 대한 연결을 닫거나 재설정하는 데 사용됩니다.

Windows SMB 서버에서 열려 있는 파일 목록을 표시하려면 다음 명령을 실행하십시오.

Get-SMBOpenFile

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

이 명령은 파일 ID, 세션 ID 및 전체 파일 이름(경로)을 반환합니다.
사용자 및 컴퓨터 이름(IP 주소)으로 열려 있는 파일 목록을 표시할 수 있습니다.

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

특정 사용자가 연 모든 파일을 나열할 수 있습니다.

Get-SMBOpenFile –ClientUserName "corp\mjenny"|select ClientComputerName,Path

또는 특정 컴퓨터/서버에서:

Get-SMBOpenFile –ClientComputerName 192.168.1.190| select ClientUserName,Path 선택

열린 파일 목록을 패턴별로 표시할 수 있습니다. 예를 들어, 모든 exe를 나열하려면 공유 폴더에서 열린 파일:

Get-SmbOpenFile | Where-Object {$_.Path -Like "*.exe*"}

또는 특정 이름의 파일 열기:

Get-SmbOpenFile | Where-Object {$_.Path -Like "*reports*"}

Close-SmbOpenFile cmdlet은 열린 파일 처리기를 닫는 데 사용됩니다. ID로 파일을 닫을 수 있습니다:

Close-SmbOpenFile -FileId 4123426323239

그러나 일반적으로 파일을 닫는 것이 더 편리합니다.

Get-SmbOpenFile | where {$_.Path –like "*annual2020.xlsx"} | Close-SmbOpenFile -Force

Out-GridView 사용 cmdlet을 사용하면 열려 있는 파일을 찾고 닫기 위한 간단한 GUI 양식을 만들 수 있습니다. 다음 스크립트는 열린 파일을 나열합니다. SMB 세션을 재설정하려는 열린 파일을 찾으려면 Out-GridView 테이블의 기본 제공 필터를 사용해야 합니다. 그런 다음 필요한 파일을 선택하고 확인을 클릭해야 합니다. 그 결과 선택한 파일이 강제로 닫힙니다.

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru –title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

PowerShell을 사용하여 원격 컴퓨터에서 열린 파일을 닫는 방법

Get-SMBOpenFileClose-SmbOpenFile cmdlet을 사용하여 열린(잠긴) 파일을 원격으로 찾고 닫을 수 있습니다. 먼저 CIM 세션을 통해 원격 Windows SMB 서버에 연결해야 합니다.

$sessn = New-CIMSession –Computername lon-fs01

원격 서버에 연결하여 PSRemoting cmdlet을 사용하여 PowerShell 명령을 실행할 수도 있습니다. Enter-PSSession 또는 Invoke-Command .

다음 명령은 열린 파일 pubs.docx에 대한 SMB 세션을 찾습니다. 파일 세션을 닫습니다.

Get-SMBOpenFile -CIMSession $sessn | where {$_.Path –like "*pubs.docx"} | Close-SMBOpenFile -CIMSession $sessn

Y를 눌러 파일 닫기를 확인합니다. . 결과적으로 파일의 잠금을 해제했습니다. 이제 다른 사용자가 열 수 있습니다.

Windows Server SMB 공유에서 열린 파일을 보고 닫는 방법은 무엇입니까?

SMB 서버에서 파일을 강제로 닫는 확인을 제거하려면 -Force를 사용하십시오. 열쇠.

PowerShell을 사용하면 SMB 세션을 닫고 특정 사용자가 연 모든 파일의 잠금을 해제할 수 있습니다(사용자가 집에 가서 열린 파일을 해제하지 않음). 예를 들어, 사용자 mjenny의 모든 파일 세션을 재설정하려면 , 다음 명령을 실행하십시오:

Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName –like "*mjenny*"}|Close-SMBOpenFile -CIMSession $sessn