2

Это каталог Temp для моей учетной записи пользователя:

C:\Users\John\AppData\Local\Temp

Существует ли каталог Temp, доступный для всех пользователей?

3 ответа3

3

В каталоге Windows есть временный каталог, т. %SYSTEMROOT%\Temp , но его использование не рекомендуется. Приложения должны использовать пользовательские временные каталоги.

Однако вы можете перенаправить временные каталоги пользователей, чтобы они могли указывать на один и тот же каталог, если это то, что вам нужно. Вы просто изменили бы их переменные окружения TMP и TEMP чтобы они указывали, где вы хотите. Убедитесь, что все затронутые пользователи могут писать в этот новый каталог.

0

Сам по себе каталог не Temp , но вы можете использовать %PUBLIC% AKA C:\Users\Public в качестве обходного пути.

Кроме того, C:\Users\All Users кажется, доступен для всех пользователей на машине.

из быстрого поиска:

Общая папка находится в папке «C:\Users\Public» во всех версиях Windows. Все учетные записи, зарегистрированные в Windows, имеют к нему доступ. Вот почему он называется Public. Любой файл и папка, найденные в «C:\Users\Public», полностью доступны для всех пользователей.

0

(Я использую powershell здесь!)

Обходной путь 1

Можно создать временную папку в общедоступной папке следующим образом:

## "$tmp":         thus you can use $tmp later on to reference it
## "-force":       does not complain if already existing
## " | out-null":  suppresses md standard output
PS C:\> $tmp = "$env:public\tmp" ; md -force $tmp | out-null

Это должно быть доступно всем пользователям.

Однако общая папка может быть доступна только для чтения, если настроена явно.

Обходной путь 2

Использование $env:windir\Temp или $env:systemroot\Temp (например, C:\Windows\Temp) кажется устаревшим и уродливым, но работает (например, в среде Win2012R2) с некоторыми дополнительными настройками ...

Вы не можете перечислить его прямой контент, который может быть неплохим, в зависимости от ваших потребностей:

PS C:\> cd $env:windir\temp
PS C:\Windows\Temp> ls
ls : Der Zugriff auf den Pfad "C:\Windows\temp" wurde verweigert.
In Zeile:1 Zeichen:1
+ ls
+ ~~
    + CategoryInfo          : PermissionDenied: (C:\Windows\temp:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand
PS C:\Windows\Temp> md test ; echo "test123" > test\test.txt

Verzeichnis: C:\Windows\temp\test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       28.09.2018     17:08             20 test.txt

Но другие пользователи не смогут видеть это нормально, если у них нет прав администратора:

## as other non-admin user:
PS C:\Windows\Temp> cd test
cd : Zugriff verweigert
In Zeile:1 Zeichen:1
+ cd test
+ ~~~~~~~~
    + CategoryInfo          : PermissionDenied: (C:\Windows\Temp\test:String) [Set-Location], UnauthorizedAccessException
    + FullyQualifiedErrorId : ItemExistsUnauthorizedAccessError,Microsoft.PowerShell.Commands.SetLocationCommand

cd : Der Pfad "C:\Windows\Temp\test" kann nicht gefunden werden, da er nicht vorhanden ist.
In Zeile:1 Zeichen:1
+ cd test
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Windows\Temp\test:String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

Для решения этой проблемы может потребоваться дополнительно изменить разрешения через Set-Acl

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .