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 (
Everyone
precisa 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 comcacls
na 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\Parameters
valueNullSessionShares
(REG_MULTI_SZ
) ... é um valor composto de vários valores. Emregedit
aparecerá como várias linhas. Uma linha adiciona o nome do compartilhamento. Ou seja se sua parcela for\readyshare\USB_Storage
do cliente, o nome do compartilhamento seráUSB_Storage
. Depois disso, executenet stop lanmanserver
seguido pornet start lanmanserver
(esse serviço é chamadoServer
em 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\LSA
valueRestrictAnonymous
(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).