I'd be interested, it may be something I have visit shortly for one of our contracts.
I currently have scripts running daily to export DNS zones and DFS links. Shares and perms were next on the list but never got around to it. Tony On 27 Mar 2014 18:29, "Kuhlman, Donald" <[email protected]> wrote: > Thanks much MBS and Kevin. > > > > I used the .ToString() and it's running! > > > > If anyone is interested I can share the final bits... > > > > Don > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Michael B. Smith > *Sent:* Tuesday, March 25, 2014 12:10 PM > *To:* [email protected] > *Subject:* [NTSysADM] RE: Powershell Tip using get-ace for a share > permission > > > > You need a .ToString() in there. > > > > $UniqueShare.AccessRights.ToString() > > > > *From:* [email protected] [ > mailto:[email protected] <[email protected]>] *On > Behalf Of *Kuhlman, Donald > *Sent:* Tuesday, March 25, 2014 1:01 PM > *To:* [email protected] > *Subject:* [NTSysADM] Powershell Tip using get-ace for a share permission > > > > · Hi folks. Long time no post...I'm on a new gig and re-subscribed > using the email address from here. > > · I can't find the Powershell info for the IT-Forum groups so I > didn't post there yet. I've been googling and checking other sources also, > but can't seem to get this to work with what I've found. > > · Anyway, I'm working on a script to pull a server inventory > including shares, share permissions, and other entries and any tip on what > may work better or instead of would be really appreciated. > > I'm able to retrieve the share and ace entries, but when I try to write > them to an excel sheet, they aren't coming over with the human readable > value like "Read and execute". I can output the info to the screen. I've > tried to use a Switch command like this but it doesn't work - > # Switch($UniqueShare.AccessRights) > # { > # 1179817 {$Sheet1.Cells.Item($intRowShare, 7) = "ReadAndExecute"} > # } > > Below is a code snip showing what I'm doing: > > $strComputer = read-host "Enter computer name " > $strComputerDelim = "\\" + $strComputer > $sharelist = get-wmiobject win32_share -ComputerName $strComputer > > foreach ($share in $sharelist) > { > $ShareAceName = $strComputerDelim + "\" + $share.Name > $ShareAceDetails = get-ace -path $ShareAceName > > foreach ($ShareAce in $ShareAceDetails) > { > foreach ($UniqueShare in $ShareAce) > { > #Populate Shares Sheet (This is only a code snippet) > write-host $UniqueShare.AccessRights > $Sheet1.Cells.Item($intRowShare, 7) = $UniqueShare.AccessRights > $Sheet1.Cells.Item($intRowShare, 8) = $ShareAceDetails.AccessControlType > > > $intRowShare = $intRowShare + 1 > } > } > > $intRowShare = $intRowShare + 1 > > } > > Results on screen are like this for the Permissions: > ReadAndExecute, Synchronize > FullControl > ReadAndExecute, Synchronize > ReadAndExecute, Synchronize > GenericExecute, GenericRead > ReadAndExecute, Synchronize > > Results in the sheet are like this: > Permission > 1179817 > > Thanks, > > Don K > > >

