Tweaking Login VBScript


Recommended Posts

My first post in a while :D

This login script example should help (comes from the Help for Server 2003)

The following example logon script contains VBScript commands that use Active Directory Service Interfaces (ADSI) to perform three common tasks based on a user's group membership:

It maps the H: drive to the home directory of the user by calling the WSH Network object's MapNetworkDrive method in combination with the WSH Network object's UserName property.

It uses the ADSI IADsADSystemInfo object to obtain the current user's distinguished name, which in turn is used to connect to the corresponding user object in Active Directory. Once the connection is established, the list of groups the user is a member of is retrieved by using the user's memberOf attribute. The multivalued list of group names is joined into a single string by using VBScript's Join function to make it easier to search for target group names.

If the current user is a member of one of the three groups defined at the top of the script, then the script maps the user's G: drive to the group shared drive, and sets the user's default printer to be the group printer.

To create an example logon script

Open Notepad.

Copy and paste, or type, the following:

Const ENGINEERING_GROUP = "cn=engineering"

Const FINANCE_GROUP = "cn=finance"

Const HUMAN_RESOURCES_GROUP = "cn=human resources"

Set wshNetwork = CreateObject("WScript.Network")

wshNetwork.MapNetworkDrive "h:", "\\FileServer\Users\" & wshNetwork.UserName

Set ADSysInfo = CreateObject("ADSystemInfo")

Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)

strGroups = LCase(Join(CurrentUser.MemberOf))

If InStr(strGroups, ENGINEERING_GROUP) Then

wshNetwork.MapNetworkDrive "g:", "\\FileServer\Engineering\"

wshNetwork.AddWindowsPrinterConnection "\\PrintServer\EngLaser"

wshNetwork.AddWindowsPrinterConnection "\\PrintServer\Plotter"

wshNetWork.SetDefaultPrinter "\\PrintServer\EngLaser"

ElseIf InStr(strGroups, FINANCE_GROUP) Then

wshNetwork.MapNetworkDrive "g:", "\\FileServer\Finance\"

wshNetwork.AddWindowsPrinterConnection "\\PrintServer\FinLaser"

wshNetWork.SetDefaultPrinter "\\PrintServer\FinLaser"

ElseIf InStr(strGroups, HUMAN_RESOURCES_GROUP) Then

wshNetwork.MapNetworkDrive "g:", "\\FileServer\Human Resources\"

wshNetwork.AddWindowsPrinterConnection "\\PrintServer\HrLaser"

wshNetWork.SetDefaultPrinter "\\PrintServer\HrLaser"

End If

On the File menu, click Save As.

In Save in, click the directory that corresponds to the domain controller's Netlogon shared folder (usually SystemRoot\SYSVOL\Sysvol\DomainName\Scripts where DomainName is the domain's fully qualified domain name).

In Save as type, click All Files.

In File name, type a file name, followed by .vbs, and then click Save. WSH uses the .vbs extension to identify files that contain VBScript commands.

Yeah, but that script is based on the user's group, not the workstation.

I figured it out, actually, since I originally posted, but now I need to code a check so that if the printer has already been mapped it doesn't do it a second time.

Here is my entire script *NOTE: the Sub AddPrinter is not being used:

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' File: SDX-GonzagaLogon.vbs

' Updated: June 3, 2005

' Version: 1.0

'

'

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

On Error Resume Next

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Define Variables and Constants

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim objFileSys

Dim objIntExplorer

Dim objWshNetwork

Dim objWshShell

Dim strComputerName

Dim strDomain 'Domain of the user

Dim strHomePage 'Homepage to be set for user

Dim strLogonPath 'Path to location from where the script is running

Dim strOSProdType 'OS Product type (WinNT, LanmanNT, ServerNT)

Dim strWorkstation 'Local Computer Name

Dim strUserGroups 'List of groups the user is a member of

Dim intCounter 'General counter

Const UseNTServer = 0 'Sets whether this script runs when logging on locally

'to Windows Servers.

'Values are: 1 (Yes) OR 0 (No)

WSHShell.Run "net time \\CANISIUS /set /yes", 0, false 'Synchronizes workstation time to

'specified Windows server.

strDomain = "GONZAGA"

strHomePage = "http://www.sodexhousa.com/defaulthome"

'Initialize common scripting objects

Set objFileSys = CreateObject( "Scripting.FileSystemObject" )

Set objWshNetwork = CreateObject( "WScript.Network" )

Set objWshShell = CreateObject( "WScript.Shell" )

'Pause script until user is fully logged on (applicable only to Win 9x or ME)

'This will timeout after 10 seconds

strUser = ""

intCounter = 0

Do

strUserID = objWshNetwork.Username

intCounter = intCounter + 1

Wscript.Sleep 500

Loop Until strUserID <> "" OR intCounter > 20

'Check for error getting username

If strUserID = "" Then

objWshShell.Popup "Logon script failed - Contact the Sodexho Helpdesk @ x 6934", , _

"Logon script", 48

Call Cleanup

End If

'Setup IE for use as a status message window

Call SetupIE

'Display welcome message

Call UserPrompt ("Welcome " & strUserID)

'Add horizontal line as a 'break'

objIntExplorer.Document.WriteLn("<hr style=""width:100%""></hr>")

'Gather some basic system info

Call GetSystemInfo

If IsTerminalServerSession <> True Then

'Exit if we are logging on locally to a server and the script is set to NOT run on servers

IF UseNTServer = 0 AND (strOSProdType = "LanmanNT" OR strOSProdType = "ServerNT") Then

objWshShell.Popup "Windows Server - Exiting Logon Script!", 10, _

"Logon to " & strDomain, 16

Call CleanUp

End if

End If

'Get group memberships

strUserGroups = ""

Call GetLocalGroupMembership

Call GetGlobalGroupMembership

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Part A

' This section performs actions based on computer name

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' A script to set up printers based on location.

'

strComputerName = objWshNetwork.ComputerName

If InStr(strComputerName, "SDX-FIN") > 0 Then

WshShell.Run "regsvr32 /s \\sdxgonzaga-app\apps\Prnadmin.dll",1,TRUE

'************** Create the port first *****************************

' Port types

const kTcpRaw = 1, kTcpLPr = 2, kLocal = 3, kLocalDownLevel = 4, kLprMon = 5, kHPdlc = 7

dim oPort

dim oMaster

set oPort = CreateObject("Port.Port.1")

set oMaster = CreateObject("PrintMaster.PrintMaster.1")

oPort.PortName = "IP_147.222.41.93"

oPort.PortType = kTcpRaw

oPort.HostAddress = "147.222.41.93"

oPort.PortNumber = "9100"

oMaster.PortAdd oPort

'********************************************************************

'************** Create the printer second ***************************

' Change MyPrinter to the name of the printer that you are adding.

' Change PrinterDriver to the name of the printer driver that you are adding.

dim oPrinter

set oPrinter = CreateObject("Printer.Printer.1")

oPrinter.PrinterName = "SDX-Imagistics4510"

oPrinter.DriverName = "Imagistics im4510 PCL6"

oPrinter.PortName = "IP_147.222.41.93"

oMaster.PrinterAdd oPrinter

'********************************************************************

objWshNetwork.AddWindowsPrinterConnection "\\SDX-PRINTSRV1\SDX-Imagistics4510"

End If

'

' If in library then add library printers

'

'If InStr(strComputerName, "LIBRARY") > 1 Then

' oNet.AddWindowsPrinterConnection "\\MainServer\LibaryHP"

' oNet.AddWindowsPrinterConnection "\\MainServer\LibaryColor"

'End If

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Part B

' This section performs actions based on group membership

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

If InGroup("sdx-administrators") then

'MapDrive "I:", "SDXGONZAGA-APP", "Financial"

MapDrive "M:", "SDXGONZAGA-APP", "Managers"

MapDrive "S:", "SDXGONZAGA-APP", "TrakCash"

End IF

If InGroup("sdx-managers") then

MapDrive "I:", "SDXGONZAGA-APP", "Financial"

MapDrive "M:", "SDXGONZAGA-APP", "Managers"

End IF

If InGroup("sdx-finance-user") then

MapDrive "I:", "SDXGONZAGA-APP", "Financial"

End IF

If InGroup("sdx-trakcash") then

MapDrive "S:", "SDXGONZAGA-APP", "TrakCash"

End IF

If InGroup("sdx-sodexho") then

MapDrive "P:", "SDXGONZAGA-APP", "Public Files"

End IF

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' End section

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Set default homepage

If strHomePage <> "" Then

Err.Clear

objWshShell.RegWrite _

"HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", strHomePage

If Err = 0 Then Call UserPrompt ("Set Internet Home Page to Sodexho Website")

End If

'Set default search page

objWshShell.RegWrite _

"HKCU\Software\Microsoft\Internet Explorer\Main\Search Page", "http://www.google.com"

Call UserPrompt ("Set Internet Search Page to Google")

objWshShell.RegWrite _

"HKCU\Software\Microsoft\Internet Explorer\Main\Search Bar", _

"http://g.msn.com/0SEENUS/SAOS01"

Call UserPrompt ("Set Internet Search Bar to MSN Search")

objWshShell.RegWrite _

"HKCU\Software\Microsoft\Internet Explorer\Main\Window Title", ""

'Change Theme to Classic

'objWshShell.RegWrite _

' "HKCU\Software\Microsoft\Windows\CurrentVersion\ThemeManager\ThemeActive", "0"

'objWshShell.RegWrite _

' "HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\DefaultVisualStyleOff '\InstallVisualStyle", ""

'objWshShell.RegWrite _

'"HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\DefaultVisualStyleOff\InstallVisual'StyleColor", "Windows Standard"

'objWshShell.RegWrite _

' '"HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\DefaultVisualStyleOff\InstallVisual'StyleSize", "Normal"

'objWshShell.RegWrite _

' "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal", '"U:\My Documents"

'Call UserPrompt ("Mapping My Documents to Personal Drive")

'Add horizontal line as a 'break'

objIntExplorer.Document.WriteLn("<hr style=""width:100%""></hr>")

'Inform user that logon process is done

Call UserPrompt ("Finished network logon processes")

'Wait 10 seconds

Wscript.Sleep (10000)

'Close Internet Explorer

objIntExplorer.Quit()

Call Cleanup

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: AddPrinter

'

' Purpose: Connect to shared network printer

'

' Input:

' strPrtServerDomain Domain in which print server is a member

' strPrtServer Name of print server

' strPrtShare Share name of printer

'

' Output:

'

' Usage:

' Call AddPrinter ("Mydomain2", "MyPrtSvr2", "Bld1Rm101-HP4050")

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub AddPrinter(strPrtServerDomain, strPrtServer, strPrtShare)

On Error Resume Next

Dim strPrtPath 'Full path to printer share

Dim objPrinter 'Object reference to printer

Dim strMsg 'Message output to user

Dim blnError 'True / False error condition

blnError = False

'Build path to printer share

strPrtPath = "\\" & strPrtServer & "\" & strPrtShare

'Test to see if shared printer exists.

'Proceed if yes, set error condition msg if no.

Set objPrinter = GetObject _

("WinNT://" & strPrtServerDomain & "/" & strPrtServer & "/" & strPrtShare)

If IsObject( objPrinter ) AND _

(objPrinter.Name <> "" AND objPrinter.Class = "PrintQueue") Then

'Different mapping techniques depending on OS version

If objWshShell.ExpandEnvironmentStrings( "%OS%" ) = "Windows_NT" Then

Err.Clear

'Map printer

objWshNetwork.AddWindowsPrinterConnection strPrtPath

Else

'Mapping printers for Win9x & ME is a pain and unreliable.

End If

Else

blnError = True

End IF

'Check error condition and output appropriate user message

If Err <> 0 OR blnError = True Then

strMsg = "Unable to connect to network printer. " & vbCrLf & _

"Please contact the Helpdesk @ ext 345" & vbCrLf & _

"and ask them to check the " & strPrtServer & " server." & _

vbCrLf & vbCrLf & _

"Let them know that you are unable to connect to the '" _

& strPrtShare & "' printer"

objWshShell.Popup strMsg,, "Logon Error !", 48

Else

Call UserPrompt ("Successfully added printer connection to " & strPrtPath)

End If

Set objPrinter = Nothing

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: MapDrive

'

' Purpose: Map a drive to a shared folder

'

' Input:

' strDrive Drive letter to which share is mapped

' strServer Name of server that hosts the share

' strShare Share name

'

' Output:

'

' Usage:

' Call MapDrive ("X:", "StaffSvr1", "StaffShare1")

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub MapDrive( strDrive, strServer, strShare )

On Error Resume Next

Dim strPath 'Full path to printer share

Dim blnError 'True / False error condition

blnError = False

'Disconnect Drive if drive letter is already mapped.

'This assures everyone has the same drive mappings

If objFileSys.DriveExists(strDrive) = True Then

objWshNetwork.RemoveNetworkDrive strDrive, , True

End If

'Build path to share

strPath = "\\" & strServer & "\" & strShare

'Test to see if share exists. Proceed if yes, set error condition if no.

If objFileSys.DriveExists(strPath) = True Then

Err.Clear

objWshNetwork.MapNetworkDrive strDrive, strPath

Else

blnError = True

End If

'Check error condition and output appropriate user message

If Err.Number <> 0 OR blnError = True Then

'Display message box informing user that the connection failed

strMsg = "Unable to connect to network share. " & vbCrLf & _

"Please contact the Helpdesk @ x6934 and ask them " & _

"to check the " & strServer & " server." & vbCrLf & _

"Let them know that you are unable to connect to the " & _

"'" & strPath & "' share"

objWshShell.Popup strMsg,, "Logon Error !", 48

Else

Call UserPrompt ("Successfully added mapped drive connection to " & strPath)

End If

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: GetLocalGroupMembership

'

' Purpose: Gather all local groups the current user belongs to

'

' Input:

'

' Output: Local group names are added to strUserGroups

'

' Usage: Call GetLocalGroupMembership

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub GetLocalGroupMembership

On Error Resume Next

Dim colGroups 'Collection of groups on the local system

Dim objGroup 'Object reference to individual groups

Dim objUser 'Object reference to individual group member

'Verify system is not Windows 9x or ME

If objWshShell.ExpandEnvironmentStrings( "%OS%" ) = "Windows_NT" Then

'Connect to local system

Set colGroups = GetObject( "WinNT://" & strWorkstation )

colGroups.Filter = Array( "group" )

'Process each group

For Each objGroup In colGroups

'Process each user in group

For Each objUser in objGroup.Members

'Check if current user belongs to group being processed

If LCase( objUser.Name ) = LCase( strUserID ) Then

'Add group name to list

strUserGroups = strUserGroups & objGroup.Name & ","

End If

Next

Next

Set colGroups = Nothing

End If

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: GetGlobalGroupMembership

'

' Purpose: Gather all global groups the current user belongs to

'

' Input:

'

' Output: Global group names are added to strUserGroups

'

' Usage: Call GetGlobalGroupMembership

'

' Notes: Use WinNT connection method to be backwards

' compatible with NT 4 domains

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub GetGlobalGroupMembership

On Error Resume Next

Dim objNameSpace

Dim objUser

Const ADS_READONLY_SERVER = 4

Set objNameSpace = GetObject( "WinNT:" )

'Use the OpenDSObject method with the ADS_READONLY_SERVER

'value to grab the "closest" domain controller

'Connect to user object in the domain

Set objUser = objNameSpace.OpenDSObject( _

"WinNT://" & strDomain & "/" & strUserID, "", "", ADS_READONLY_SERVER)

'Process each group

For Each objGroup In objUser.Groups

'Add group name to list

strUserGroups = strUserGroups & objGroup.Name & ","

Next

Set objNameSpace = Nothing

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Function: InGroup

'

' Purpose: Determine if user belongs to specified group

'

' Input: Name of group to test for membership

'

' Output: True or False

'

' Usage: If InGroup("Domain Admins") Then <do something>

'

' Requirements:

' strUserGroups must have been previously populated via

' GetLocalGroupMembership and/or GetGlobalGroupMembership

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Function InGroup(strGroup)

On Error Resume Next

InGroup = False

'Search strUserGroups for strGroup

If Instr( 1, LCase( strUserGroups ), LCase( strGroup ), 1) Then InGroup = True

End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: GetSystemInfo

'

' Purpose: Gather basic info about local system

'

' Input:

'

' Output: strDomain, strOSProdType, strWorkstation, strLogonPath

'

' Usage: Call GetSystemInfo

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub GetSystemInfo

On Error Resume Next

'Get domain name

If objWshShell.ExpandEnvironmentStrings( "%OS%" ) = "Windows_NT" Then

strDomain = objWshNetwork.UserDomain

Else

strDomain = objWshShell.RegRead( "HKLM\System\CurrentControlSet\" & _

"Services\MSNP32\NetWorkProvider\AuthenticatingAgent" )

End If

'Get Product Type from registry (WinNT, LanmanNT, ServerNT)

strOSProdType = objWshShell.RegRead( _

"HKLM\System\CurrentControlSet\Control\ProductOptions\ProductType")

'Get computer name

If IsTerminalServerSession = True Then

'Set strWorkstation to the real name and not the name of the server

strWorkstation = objWshShell.ExpandEnvironmentStrings( "%CLIENTNAME%" )

Else

strWorkstation = objWshNetwork.ComputerName

End If

'Get the path to the location from where the script is running

strLogonPath = Left( Wscript.ScriptFullName, _

( InstrRev( Wscript.ScriptFullName, "\") -1))

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Function: IsTerminalServer

'

' Purpose: Determine if the script is running in a terminal server session

'

' Input:

'

' Output:

' True if running in a terminal server session

' False if not running in a terminal server session

' Usage:

' If IsTerminalServerSession = True Then <Do Something>

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Function IsTerminalServerSession

On Error Resume Next

Dim strName

'Detect if this is a terminal server session

'If it is, set some names to the terminal server client name

strName = objWshShell.ExpandEnvironmentStrings( "%CLIENTNAME%" )

If strName <> "%CLIENTNAME%" AND strName <> "" Then _

IsTerminalServerSession = True

End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: SetupIE

'

' Purpose: Setup Internet Explorer for use as a status message window

'

' Input:

'

' Output:

'

' Usage: Call SetupIE

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub SetupIE

On Error Resume Next

Dim strTitle 'Title of IE window

Dim intCount 'Counter used during AppActivate

strTitle = "Welcome to the NEW Sodexho Logon Script!"

'Create reference to objIntExplorer

'This will be used for the user messages. Also set IE display attributes

Set objIntExplorer = Wscript.CreateObject("InternetExplorer.Application")

With objIntExplorer

.Navigate "about:blank"

.ToolBar = 0

.Menubar = 0

.StatusBar = 0

.Width = 600

.Height = 350

.Left = 100

.Top = 100

End With

'Set some formating

With objIntExplorer.Document

.WriteLn ("<!doctype html public>")

.WriteLn ("<head>")

.WriteLn ("<title>" & strTitle & "</title>")

.WriteLn ("<style type=""text/css"">")

.WriteLn ("body {text-align: left; font-family: arial; font-size: 10pt}")

.WriteLn ("</style>")

.WriteLn ("</head>")

End With

'Wait for IE to finish

Do While (objIntExplorer.Busy)

Wscript.Sleep 200

Loop

'Show IE

objIntExplorer.Visible = 1

'Make IE the active window

For intCount = 1 To 100

If objWshShell.AppActivate(strTitle) Then Exit For

WScript.Sleep 50

Next

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: UserPrompt

'

' Purpose: Use Internet Explorer as a status message window

'

' Input: strPrompt

'

' Output: Output is sent to the open Internet Explorer window

'

' Usage:

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Private Sub UserPrompt( strPrompt )

On Error Resume Next

objIntExplorer.Document.WriteLn (strPrompt & "<br />")

End Sub

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'

' Sub: Cleanup

'

' Purpose: Release common objects and exit script

'

' Input:

'

' Output:

'

' Usage: Call Cleanup

'

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Cleanup

On Error Resume Next

Set objFileSys = Nothing

Set objWshNetwork = Nothing

Set objWshShell = Nothing

Set objIntExplorer = Nothing

'Exit script

Wscript.Quit()

End Sub

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • let's be honest here, it was in the line of secret doxing app
    • Dating safety app Tea spills private chats in new leak by Usama Jawad Tea is (was?) an extremely popular "dating safety" app designed for women who typically uploaded pictures of men they have dated, recounting their experience, and highlighting red flags. The app maintains exclusivity to women by requiring all its users to submit a selfie and government identification during the sign-up process. It was the target of a major breach a couple of days ago due to a Firebase bucket being left publicly exposed, leaking the identification data and other sensitive information for thousands of users. Now, the app has been struck with a second cybersecurity incident and it is arguably bigger than the first. 404 Media reports that a second database has leaked and it contains about 1.1 million chat messages discussing some sensitive topics that people likely wouldn't want to make public. These include topics like cheating partners, abortions, and unfaithful boyfriends. The messages span from 2023 to last week, but the impact and scope of the leak is unclear. The person who did discover the database noted that practically any user could access the repository using their own API key. In a statement to Bleeping Computer, Tea has confirmed the second breach too, noting that "some" direct messages (DMs) have been exposed. The company has decommissioned the affected system for now, but claims that other infrastructure remains unaffected. It has emphasized that it will invest efforts in the coming days to improve its cybersecurity posture, but did not share any further details at this time. The service will also be reaching out to its affected customers and offer them free identity protection services as a sort of an apology. These cybersecurity incidents further highlight the need to be vigilant when sharing identifiable information online, especially with apps which are very new to the market and have not yet matured. Security researchers and analysts have cautioned the public that it is very possible to locate social media profiles of Tea users due to all the data that has been leaked.
    • 26200.5722 is the first available 25H2 build from the ge_release_svc_betaflt branch (25H2's previous branch was the "ge_prerelease_im" branch). The 26200.5722 release also removes the "Insider Preview" references in the system area. These significant changes usually indicates that the public release of 25H2 will be ready within 6 weeks to 2 months.
    • Microsoft: Windows Autopatch is the safest way to upgrade enterprise PCs to Windows 11 by Usama Jawad A few hours ago, Microsoft published a guide for IT admins explaining how they can use Intune to upgrade Windows 10 devices to Windows 11, while also migrating from Active Directory (AD) to a cloud-native system like Entra ID. The company has also published a similar guide, but switched the tool to Windows Autopatch, claiming that it is the fastest and safest way for enterprise PCs to update to Windows 11. For those unaware, Windows Autopatch is a way to automate updates while empowering IT admins to ensure that endpoints are healthy and compliant through ring-based, staggered deployments. IT admins also have the ability to reverse updates easily if something does go wrong. In the current scenario of upgrading enterprise PCs to Windows 11 using Autopatch, Microsoft has outlined a four-step process. The first involves assessing Windows 11-readiness across your organization, assigning Entra ID groups to devices, and then mapping these groups to rollout rings in Autopatch. Next, IT admins should segment devices into Windows Autopatch groups, while also defining staggered rollout policies controlled through rollout rings. At a base level, there should be two groups: devices that meet the criteria of Windows 11 and should upgrade to it, and Windows 10 hardware that doesn't meet the criteria and should receive Extended Security Updates (ESUs). Devices should be spread in a logical manner across various rings, with each group having a dedicated update policy. The third step involves defining the speed of staggered update rollouts. This can be managed through the Intune admin center, which gives you control over sequencing, pace, and deferrals. Finally, IT admins should monitor the rollout of the Windows 11 update through the Windows Autopatch feature update reporting module. It contains the update status across devices, trendlines within historical views, and remediation guidance for errors. Microsoft believes that this combination of Windows Autopatch groups and Intune is the best way to upgrade to Windows 11, so IT admins should get started right away as support for Windows 10 is ending on October 14, 2025.
    • TDP of this CPU is 60 watts higher than Ryzen 7600. At s usage rate of four hours per day, at a cost of twelve cents per KWh, the Intel cost $10.51 more per year to use. I don't see a real advantage to Intel here.
  • Recent Achievements

    • Dedicated
      ataho31016 earned a badge
      Dedicated
    • First Post
      Gladiattore earned a badge
      First Post
    • Reacting Well
      Gladiattore earned a badge
      Reacting Well
    • Week One Done
      NeoWeen earned a badge
      Week One Done
    • One Month Later
      BA the Curmudgeon earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      652
    2. 2
      ATLien_0
      261
    3. 3
      Xenon
      165
    4. 4
      neufuse
      142
    5. 5
      +FloatingFatMan
      107
  • Tell a friend

    Love Neowin? Tell a friend!