https://drive.google.com/drive/folders/1l_mhE2aIQBXTqCheKYKusIw69FQrWrwm
Mematikan Windows 10/11 Dengan Registry Tanpa Tool
Copy Script dibawah ini lalu save as reg dan jalankan lalu akan pause sampai 2033, atau bisa di ganti sendiri ke tahun kapanpun
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UpdatePolicy\Settings]
"PausedFeatureStatus"=dword:00000000
"PausedQualityStatus"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings]
"FlightSettingsMaxPauseDays"=dword:00000e42
"PauseFeatureUpdatesStartTime"="2023-11-06T14:03:37Z"
"PauseFeatureUpdatesEndTime"="2033-10-31T14:03:37Z"
"PauseQualityUpdatesStartTime"="2023-11-06T14:03:37Z"
"PauseQualityUpdatesEndTime"="2033-10-31T14:03:37Z"
"PauseUpdatesStartTime"="2023-11-06T14:03:37Z"
"PauseUpdatesExpiryTime"="2033-10-31T14:03:37Z"
Windows 10 |
Mematikan Windows Update 10/11 Kill Services (Hard Block) - Menunda Windows Update untuk Windows 10/11 (Soft Block)
Tool ini untuk menunda update sampai ke tanggal tertentu (soft block), atau bisa untuk hard block update Jalankan saja tool dibawah ini
https://greatis.com/stopupdates10/
atau bisa pakai WUB jika memang benar2 mau kill tasknya (tapi biasanya ini ngefek ke aplikasi yang butuh update)
link Windows Update Blocker sordum.org/downloads/?st-windows-update-blocker
Membuat Windows Menjadi Lebih Cepat Dengan Sekali Klik (NTLite)
Langsung saja download toolnya dan jalankan https://www.ntlite.com/download/
ada tool lain juga seperti https://msmgtoolkit.in/
ada tool lain seperti https://github.com/LeDragoX/Win-Debloat-Tools
berfungsi menghilangkan bloatware dan sejenisnya
Install Windows 11 Tanpa Login Microsoft Account (Windows 11 24H2 Builds 26120 dan lebih baru)
Windows 11 Versi 24H2 mewajibkan untuk login ke Microsft Account, ini jadi menyusahkan para teknisi, ada 2 cara untuk bypass loginnnya
Gunakan RUFUS v4.4 atau lebih baru lalu jalankan seperti biasa, pilih usb drive yang mau dijadikan installer
Pilih ISO yang akan dijadikan installer
lalu tutup command prompt dan pilih I don't have Internet
Pilih Continue With Limited Setup seperti dibawah
muncul command prompt ketikkan OOBE\BYPASSNRO
Close command prompt dan lanjut ke step selanjutnya pilih region, keyboard, dll seperti biasa
Lalu akan masuk ke window seperti dibawah maka langkahnya berhasil, tinggal di isi seperti biasa dan selesai
Jika perlu membuat windows 11 ringan anda bisa memakai tools ntlite.com/download/
Jika masih tidak bisa silahkan komen dibawah, saya akan berikan solusi yang lain.
Stored Procedure to Insert or Update Header and Details Table in MySQL
If you need to handle multiple detail records for a single header record in your stored procedure, you can modify the procedure to accept a JSON array of detail records. This way, you can pass multiple details in a single call to the stored procedure.
### Updated Stored Procedure
Here’s how you can create a stored procedure that accepts multiple detail records in JSON format:
#### Table Structure Example
Assuming the same table structure as before:
```sql
CREATE TABLE header_table (
id INT AUTO_INCREMENT PRIMARY KEY,
header_info VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE detail_table (
id INT AUTO_INCREMENT PRIMARY KEY,
header_id INT,
detail_info VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (header_id) REFERENCES header_table(id)
);
```
#### Stored Procedure
Here’s the updated stored procedure:
```sql
DELIMITER //
CREATE PROCEDURE SaveOrUpdateHeaderDetail(
IN p_header_id INT,
IN p_header_info VARCHAR(255),
IN p_details JSON
)
BEGIN
DECLARE v_header_exists INT;
-- Check if the header exists
SELECT COUNT(*) INTO v_header_exists
FROM header_table
WHERE id = p_header_id;
-- If header exists, update it
IF v_header_exists > 0 THEN
UPDATE header_table
SET header_info = p_header_info,
created_at = NOW()
WHERE id = p_header_id;
-- If header does not exist, insert a new header
ELSE
INSERT INTO header_table (header_info)
VALUES (p_header_info);
-- Get the last inserted header ID
SET p_header_id = LAST_INSERT_ID();
END IF;
-- Clear existing details for the header
DELETE FROM detail_table WHERE header_id = p_header_id;
-- Insert new details from JSON
INSERT INTO detail_table (header_id, detail_info)
SELECT p_header_id, detail_info
FROM JSON_TABLE(p_details, '$[*]' COLUMNS (detail_info VARCHAR(255) PATH '$')) AS jt;
END //
DELIMITER ;
```
### Explanation
1. **Parameters**:
- `p_header_id`: The ID of the header to update or `NULL` for a new header.
- `p_header_info`: The information for the header.
- `p_details`: A JSON array containing detail records.
2. **Check for Header Existence**: The procedure checks if the header exists.
3. **Update or Insert Header**: If the header exists, it updates the header information; if not, it inserts a new header and retrieves the new `header_id`.
4. **Clear Existing Details**: Before inserting new details, it deletes any existing details associated with the `header_id`. This ensures that you only keep the latest details.
5. **Insert New Details**: It uses `JSON_TABLE` to extract detail information from the JSON array and insert it into the `detail_table`.
### Usage
You can call this stored procedure like this:
```sql
CALL SaveOrUpdateHeaderDetail(
NULL,
'New Header Info',
'["Detail 1", "Detail 2", "Detail 3"]'
);
```
Or to update an existing header with new details:
```sql
CALL SaveOrUpdateHeaderDetail(
1,
'Updated Header Info',
'["Updated Detail 1", "Updated Detail 2", "Updated Detail 3"]'
);
```
### Note
- Ensure that your MySQL version supports JSON functions (MySQL 5.7 and later).
- Adjust the data types and lengths according to your actual table definitions.
- If you want to keep existing details and just add new ones, you can modify the logic accordingly.
______________________________________________________________________
To create a stored procedure in MySQL that can save or update data in both a header table and a detail table, we first need to define the structure of the tables. Below is an example of how to create the tables, the stored procedure, and how to call it from PHP using PDO.
### Step 1: Create the Tables
```sql
CREATE TABLE header (
id INT AUTO_INCREMENT PRIMARY KEY,
header_info VARCHAR(255),
header_info2 VARCHAR(255),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
created_by VARCHAR(255),
modified_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
modified_by VARCHAR(255)
);
CREATE TABLE detail (
id INT AUTO_INCREMENT PRIMARY KEY,
header_id INT,
detail_info VARCHAR(255),
detail_info2 VARCHAR(255),
detail_info3 VARCHAR(255),
detail_info4 VARCHAR(255),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
modified_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (header_id) REFERENCES header(id) ON DELETE CASCADE
);
```
### Step 2: Create the Stored Procedure
```sql
DELIMITER //
CREATE PROCEDURE SaveOrUpdateHeaderAndDetails(
IN p_id INT,
IN p_header_info VARCHAR(255),
IN p_header_info2 VARCHAR(255),
IN p_created_by VARCHAR(255),
IN p_modified_by VARCHAR(255),
IN p_details JSON
)
BEGIN
DECLARE v_header_id INT;
-- Check if the header exists
IF p_id IS NULL THEN
-- Insert new header
INSERT INTO header (header_info, header_info2, created_by, modified_by)
VALUES (p_header_info, p_header_info2, p_created_by, p_modified_by);
SET v_header_id = LAST_INSERT_ID();
ELSE
-- Update existing header
UPDATE header
SET header_info = p_header_info,
header_info2 = p_header_info2,
modified_by = p_modified_by
WHERE id = p_id;
SET v_header_id = p_id;
END IF;
-- Clear existing details for the header
DELETE FROM detail WHERE header_id = v_header_id;
-- Insert new details
SET @json = p_details;
INSERT INTO detail (header_id, detail_info, detail_info2, detail_info3, detail_info4)
SELECT v_header_id, detail_info, detail_info2, detail_info3, detail_info4
FROM JSON_TABLE(@json, '$[*]'
COLUMNS (
detail_info VARCHAR(255) PATH '$.detail_info',
detail_info2 VARCHAR(255) PATH '$.detail_info2',
detail_info3 VARCHAR(255) PATH '$.detail_info3',
detail_info4 VARCHAR(255) PATH '$.detail_info4'
)
) AS details;
END //
DELIMITER ;
```
### Step 3: Example of Calling the Stored Procedure
You can call the stored procedure using the following SQL command:
```sql
CALL SaveOrUpdateHeaderAndDetails(
NULL, -- For new header, use NULL
'Header Info 1',
'Header Info 2',
'User 1',
'User 1',
'[{"detail_info": "Detail 1", "detail_info2": "Detail 2", "detail_info3": "Detail 3", "detail_info4": "Detail 4"}, {"detail_info": "Detail 5", "detail_info2": "Detail 6", "detail_info3": "Detail 7", "detail_info4": "Detail 8"}]'
);
```
### Step 4: PHP Example Using PDO
Certainly! Below is a complete PHP example that demonstrates how to use PDO to call the stored procedure we created earlier. This example includes error handling and assumes you have already set up your MySQL database and tables as described.
### PHP Example to Call the Stored Procedure
```php
<?php
// Database connection parameters
$host = 'localhost'; // Change if necessary
$db = 'your_database'; // Replace with your database name
$user = 'your_username'; // Replace with your database username
$pass = 'your_password'; // Replace with your database password
$charset = 'utf8mb4';
// Set up the Data Source Name (DSN)
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
// Create a new PDO instance
$pdo = new PDO($dsn, $user, $pass, $options);
// Prepare the JSON data for details
$details = json_encode([
['detail_info' => 'Detail 1', 'detail_info2' => 'Detail 2', 'detail_info3' => 'Detail 3', 'detail_info4' => 'Detail 4'],
['detail_info' => 'Detail 5', 'detail_info2' => 'Detail 6', 'detail_info3' => 'Detail 7', 'detail_info4' => 'Detail 8']
]);
// Prepare the stored procedure call
$stmt = $pdo->prepare("CALL SaveOrUpdateHeaderAndDetails(?, ?, ?, ?, ?, ?)");
// Bind parameters
$headerId = null; // Use null for a new header, or provide an existing ID to update
$headerInfo = 'Header Info 1';
$headerInfo2 = 'Header Info 2';
$createdBy = 'User 1';
$modifiedBy = 'User 1';
// Execute the stored procedure
$stmt->execute([$headerId, $headerInfo, $headerInfo2, $createdBy, $modifiedBy, $details]);
echo "Header and details saved/updated successfully.";
} catch (PDOException $e) {
// Handle any errors
echo "Error: " . $e->getMessage();
}
?>
```
### Explanation of the Code
1. **Database Connection**: The script starts by defining the database connection parameters and creating a new PDO instance to connect to the MySQL database.
2. **JSON Data Preparation**: The details for the detail table are prepared as a JSON string. This is necessary because the stored procedure expects a JSON input for the details.
3. **Stored Procedure Call**: The script prepares a statement to call the stored procedure `SaveOrUpdateHeaderAndDetails`. It binds the parameters, including the header ID (which is `null` for a new header), header information, created and modified by fields, and the JSON string for details.
4. **Execution**: The stored procedure is executed with the provided parameters. If successful, a success message is displayed.
5. **Error Handling**: If there is an error during the execution, it is caught and displayed.
### Usage
- Make sure to replace the database connection parameters (`$host`, `$db`, `$user`, `$pass`) with your actual database credentials.
- You can change the `$headerId` variable to an existing header ID if you want to update an existing record instead of creating a new one.
- Save this script as a `.php` file and run it on a server with PHP and MySQL support.
This example should give you a good starting point for using stored procedures with PDO in PHP.
link to gist
https://gist.github.com/ifirdausku/503dec090b2edf54b859f61890ac3d34
https://gist.github.com/ifirdausku/964fc9c105e382496fc570e6bae77785
blackbox ai with my prompt, (try it first)
Cara Mengatasi You can't access this shared folder because your organization's security policies di Windows 11/10
Background:
Microsoft has been progressively increasing the security measures in Windows, and disabling insecure guest logins is one of those steps. Insecure guest logins can pose a significant security risk because they allow access to network shares without requiring a username or password. This change aligns with the security enhancements seen in Windows Enterprise editions.
Your Situation:
After updating to Windows 11 24H2, you found that connecting to network shares without requiring a login (everyone access, password protected sharing turned off) no longer works. Shares with a password and those configured in group policy to allow insecure guest logins function correctly.
Explanation:
Based on the behavior you described, it seems Microsoft is indeed defaulting insecure guest logins to disabled in Windows 11 24H2. This change would enhance security by preventing anonymous access to network shares.
Steps to Address the Issue:
1. Enable Insecure Guest Logins via Group Policy:
- Press **Win + R**, type `gpedit.msc`, and press Enter to open the Group Policy Editor.
- Navigate to **Computer Configuration** > **Administrative Templates** > **Network** > **Lanman Workstation**.
- Double-click **Enable insecure guest logons** and set it to **Enabled**.
- Apply the changes and restart your computer.
2. Enable Insecure Guest Logins via Registry Editor:
- Press **Win + R**, type `regedit`, and press Enter to open the Registry Editor.
- Navigate to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters`.
- If the `AllowInsecureGuestAuth` entry does not exist, right-click and select **New** > **DWORD (32-bit) Value**, and name it `AllowInsecureGuestAuth`.
- Set the value of `AllowInsecureGuestAuth` to `1`.
- Close the Registry Editor and restart your computer.
3. Consider Alternative Security Measures:
- Instead of enabling insecure guest logins, consider setting up password-protected sharing for better security.
- Ensure that all users have appropriate permissions to access the necessary shares.
source https://answers.microsoft.com/en-us/windowsclient/forum/all/windows-11-24h2-and-insecure-guest-logins-settings/20502d71-4324-44a3-8ec2-40d8b778a523