Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Microsoft Visual C++ terjeszthető és Visual Studio C++ futtatókörnyezet (együttesen "VC Runtime") számos alkalmazás kritikus összetevői. Előfordulhat, hogy a hálózaton a gépek továbbra is futtatják azokat az alkalmazásokat, amelyek a VC futtatókörnyezet egy nem támogatott verzióját telepítik és használják. Az NTFS-fájlnaplózással azonosíthatja az ilyen használatot, mivel az alkalmazásokat a VC-futtatókörnyezet támogatott verzióját használó alkalmazásokra cseréli. Ez a cikk végigvezeti az NTFS-fájlok naplózásának beállításán, hibaelhárítási tippeket nyújt, és kiemeli a rendszeres naplózás előnyeit.
A már nem támogatott VC runtime-verziókról további információt Microsoft Visual C++ terjeszthető legújabb támogatott letöltésekcímű témakörben talál.
NTFS-fájl naplózásának engedélyezése a VC-futtatókörnyezet használatának meghatározásához
Ez a cikk az NTFS-fájlok manuális naplózásának engedélyezését és a naplózási események áttekintését ismerteti annak megállapításához, hogy mely alkalmazások hívják meg a VC-futtatókörnyezet nem támogatott verzióit. Mivel egy alkalmazás több fájlt is használhat, ez a cikk azt is bemutatja, hogyan frissítheti a naplózási engedélyeket a PowerShell és a parancsmagok használatával. A fájlok naplózási házirendjeinek konfigurálásáról további információt Alapvető naplózási szabályzat alkalmazása fájlra vagy mappáracímű témakörben talál.
Objektumhozzáférés-naplózás manuális engedélyezése a rendszeren
A fájlszintű naplózás engedélyezése előtt engedélyezni kell az objektumhozzáférést:
- Válassza a Windows+R lehetőséget a Run párbeszédpanel megnyitásához. Ezután adja meg és válassza az Enter billentyűt a Helyi csoportházirend-szerkesztő megnyitásához.
- Lépjen a Computer Configuration>Windows Settings>Security Settings>Speciális auditeszköz konfiguráció>Rendszerauditálási szabályzatok>Objekthozzáférés.
- Kattintson duplán a Audit Fájlrendszerelemre. A Fájlrendszer tulajdonságai párbeszédpanelen válassza a A következő audit események konfigurálásaSikeresOK.
- Zárja be a Helyi Csoportházirend szerkesztőt.
Másik lehetőségként engedélyezheti az objektumhozzáférést:
- A parancssorból listázhatja az aktuális beállításokat a használatával.
- Objektumhozzáférés engedélyezése .
Fájl naplózásának manuális engedélyezése
Ha ellenőrizni szeretné, hogy melyik folyamat fér hozzá egy VC-futtatókörnyezeti fájlhoz, engedélyezze a naplózást a VC-futtatókörnyezetfájlon:
- Kattintson a jobb gombbal a naplózni kívánt fájlra, válassza a Tulajdonságoklehetőséget, majd válassza a Biztonsági lapot. A telepített VC-futtatókörnyezeti fájlok kereséséről további információt VC Futtatókörnyezet telepített helyeicímű témakörben talál.
- Válassza Speciálislehetőséget.
- A Speciális biztonsági beállítások párbeszédpanelen válassza a Naplózás lapot, majd a Folytatás lehetőséget.
- Új naplózási szabály hozzáadásához válassza a hozzáadása lehetőséget. A Naplózási bejegyzés párbeszédpanelen válasszon ki egy szerepkört, majd adja meg a hozzáadni kívánt felhasználó vagy csoport nevét, például (Mindenki). Ezután válassza OKlehetőséget.
- A Típus mezőben győződjön meg arról, hogy a sikeresség ki van jelölve.
- Válassza az Előzetes engedélyek megjelenítéseAz összesTraverse mappa törlése/fájl végrehajtásaOK.
- Figyelje meg, hogy a naplózási bejegyzések egy új sora megegyezik a kiválasztottval. Válassza OKlehetőséget.
- A Tulajdonságok párbeszédpanelen válassza az OK gombot.
A naplózási szabály immár engedélyezve van a fájlra.
Naplók manuális áttekintése
Az NTFS-fájl naplózása a 4663-at generálja: Minden olyan fájl objektumának elérésére tett kísérlet történt , amely tartalmazza a naplózási engedélyt, és amelyet egy folyamat ér el.
- Válassza a Windows+R lehetőséget a Run párbeszédpanel megnyitásához. Ezután adja meg a
eventvwr.msc, majd válassza a Enter lehetőséget a eseménymegtekintő megnyitásához. - Nyissa meg a Security naplókat az eseménymegtekintő-ben úgy, hogy kibontja a Windows Naplók-ot, majd válassza a Security-t. Az eredmények panelen biztonsági események láthatók.
- Az audit események megkereséséhez válassza a Aktuális napló szűrése... lehetőséget a Műveletek panelen belül. Az eseményeket az eseményazonosító 4663-ra (a fájlrendszer kategóriájában elért sikeres naplózás) való szűkítéshez írja be a 4663-at az Eseményazonosítók be- és kizárás mezőbe.
A 4663-at tartalmazó fájlhozzáférési naplózási eseményhez lásd: 4663(S): Kísérlet történt egy objektum elérésére.
A PowerShell használata a VC futtatókörnyezet használatának naplózásához
A fájlnaplózási engedélyek PowerShell-lel való frissítéséhez kövesse az alábbi lépéseket:
- Adja meg a fájlokra alkalmazandó fájlrendszer-naplózási szabályt .
- Szerezd meg egy fájl biztonsági leíróját segítségével.
- Az auditszabály alkalmazása a biztonsági leíróra.
- Alkalmazza a frissített biztonsági leírást az eredeti fájlra .
- Fájlhozzáférési naplózási esemény 4663 rekordjainak megtekintése .
PowerShell: Nem támogatott VC futtatókörnyezeti fájlok ellenőrzése
Az alábbi PowerShell-kód lehetővé teszi a már nem támogatott telepített VC-futtatókörnyezeti fájlok naplózását.
function Get-AuditRuleForFile {
$auditRuleArguments = 'Everyone' <# identity #>,
'ExecuteFile, Traverse' <# fileSystemRights #>,
'Success' <# flags #>
$auditRule = New-Object System.Security.AccessControl.FileSystemAuditRule($auditRuleArguments)
return $auditRule
}
function Set-FileAuditRule {
param (
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[string]$file,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.Security.AccessControl.FileSystemAuditRule]$auditRule
)
$existingAcl = Get-Acl -Path $file
$existingAcl.AddAuditRule($auditRule) | Out-Null
Set-Acl -Path $file -AclObject $existingAcl
}
$newAuditRule = Get-AuditRuleForFile
# Visual Studio Redistributable for 2005 (VC++ 8.0) and 2008 (VC++ 9.0)
Get-ChildItem "$ENV:SystemRoot\WinSxS\Fusion" -filter '*.dll' -ErrorAction SilentlyContinue -Recurse |
Where-Object FullName -IMatch 'microsoft\.vc[89]0' |
ForEach-Object {
Set-FileAuditRule $_.FullName $newAuditRule
}
# Visual Studio Redistributable for 2010 (VC++ 10.0), 2012 (VC++ 11.0) and 2013 (VC++ 12.0)
$languageCodes = 'chs|cht|deu|enu|esn|fra|ita|jpn|kor|rus'
$versions = '(1[012]0)'
$regex = "^((atl|msvc[pr]|vcamp|vccorlib|vcomp)$versions|mfc$versions(u|$languageCodes)?|mfcm$versions(u)?)\.dll$"
Get-ChildItem "$ENV:SystemRoot\SysWOW64","$ENV:SystemRoot\System32" -filter '*.dll' |
Where-Object Name -imatch $regex |
ForEach-Object {
Set-FileAuditRule $_.FullName $newAuditRule
}
PowerShell: Fájlnaplózási események megtekintése
A PowerShell különböző eseménynaplók eseményrekordjait tartalmazza , ahogy az alábbi PowerShell-kód is mutatja, amely az elmúlt 24 órában az összes Fájlelérési naplózási esemény 4663 rekordot felsorolja:
function Get-AuditEntries {
param (
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.DateTime]$oldestTime
)
Get-WinEvent -FilterHashtable @{LogName='Security';Id=4663;StartTime=(Get-Date $oldestTime)} |
ForEach-Object {
$record = [ordered]@{}
$record['TimeCreated'] = $_.TimeCreated
$accessName = ($_.Message |
Select-String -Pattern "Accesses:[\t\s]+(?<Accesses>.+)").Matches.Groups[1]
([xml]$_.ToXML()).Event.EventData.ChildNodes |
ForEach-Object -Begin {
$record[$accessName.Name]=$accessName.Value.Trim()
} -Process {
$record[$_.Name] = $_.'#text'
}
[PSCustomObject]$record
} |
Where-Object { $_.ObjectName -imatch '\.dll$'}
}
Get-AuditEntries -oldestTime (Get-Date).AddHours(-24)
TimeCreated : 11/20/2024 5:00:11 AM
Accesses : Execute/Traverse
SubjectUserSid : \*\*\*\*\*
SubjectUserName : \*\*\*\*\*
SubjectDomainName : WORKGROUP
SubjectLogonId : \*\*\*\*\*
ObjectServer : Security
ObjectType : File
ObjectName : C:\\Windows\\WinSxS\\amd64\_microsoft.vc90.crt\_1fc8b3b9a1e18e3b\_9.0.30729.9635\_none\_08e2c157a83ed5da\\msvcr90.dll
HandleId : 0x93c
AccessList : %%4421
AccessMask : 0x20
ProcessId : 0x24d4
ProcessName : C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
ResourceAttributes : S:AI
Következő lépések a VC-futtatókörnyezet használatának naplózása után
Miután meghatározta, hogy mely folyamatok használják a VC futtatókörnyezet fájljait, vagy mely alkalmazások telepítették a Visual C++ terjeszthető fájlt, távolítsa el ezeket az alkalmazásokat, vagy frissítse őket újabb verziókra, amelyek nem függnek a nem támogatott VC-futtatókörnyezettől.
Egyes Microsoft-alkalmazásokhoz a VC-futtatókörnyezet régebbi verzióira van szükség. További információkért tekintse meg a Visual C++ terjeszthető és futtatókörnyezeti kódtárakra vonatkozó gyakori kérdéseket.
VC futtatókörnyezet telepítési helyei
Az alábbi táblázat felsorolja, hogy a VC-futtatókörnyezet egyes verziói hol vannak telepítve.
| Visual Studio verzió | Telepített helyek |
|---|---|
| Visual Studio 2013 (VC++ 12.0) | %SystemRoot%\\System32, %SystemRoot%\\SysWOW64 |
| Visual Studio 2012 (VC++ 11.0) | %SystemRoot%\\System32, %SystemRoot%\\SysWOW64 |
| Visual Studio 2010 (VC++ 10.0) | %SystemRoot%\\System32, %SystemRoot%\\SysWOW64 |
| Visual Studio 2008 (VC++ 9.0) | %SystemRoot%\\WinSxS\\Fusion |
| Visual Studio 2005 (VC++ 8.0) | %SystemRoot%\\WinSxS\\Fusion |
Kapcsolódó tartalom
- Visual C++ fájlok újraterjesztése
- A legújabb támogatott Visual C++ letöltések
- Életciklus – gyakori kérdések: Visual C++ terjeszthető és futtatókörnyezeti kódtárak
- C++ bináris kompatibilitás Visual Studio verziók között