Added new script
This commit is contained in:
55
ai_mgmt.py
Normal file
55
ai_mgmt.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import socket
|
||||
from smb.SMBConnection import SMBConnection
|
||||
|
||||
SERVER = "192.168.45.4"
|
||||
SHARE = "AGILENT"
|
||||
USERNAME = "" # leave empty for guest/anonymous
|
||||
PASSWORD = ""
|
||||
CLIENT_NAME = socket.gethostname()
|
||||
SERVER_NAME = SERVER # use IP for UNC path in TREE_CONNECT
|
||||
|
||||
|
||||
def list_csv_files(server, share, username="", password=""):
|
||||
"""Search an SMB1 share recursively and return all .csv file paths."""
|
||||
conn = SMBConnection(
|
||||
username, password,
|
||||
CLIENT_NAME, SERVER_NAME,
|
||||
use_ntlm_v2=True,
|
||||
is_direct_tcp=True # use port 445 directly
|
||||
)
|
||||
|
||||
if not conn.connect(server, 445):
|
||||
print("Failed to connect to the share.")
|
||||
return []
|
||||
|
||||
csv_files = []
|
||||
|
||||
def walk(path):
|
||||
entries = conn.listPath(share, path)
|
||||
for entry in entries:
|
||||
if entry.filename in (".", ".."):
|
||||
continue
|
||||
full_path = f"{path}/{entry.filename}"
|
||||
if entry.isDirectory:
|
||||
walk(full_path)
|
||||
elif entry.filename.lower().endswith(".csv"):
|
||||
csv_files.append(full_path)
|
||||
|
||||
try:
|
||||
walk("/")
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
return csv_files
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print(f"Searching \\\\{SERVER}\\{SHARE} for CSV files...\n")
|
||||
files = list_csv_files(SERVER, SHARE, USERNAME, PASSWORD)
|
||||
|
||||
if files:
|
||||
print(f"Found {len(files)} CSV file(s):")
|
||||
for f in files:
|
||||
print(f" {f}")
|
||||
else:
|
||||
print("No CSV files found.")
|
||||
Reference in New Issue
Block a user