You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,12 @@ For the fuller explanation, use the [visual field guide](docs/visual-field-guide
31
31
32
32
For the first real run:
33
33
34
-
1. Download `ShareSurfer-0.1.0-pre.34.zip` and its SHA256 file from the [current prerelease](https://github.com/jonathanweinberg/ShareSurfer/releases/tag/v0.1.0-pre.34). If that tag is not visible, use the latest published prerelease and substitute its version in the paths below.
35
-
2. Extract to `C:\` so the release root is `C:\ShareSurfer-0.1.0-pre.34\`.
34
+
1. Download `ShareSurfer-0.1.0-pre.35.zip` and its SHA256 file from the [current prerelease](https://github.com/jonathanweinberg/ShareSurfer/releases/tag/v0.1.0-pre.35). If that tag is not visible, use the latest published prerelease and substitute its version in the paths below.
35
+
2. Extract to `C:\` so the release root is `C:\ShareSurfer-0.1.0-pre.35\`.
@@ -232,7 +232,7 @@ Current screenshots are under [docs/visuals/dashboard-screenshots/2026-06-09-cur
232
232
233
233
## Pre-1.0 Release Packaging
234
234
235
-
The first packages are unsigned but fully built. `v0.1.0-pre.34` includes the module, scripts, docs, SHA256 files, release manifest, dependency-age report, and prebuilt dashboard template assets. The manifest records `UnsignedPre1.0`.
235
+
The first packages are unsigned but fully built. `v0.1.0-pre.35` includes the module, scripts, docs, SHA256 files, release manifest, dependency-age report, and prebuilt dashboard template assets. The manifest records `UnsignedPre1.0`.
236
236
237
237
Release identity lives in [release-metadata.json](release-metadata.json). Update that file first when preparing a prerelease; packaging fails closed when the manual version or tag does not match.
Copy file name to clipboardExpand all lines: docs/admin-ownership-import.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,10 +133,10 @@ Enriched rows can add these review fields:
133
133
134
134
## Step 1: Test The CSV
135
135
136
-
If `v0.1.0-pre.34` is not visible yet on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), use the latest published prerelease and substitute that version in `$releaseRoot`.
136
+
If `v0.1.0-pre.35` is not visible yet on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), use the latest published prerelease and substitute that version in `$releaseRoot`.
Copy file name to clipboardExpand all lines: docs/command-recipes.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,10 +5,10 @@ This page collects the most common first-run commands in one place. Use it when
5
5
The examples assume the current quickstart release is unpacked here:
6
6
7
7
```text
8
-
C:\ShareSurfer-0.1.0-pre.34\
8
+
C:\ShareSurfer-0.1.0-pre.35\
9
9
```
10
10
11
-
If `v0.1.0-pre.34` is not visible yet on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), use the latest published prerelease and substitute that version in every `ShareSurfer-0.1.0-pre.34` path and ZIP name below. The commands also assume Windows PowerShell 5.1 unless a command explicitly says otherwise.
11
+
If `v0.1.0-pre.35` is not visible yet on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), use the latest published prerelease and substitute that version in every `ShareSurfer-0.1.0-pre.35` path and ZIP name below. The commands also assume Windows PowerShell 5.1 unless a command explicitly says otherwise.
12
12
13
13
## Start Here
14
14
@@ -49,11 +49,11 @@ If `v0.1.0-pre.34` is not visible yet on the [ShareSurfer Releases page](https:/
49
49
50
50
## Recipe 1: Unpack and Import the Release
51
51
52
-
Use this on the Windows collector host after downloading `ShareSurfer-0.1.0-pre.34.zip` from the GitHub release on an approved connected workstation. If that checkpoint ZIP is not published yet, download the latest published prerelease ZIP and update `$releaseZip` and `$releaseRoot` to match it.
52
+
Use this on the Windows collector host after downloading `ShareSurfer-0.1.0-pre.35.zip` from the GitHub release on an approved connected workstation. If that checkpoint ZIP is not published yet, download the latest published prerelease ZIP and update `$releaseZip` and `$releaseRoot` to match it.
@@ -71,7 +71,7 @@ The `Unblock-File` line clears the Windows downloaded-file block from ShareSurfe
71
71
72
72
Run that manual unblock first for the no-prompt path. If you start `Start-ShareSurfer.ps1` before unblocking, Windows may still ask once for the launcher itself; after you choose **Run once**, the launcher attempts the same recursive unblock before importing ShareSurfer.
73
73
74
-
Both `Test-Path` commands should return `True`. If either returns `False`, check for a doubled folder such as `C:\ShareSurfer-0.1.0-pre.34\ShareSurfer-0.1.0-pre.34`.
74
+
Both `Test-Path` commands should return `True`. If either returns `False`, check for a doubled folder such as `C:\ShareSurfer-0.1.0-pre.35\ShareSurfer-0.1.0-pre.35`.
75
75
76
76
## Recipe 1A: Generate a Guided Startup Plan
77
77
@@ -84,7 +84,7 @@ If `ownership-enrichment.csv` is missing, interactive startup can offer to launc
84
84
The easiest release-root launcher opens the ShareSurfer Start Menu:
@@ -213,7 +213,7 @@ If you need ShareSurfer to ask you about each header in the console, add `-Inter
213
213
To gather AD data from an HR or OBS file before scanning, create an enrichment CSV. ShareSurfer uses employee ID or employee number values from the source CSV to look up matching AD accounts when `-AdLookupMode Auto` or `ActiveDirectory` can read the directory. It fills available account, mail, title, office, manager, and OBS fields, then writes a local CSV that travels with the scan evidence.
@@ -381,7 +381,7 @@ When `NetShareGetInfo` returns a path like `C:\Public\Share` for a remote target
381
381
Use this when ShareSurfer can reach a share but `share_permissions.csv` is empty, `shares.csv` says `PartialData=True`, or `collection_errors.csv` shows share-permission or native security descriptor failures. This goes past "is the port open" and records each share-permission proof attempt.
@@ -432,7 +432,7 @@ Before owner signoff, open `evidence_confidence.csv` or the dashboard Scan Confi
432
432
Use this after a scan has produced `owner_review_packets.csv` and `related_data_areas.csv`. The draft files are plain CSVs that can be edited in Excel, reviewed in a meeting, and imported back into the export folder before rebuilding the report or standalone dashboard.
Copy file name to clipboardExpand all lines: docs/first-run-guide.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,8 +8,8 @@ If report or command terms are unfamiliar, keep the [glossary](glossary.md) open
8
8
9
9
For a first useful scan:
10
10
11
-
1. Extract the current `v0.1.0-pre.34` release ZIP to `C:\`. If that checkpoint tag is not visible on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases) yet, use the latest published prerelease and substitute that version in the paths below.
12
-
2. Use `C:\ShareSurfer-0.1.0-pre.34\` as `$releaseRoot`, or replace the version folder with the published prerelease you actually extracted.
11
+
1. Extract the current `v0.1.0-pre.35` release ZIP to `C:\`. If that checkpoint tag is not visible on the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases) yet, use the latest published prerelease and substitute that version in the paths below.
12
+
2. Use `C:\ShareSurfer-0.1.0-pre.35\` as `$releaseRoot`, or replace the version folder with the published prerelease you actually extracted.
13
13
3. Run the recursive `Unblock-File` command in Step 1 before importing the module.
14
14
4. Pick one known share and the correct `-ObsAttribute`.
15
15
5. Recommended: run `Start-ShareSurfer.ps1` to open the ShareSurfer Start Menu, then choose the guided scan setup when you are ready to generate a reusable first-run JSON config, plan, and rerun script. If you already know the startup command you want, you can still import the module and run `Start-ShareSurferStartup` directly.
@@ -92,17 +92,17 @@ $PSVersionTable.PSVersion
92
92
93
93
The major version should be `5`.
94
94
95
-
If you are using the `v0.1.0-pre.34` release ZIP, extract it to `C:\`. If that checkpoint tag is not visible yet, use the latest published prerelease and substitute that version in the paths below. The extracted release root should be:
95
+
If you are using the `v0.1.0-pre.35` release ZIP, extract it to `C:\`. If that checkpoint tag is not visible yet, use the latest published prerelease and substitute that version in the paths below. The extracted release root should be:
96
96
97
97
```text
98
-
C:\ShareSurfer-0.1.0-pre.34\
98
+
C:\ShareSurfer-0.1.0-pre.35\
99
99
```
100
100
101
-
If Windows Explorer suggests extracting to `C:\ShareSurfer-0.1.0-pre.34`, change the destination to `C:\` so you do not end up with a doubled nested folder. From PowerShell:
101
+
If Windows Explorer suggests extracting to `C:\ShareSurfer-0.1.0-pre.35`, change the destination to `C:\` so you do not end up with a doubled nested folder. From PowerShell:
@@ -716,12 +716,12 @@ For the longer version, see the [nonpermissive collector to dashboard host workf
716
716
717
717
## Optional: Generate the Standalone Dashboard
718
718
719
-
The legacy `report.html` remains the safest default report because it is generated directly by the PowerShell module. The v0.1.0-pre.34 release package from the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), or the latest published prerelease while waiting for that checkpoint tag to appear, also includes prebuilt standalone dashboard template assets for richer novice-admin and business-owner review.
719
+
The legacy `report.html` remains the safest default report because it is generated directly by the PowerShell module. The v0.1.0-pre.35 release package from the [ShareSurfer Releases page](https://github.com/jonathanweinberg/ShareSurfer/releases), or the latest published prerelease while waiting for that checkpoint tag to appear, also includes prebuilt standalone dashboard template assets for richer novice-admin and business-owner review.
720
720
721
721
If you are using the release ZIP, you do not need Node, npm, Vite, a development server, or internet access to package the dashboard. Run the packager from Windows PowerShell 5.1 and point it at the extracted release root:
Copy file name to clipboardExpand all lines: docs/first-run-troubleshooting.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Also do not treat a high confidence label as permission approval. Confidence is
40
40
| Normalized ownership rows show `PotentialServiceAccount=True`| The row has no OBS, no employee ID, and no employee number after import. | Treat it as a review clue, not proof. It may be a service account, automation account, shared account, or incomplete HR/directory record. |
41
41
|`owner-mapping-draft.csv` has blank owners | The draft is a starter file, not a completed owner mapping. | Fill in `Owner` and `BusinessUnit`, save it as `owner-mapping.csv`, and rerun the scan with `-OwnerMappingPath`. |
42
42
|`Discounted principals file was not found`|`-DiscountedPrincipalPath` was passed, but the CSV does not exist. | Remove the parameter until the file exists, or create `discounted-principals.csv` with at least an `Identity` column. |
43
-
|`Test-Path "$releaseRoot\src\ShareSurfer\ShareSurfer.psd1"` returns `False`| The release ZIP may have been extracted into a doubled folder such as `C:\ShareSurfer-0.1.0-pre.34\ShareSurfer-0.1.0-pre.34`. | Move the inner release folder up one level, or extract the ZIP again to `C:\` so `$releaseRoot` points at `C:\ShareSurfer-0.1.0-pre.34`. |
43
+
|`Test-Path "$releaseRoot\src\ShareSurfer\ShareSurfer.psd1"` returns `False`| The release ZIP may have been extracted into a doubled folder such as `C:\ShareSurfer-0.1.0-pre.35\ShareSurfer-0.1.0-pre.35`. | Move the inner release folder up one level, or extract the ZIP again to `C:\` so `$releaseRoot` points at `C:\ShareSurfer-0.1.0-pre.35`. |
44
44
| WinRM or CIM cannot connect | The target does not allow the remote management route used for share metadata and share permissions. | ShareSurfer tries native SMB/RPC share-permission evidence when the target is a UNC share and `Get-SmbShareAccess` cannot return rows. If scanning by `-ComputerName` and `-ShareName`, you can also force `-SmbCollectionProvider NativeSmbRpc`. If native evidence still cannot prove share permissions, treat share-level data as partial and review `collection_errors.csv`. |
45
45
| SMB/RPC port checks pass but native security descriptor errors appear | The network route is open, but the collector account or SMB server did not return usable Windows owner, DACL, or share security descriptor evidence. | Review `NativeShareSecurityDescriptorUnavailable`, `NativeShareSecurityDescriptorParseFailed`, `NativeSecurityDescriptorReadFailed`, and `NativeSecurityDescriptorParseFailed` rows in `collection_errors.csv`. Confirm the account can read security details, try an elevated/admin token when allowed, and review Samba or appliance NT ACL compatibility when the target is not Windows. |
46
46
| Access denied, unauthorized operation, or path denied | The collector account cannot read part of the share, ACL, owner, security descriptor, or open-file provider. | Rerun from an elevated Windows PowerShell prompt when allowed. Confirm the account can read the path and security details with normal Windows tools. Review Diagnostics before treating the scan as complete. |
0 commit comments