Você quer acessar um compartilhamento em uma máquina XP Home pela rede, onde o cliente está sendo executado como um serviço no Windows XP Home ou no Windows 8?!
Há vários aspectos envolvidos nisso e você precisa ter todos deles certos. Supondo que seu serviço seja executado como SYSTEM (também conhecido como LocalSystem ), você precisará garantir o seguinte:
- o próprio compartilhamento precisa ter as permissões corretas (
Everyoneprecisa do conjunto de ACLs apropriado) - esse é um ponto de problema no Windows XP Home, pois ele não possui o editor de segurança (por outro lado isso significa que em circunstâncias normais você não conseguirá mexer com as permissões e os padrões podem funcionar) ... parece haver uma ferramenta específica do XP Home para atribuir permissões de compartilhamento . Você pode executá-lo comoshrpubw(presumivelmente para "compartilhar ... assistente"?). Veja este link . - a pasta que você compartilha também precisa das permissões apropriadas para
Everyone. - você pode fazer isso comcaclsna linha de comando - o mais importante em minha experiência é definir a política do computador corretamente. Infelizmente, é exatamente nesse ponto que você fica preso no XP Home, porque a MS intencionalmente enfraqueceu os recursos dessa edição do Windows.
- Uma configuração de diretiva afetando isso seria "Acesso à rede: compartilhamentos que podem ser acessados anonimamente" - que, eu acho que você pode definir manualmente no registro, manipulando
HKLM\System\CurrentControlSet\Services\LanmanServer\ParametersvalueNullSessionShares(REG_MULTI_SZ) ... é um valor composto de vários valores. Emregeditaparecerá como várias linhas. Uma linha adiciona o nome do compartilhamento. Ou seja se sua parcela for\readyshare\USB_Storagedo cliente, o nome do compartilhamento seráUSB_Storage. Depois disso, executenet stop lanmanserverseguido pornet start lanmanserver(esse serviço é chamadoServerem Gerenciamento do Computador / MMC) ... - Outra política afetada é "Acesso à rede: permitir que todas as pessoas se inscrevam em usuários anônimos" - este não tenho 100% de certeza, mas acho que se correlaciona com a configuração em
HKLM\SYSTEM\CurrentControlSet\Control\LSAvalueRestrictAnonymous(REG_DWORD, consulte este artigo da base de conhecimento ) que precisa ter o valor0(mas o padrão é1). Não tenho certeza se você pode evitar a reinicialização com essa configuração.
- Uma configuração de diretiva afetando isso seria "Acesso à rede: compartilhamentos que podem ser acessados anonimamente" - que, eu acho que você pode definir manualmente no registro, manipulando
E mais uma coisa, é bem possível que outro ingrediente esteja faltando. Mas isso funciona para um software que eu executei em algum momento que requer que isso seja configurado para o mecanismo de atualização na LAN funcionar.
Graças às instalações de bate-papo, descobrimos isso de forma interativa. Usar shrpubw (mencionado em uma edição no primeiro ponto acima) foi o seguinte.
No menu inicial, escolha "Executar"
... insira shrpubw e pressione ENTER.

Prossigaimediatamenteparaopróximopassonoassistente
...pulandoisso:
Aponte para a pasta apropriada para compartilhar e nomear o compartilhamento
Assim:

...econtinuecom"Próximo"
Selecione "Personalizado" para as permissões na próxima etapa
Aqui:

...depoisdeclicarnobotão"Personalizar", você verá isto:

...agora,certifique-sedeajustaraspermissõesconformenecessário.Aentidade"Todos" é geralmente o que você deseja ajustar. No XP Home deve implicar "ANONYMOUS LOGON", que é afetado pelas configurações apontadas na primeira parte desta resposta (ponto 3).
Salve as permissões e vá para a próxima etapa.
Termine o assistente
... assim:

...oucomecenovamenteparaadicionaroutrocompartilhamentomarcandoacaixadeseleçãoantesdeclicarnobotão.
OBSERVAÇÃO:émuitoprovávelqueasconfiguraçõesdepolíticamencionadasacimatambémoafetem(ponto3).Portanto,estaetapaprovavelmenteaindaénecessáriano"servidor" (que é a máquina que fornece o compartilhamento).

