Добавить пользовательский доступ к общей папке на удаленном компьютере
Моя цель - добавить пользователей в общую папку на удаленном сервере. Я знаю, что команда netshare может использоваться для добавления пользователей в локальную папку.
net share PathName=D:/Projects /GRANT:XXXX,FULL
Когда я запускаю вышеупомянутую команду на локальной машине, она работает нормально.
Так как общая папка присутствует на удаленном сервере, я попробовал wmic и параметры psExec. Но оба не работали. Не уверен, что мне здесь не хватает
wmic /node:ComputerName process call create "cmd.exe net share PathName=D:/Projects /GRANT:XXXX,FULL"
а также
psExec \\ComputerName cmd.exe "net share PathName=D:/Projects /GRANT:XXXX,FULL"
1 ответ
Решение
Предполагая, что вы используете Windows 8 (Server 2012) или новее, используйте Grant-SmbShareAccess
Командлет и удаленный сеанс CIM:
$RemoteSession = New-CimSession -ComputerName RemoteComputerName
Grant-SmbShareAccess -Name ShareName -AccountName XXXX -AccessRights Full -CimSession $RemoteSession
На Windows 7 вы можете использовать Invoke-Command
запустить net share
команда на удаленной машине:
$RemoteSession = New-PSSession -ComputerName RemoteComputerName
Invoke-Command -Session $RemoteSession -ScriptBlock { net share PathName=D:/Projects /GRANT:XXXX,FULL }