Это каталог Temp для моей учетной записи пользователя:
C:\Users\John\AppData\Local\Temp
Существует ли каталог Temp, доступный для всех пользователей?
В каталоге Windows есть временный каталог, т. %SYSTEMROOT%\Temp
, но его использование не рекомендуется. Приложения должны использовать пользовательские временные каталоги.
Однако вы можете перенаправить временные каталоги пользователей, чтобы они могли указывать на один и тот же каталог, если это то, что вам нужно. Вы просто изменили бы их переменные окружения TMP
и TEMP
чтобы они указывали, где вы хотите. Убедитесь, что все затронутые пользователи могут писать в этот новый каталог.
Сам по себе каталог не Temp , но вы можете использовать %PUBLIC%
AKA C:\Users\Public
в качестве обходного пути.
Кроме того, C:\Users\All Users
кажется, доступен для всех пользователей на машине.
из быстрого поиска:
Общая папка находится в папке «C:\Users\Public» во всех версиях Windows. Все учетные записи, зарегистрированные в Windows, имеют к нему доступ. Вот почему он называется Public. Любой файл и папка, найденные в «C:\Users\Public», полностью доступны для всех пользователей.
(Я использую powershell
здесь!)
Можно создать временную папку в общедоступной папке следующим образом:
## "$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
Это должно быть доступно всем пользователям.
Однако общая папка может быть доступна только для чтения, если настроена явно.
Использование $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